<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>db/migrate/20090824025721_adjust_user_for_twitter_sign_in.rb</filename>
    </added>
    <added>
      <filename>lib/twitter/authentication_helpers.rb</filename>
    </added>
    <added>
      <filename>public/images/twitter_sign_in.png</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,12 +2,12 @@
 # Likewise, all the methods added will be available for all controllers.
 
 class ApplicationController &lt; ActionController::Base
-  layout :determine_layout
+  include Twitter::AuthenticationHelpers
   
-  include Clearance::App::Controllers::ApplicationController
+  layout :determine_layout
   helper :all
-  protect_from_forgery
   
+  protect_from_forgery
   filter_parameter_logging :password, :password_confirmation
   
   rescue_from Twitter::Unauthorized, :with =&gt; :initiate_oauth_request</diff>
      <filename>app/controllers/application_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,40 @@
 class SessionsController &lt; ApplicationController  
-  include Clearance::App::Controllers::SessionsController
+  def new
+  end
+  
+  def create
+    oauth = Twitter::OAuth.new(ConsumerConfig['token'], ConsumerConfig['secret'], :sign_in =&gt; true)
+    oauth.set_callback_url(finalize_session_url)
+    
+    session['rtoken'] = oauth.request_token.token
+    session['rsecret'] = oauth.request_token.secret
+    
+    redirect_to oauth.request_token.authorize_url
+  end
+  
+  def destroy
+    reset_session
+    redirect_to new_session_path
+  end
+  
+  def finalize
+    oauth = Twitter::OAuth.new(ConsumerConfig['token'], ConsumerConfig['secret'], :sign_in =&gt; true)
+    oauth.authorize_from_request(session['rtoken'], session['rsecret'], params[:oauth_verifier])
+    
+    session['rtoken'] = nil
+    session['rsecret'] = nil
+    
+    tweep = Twitter::Base.new(oauth).verify_credentials
+    logger.info &quot;\n\n&quot; + tweep.inspect + &quot;\n\n&quot;
+    
+    user = User.find_or_create_by_screen_name(tweep.screen_name)
+    
+    user.update_attributes({
+      :atoken =&gt; oauth.access_token.token, 
+      :asecret =&gt; oauth.access_token.secret,
+    })
+    
+    sign_in(user)
+    redirect_to root_path
+  end
 end</diff>
      <filename>app/controllers/sessions_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,19 @@
 # == Schema Information
-# Schema version: 20090404062822
 #
 # Table name: users
 #
-#  id                 :integer(4)      not null, primary key
-#  email              :string(255)
-#  encrypted_password :string(128)
-#  salt               :string(128)
-#  token              :string(128)
-#  token_expires_at   :datetime
-#  email_confirmed    :boolean(1)      not null
-#  atoken             :string(255)
-#  asecret            :string(255)
+#  id          :integer(4)      not null, primary key
+#  email       :string(255)
+#  atoken      :string(255)
+#  asecret     :string(255)
+#  screen_name :string(30)
 #
 
 class User &lt; ActiveRecord::Base
-  include Clearance::App::Models::User
-  
   attr_accessible :atoken, :asecret
   
   def authorized?
-    !atoken.blank? &amp;&amp; !asecret.blank?
+    atoken.present? &amp;&amp; asecret.present?
   end
   
   def oauth</diff>
      <filename>app/models/user.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,25 +1,8 @@
 &lt;div id=&quot;login&quot;&gt;
-  &lt;h2&gt;Sign in&lt;/h2&gt;
+  &lt;h2&gt;Sign In With Twitter&lt;/h2&gt;
+  &lt;p&gt;Since this is a twitter app, go ahead and sign in with twitter.&lt;/p&gt;
   
-  &lt;% form_for :session, :url =&gt; session_path do |form| %&gt;
-    &lt;ul&gt;
-      &lt;li&gt;
-        &lt;%= form.label :email %&gt;
-        &lt;%= form.text_field :email %&gt;
-      &lt;/li&gt;
-      &lt;li&gt;
-        &lt;%= form.label :password %&gt;
-        &lt;%= form.password_field :password %&gt; 
-        &lt;%= link_to &quot;Forgot password?&quot;, new_password_path %&gt;
-      &lt;/li&gt;
-      &lt;li class=&quot;checkbox&quot;&gt;
-        &lt;%= form.check_box :remember_me %&gt;
-        &lt;%= form.label :remember_me %&gt;
-      &lt;/li&gt;
-      &lt;li class=&quot;submit&quot;&gt;
-        &lt;%= form.submit &quot;Sign in&quot;, :disable_with =&gt; &quot;Please wait...&quot; %&gt; or
-        &lt;%= link_to &quot;Sign up&quot;, new_user_path %&gt;
-      &lt;/li&gt;
-    &lt;/ul&gt;
-  &lt;% end %&gt;
+  &lt;%- form_tag session_path do -%&gt;
+    &lt;p&gt;&lt;%= image_submit_tag 'twitter_sign_in.png' %&gt;&lt;/p&gt;
+  &lt;%- end -%&gt;
 &lt;/div&gt;
\ No newline at end of file</diff>
      <filename>app/views/sessions/new.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -7,21 +7,8 @@ RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
 require File.join(File.dirname(__FILE__), 'boot')
 
 Rails::Initializer.run do |config|
-  config.gem &quot;thoughtbot-clearance&quot;, 
-    :lib     =&gt; 'clearance', 
-    :source  =&gt; 'http://gems.github.com', 
-    :version =&gt; '0.5.3'
-  
-  config.gem 'mislav-will_paginate', 
-    :lib =&gt; 'will_paginate',
-    :source =&gt; 'http://gems.github.com',
-    :version =&gt; '2.3.8'
-  
-  config.gem 'twitter', :version =&gt; '0.6.15'
-  
+  config.gem 'twitter', :version =&gt; '0.6.15'  
   config.time_zone = 'UTC'
 end
 
-DO_NOT_REPLY = &quot;donotreply@example.com&quot;
-
 ConsumerConfig = YAML.load(File.read(Rails.root + 'config' + 'consumer.yml'))
\ No newline at end of file</diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,6 +14,4 @@ config.action_view.debug_rjs                         = true
 config.action_controller.perform_caching             = false
 
 # Don't care if the mailer can't send
-config.action_mailer.raise_delivery_errors = false
-
-HOST = 'twitterapp.local'
\ No newline at end of file
+config.action_mailer.raise_delivery_errors = false
\ No newline at end of file</diff>
      <filename>config/environments/development.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,6 +25,4 @@ config.action_view.cache_template_loading            = true
 # config.action_mailer.raise_delivery_errors = false
 
 # Enable threaded mode
-# config.threadsafe!
-
-HOST = 'localhost'
\ No newline at end of file
+# config.threadsafe!
\ No newline at end of file</diff>
      <filename>config/environments/production.rb</filename>
    </modified>
    <modified>
      <diff>@@ -35,6 +35,4 @@ config.gem 'thoughtbot-shoulda',
 config.gem 'thoughtbot-factory_girl',
   :lib     =&gt; 'factory_girl',
   :source  =&gt; &quot;http://gems.github.com&quot;, 
-  :version =&gt; '1.2.0'
-  
-HOST = 'localhost'
\ No newline at end of file
+  :version =&gt; '1.2.0'
\ No newline at end of file</diff>
      <filename>config/environments/test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,5 +9,6 @@ ActionController::Routing::Routes.draw do |map|
   map.resources :friendships
   
   map.resource :session
+  map.finalize_session 'session/finalize', :controller =&gt; 'sessions', :action =&gt; 'finalize'
   map.resource :authorization
 end</diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,14 @@
+# == Schema Information
+#
+# Table name: users
+#
+#  id          :integer(4)      not null, primary key
+#  email       :string(255)
+#  atoken      :string(255)
+#  asecret     :string(255)
+#  screen_name :string(30)
+#
+
 require 'test_helper'
 
 class UserTest &lt; ActiveSupport::TestCase</diff>
      <filename>test/unit/user_test.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>app/models/clearance_mailer.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/.specification</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/CHANGELOG.textile</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/KNOWN_ISSUES.textile</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/LICENSE</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/README.textile</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/Rakefile</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/USAGE</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/clearance_generator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/lib/insert_commands.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/lib/rake_commands.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/README</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/controllers/application.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/controllers/confirmations_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/controllers/passwords_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/controllers/sessions_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/controllers/users_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/models/clearance_mailer.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/models/user.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/views/clearance_mailer/change_password.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/views/clearance_mailer/confirmation.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/views/passwords/edit.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/views/passwords/new.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/views/sessions/new.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/views/users/_form.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/views/users/edit.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/app/views/users/new.html.erb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/db/migrate/create_users_with_clearance_columns.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/db/migrate/update_users_with_clearance_columns.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/test/factories/clearance.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/test/functional/confirmations_controller_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/test/functional/passwords_controller_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/test/functional/sessions_controller_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/test/functional/users_controller_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/test/unit/clearance_mailer_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance/templates/test/unit/user_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/USAGE</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/clearance_features_generator.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/templates/features/password_reset.feature</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/templates/features/sign_in.feature</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/templates/features/sign_out.feature</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/templates/features/sign_up.feature</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/templates/features/step_definitions/clearance_steps.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/templates/features/step_definitions/factory_girl_steps.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/generators/clearance_features/templates/features/support/paths.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/app/controllers/application_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/app/controllers/confirmations_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/app/controllers/passwords_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/app/controllers/sessions_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/app/controllers/users_controller.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/app/models/clearance_mailer.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/app/models/user.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/lib/extensions/errors.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/lib/extensions/rescue.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/test/functional/confirmations_controller_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/test/functional/passwords_controller_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/test/functional/sessions_controller_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/test/functional/users_controller_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/test/unit/clearance_mailer_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/lib/clearance/test/unit/user_test.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/rails/init.rb</filename>
    </removed>
    <removed>
      <filename>vendor/gems/thoughtbot-clearance-0.5.3/shoulda_macros/clearance.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>46fc084ef9854fd10058bdbac35d267c7d6b2c97</id>
    </parent>
  </parents>
  <author>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </author>
  <url>http://github.com/jnunemaker/twitter-app/commit/64db3c90704fd88021749e79740010f46524b380</url>
  <id>64db3c90704fd88021749e79740010f46524b380</id>
  <committed-date>2009-08-23T20:37:03-07:00</committed-date>
  <authored-date>2009-08-23T20:37:03-07:00</authored-date>
  <message>Switched from clearance to sign in with twitter.</message>
  <tree>acf79ad55adb0fc5376c051cfa8f614c03c2adce</tree>
  <committer>
    <name>John Nunemaker</name>
    <email>nunemaker@gmail.com</email>
  </committer>
</commit>
