Class: OmniAuth::Strategies::Renren::Session
- Inherits:
-
Object
- Object
- OmniAuth::Strategies::Renren::Session
- Defined in:
- lib/omniauth_china/strategies/renren/session.rb
Defined Under Namespace
Classes: IncorrectSignature, OtherException, SessionExpired
Instance Attribute Summary collapse
-
#expires ⇒ Object
readonly
Returns the value of attribute expires.
-
#session_key ⇒ Object
readonly
Returns the value of attribute session_key.
-
#uid ⇒ Object
readonly
Returns the value of attribute uid.
Instance Method Summary collapse
- #expired? ⇒ Boolean
- #infinite? ⇒ Boolean
-
#initialize(cookies) ⇒ Session
constructor
A new instance of Session.
- #invoke_method(method, params = {}) ⇒ Object
- #secured? ⇒ Boolean
- #user ⇒ Object
Constructor Details
#initialize(cookies) ⇒ Session
Returns a new instance of Session.
16 17 18 19 20 21 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 16 def initialize() = () @expires = ['expires'] ? Integer(['expires']) : 0 @session_key = ['session_key'] @uid = ['user'] end |
Instance Attribute Details
#expires ⇒ Object (readonly)
Returns the value of attribute expires.
13 14 15 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 13 def expires @expires end |
#session_key ⇒ Object (readonly)
Returns the value of attribute session_key.
12 13 14 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 12 def session_key @session_key end |
#uid ⇒ Object (readonly)
Returns the value of attribute uid.
14 15 16 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 14 def uid @uid end |
Instance Method Details
#expired? ⇒ Boolean
31 32 33 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 31 def expired? @expires.nil? || (!infinite? && Time.at(@expires) <= Time.now) end |
#infinite? ⇒ Boolean
27 28 29 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 27 def infinite? @expires == 0 end |
#invoke_method(method, params = {}) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 39 def invoke_method(method, params = {}) xn_params = { :method => method, :api_key => Renren.api_key, :session_key => session_key, :call_id => Time.now.to_i, :v => '1.0', :format => :json } xn_params.merge!(params) if params xn_params.merge!(:sig => compute_sig(xn_params)) MultiJson.decode(Service.new.post(xn_params).body) end |
#secured? ⇒ Boolean
35 36 37 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 35 def secured? !@session_key.nil? && !expired? end |
#user ⇒ Object
23 24 25 |
# File 'lib/omniauth_china/strategies/renren/session.rb', line 23 def user @user ||= invoke_method('users.getInfo', :uids => @uid, :format => :json).first end |