Class: Pigeon::TwitterController

Inherits:
ActionController::Base
  • Object
show all
Defined in:
app/controllers/pigeon/twitter_controller.rb

Instance Method Summary collapse

Instance Method Details

#beginObject



5
6
7
8
9
10
11
12
13
14
15
16
# File 'app/controllers/pigeon/twitter_controller.rb', line 5

def begin
  client = new_twitter_client

  request_token = client.request_token(:oauth_callback => twitter_callback_url)
  session[:pigeon] ||= {}
  session[:pigeon][:twitter] = { 
    token: request_token.token, 
    secret: request_token.secret 
  }
  session[:pigeon][:js_callback] = params[:js_callback]
  redirect_to request_token.authorize_url
end

#callbackObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/controllers/pigeon/twitter_controller.rb', line 18

def callback
  if session[:pigeon].nil? || session[:pigeon][:twitter].nil?
    redirect_to twitter_url
  end

  client = new_twitter_client

  request_token = session[:pigeon][:twitter]
  @access_token = client.authorize(
    request_token[:token],
    request_token[:secret],
    :oauth_verifier => params[:oauth_verifier]
  )
  @callback = session[:pigeon][:js_callback] || 'pigeon_twitter_callback'
  @screen_name = client.info['screen_name']
end