Skip to content

Instantly share code, notes, and snippets.

@r38y
Created February 25, 2010 18:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save r38y/314847 to your computer and use it in GitHub Desktop.
Save r38y/314847 to your computer and use it in GitHub Desktop.
class TwitterSettingsController < ApplicationController
ssl_required :edit, :enable, :oauthorized
before_filter :require_user
def edit
end
def enable
@request_token = oauth_consumer.get_request_token(:oauth_callback => oauthorized_twitter_url)
session[:oauth_token] = @request_token.token
session[:oauth_secret] = @request_token.secret
redirect_to @request_token.authorize_url
end
# oauth_verifier
# oauth_token
def oauthorized
request_token = OAuth::RequestToken.new(oauth_consumer, session[:oauth_token], session[:oauth_secret])
access_token = request_token.get_access_token(:oauth_verifier => params[:oauth_verifier])
if current_user.enable_twitter!(access_token.token, access_token.secret)
flash[:notice] = "Twitter has been enabled on your account!"
else
flash[:alert] = "It looks like there was a problem enabling Twitter. Please try again or contact support. Thanks!"
end
redirect_to edit_twitter_url
end
def disable
if current_user.disable_twitter!
flash[:notice] = "Twitter has been disabled!"
else
flash[:alert] = "There was a problem disabling Twitter. Please try again or contact support. Thank you!"
end
redirect_to edit_twitter_url
end
private
def oauth_consumer
OAuth::Consumer.new(CONFIG.twitter_consumer_key, CONFIG.twitter_consumer_secret, :site => 'http://twitter.com')
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment