Module: RestCore::Twitter::RailsUtil
- Includes:
- RailsUtilUtil
- Defined in:
- lib/rest-core/client/twitter/rails_util.rb
Class Method Summary
collapse
Instance Method Summary
collapse
extend_rails_util, include_rails_util, load_config, setup_helper
Class Method Details
.included(controller) ⇒ Object
18
19
20
21
22
23
24
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 18
def self.included controller
return if controller.respond_to?(:rc_twitter, true)
super
controller.rescue_from(RestCore::Twitter::Error::Unauthorized,
:with => :rc_twitter_on_unauthorized)
end
|
Instance Method Details
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 49
def error=nil, force_redirect=true
logger.info("INFO: Twitter: #{error.inspect}")
if force_redirect || rc_options_get(RestCore::Twitter, :auto_authorize)
callback =
redirect_url = .authorize_url!(:oauth_callback => callback)
.oauth_callback = callback
logger.debug(
"DEBUG: Twitter: redirect to #{redirect_url} from #{callback}")
redirect_to redirect_url
end
end
|
104
105
106
107
108
109
110
111
112
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 104
def
return if .authorized? ||
!rc_options_get(RestCore::Twitter, :write_cookies) ||
!(data_json = cookies[])
.data_json = data_json
logger.debug("DEBUG: Twitter: detected rc_twitter cookies, parsed:" \
" #{.data.inspect}")
end
|
#rc_twitter_check_handler(handler = rc_options_get(RestCore::Twitter, :check_handler)) ⇒ Object
85
86
87
88
89
90
91
92
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 85
def rc_twitter_check_handler handler=
rc_options_get(RestCore::Twitter, :check_handler)
return if .authorized? || !handler
.data_json = handler.call
logger.debug("DEBUG: Twitter: called check_handler, parsed:" \
" #{.data.inspect}")
end
|
72
73
74
75
76
77
78
79
80
81
82
83
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 72
def
return if !.oauth_callback || !params[:oauth_verifier]
.authorize!(:oauth_verifier => params[:oauth_verifier])
.data.delete('oauth_callback')
logger.debug(
"DEBUG: Twitter: detected oauth_verifier with #{request.url}," \
" parsed: #{.data.inspect}")
if .authorized?
end
|
94
95
96
97
98
99
100
101
102
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 94
def
return if .authorized? ||
!rc_options_get(RestCore::Twitter, :write_session) ||
!(data_json = session[])
.data_json = data_json
logger.debug("DEBUG: Twitter: detected rc_twitter session, parsed:" \
" #{.data.inspect}")
end
|
begin misc ================================
145
146
147
148
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 145
def
session.delete()
cookies.delete()
end
|
150
151
152
153
154
155
156
157
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 150
def
URI.parse(request.url).tap{ |uri|
uri.query = uri.query.split('&').reject{ |q|
q =~ /^(oauth_verifier|oauth_token)\=/
}.join('&') if uri.query
uri.query = nil if uri.query.blank?
}.to_s
end
|
45
46
47
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 45
def error=nil
(error, false)
end
|
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 26
def options={}
super
rc_twitter_check_handler
if rc_options_get(RestCore::Twitter, :ensure_authorized) &&
!.authorized?
('ensure authorized')
false else
true end
end
|
begin check ================================
68
69
70
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 68
def
"rc_twitter_#{.consumer_key}"
end
|
135
136
137
138
139
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 135
def
return if !rc_options_get(RestCore::Twitter, :write_cookies)
cookies[] = data_json = .data_json
logger.debug("DEBUG: Twitter: wrote cookies: data_json => #{data_json}")
end
|
end check ================================
begin write ================================
115
116
117
118
119
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 115
def
rc_twitter_write_handler
end
|
#rc_twitter_write_handler(handler = rc_options_get(RestCore::Twitter, :write_handler)) ⇒ Object
121
122
123
124
125
126
127
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 121
def rc_twitter_write_handler handler=
rc_options_get(RestCore::Twitter, :write_handler)
return if !handler
handler.call(data_json = .data_json)
logger.debug("DEBUG: Twitter: write_handler: data_json => #{data_json}")
end
|
129
130
131
132
133
|
# File 'lib/rest-core/client/twitter/rails_util.rb', line 129
def
return if !rc_options_get(RestCore::Twitter, :write_session)
session[] = data_json = .data_json
logger.debug("DEBUG: Twitter: wrote session: data_json => #{data_json}")
end
|