class OpenID::Consumer::Session
Public Class Methods
new(session, decode_klass = nil)
click to toggle source
# File lib/openid/consumer/session.rb, line 4 def initialize(session, decode_klass = nil) @session = session @decode_klass = decode_klass end
Public Instance Methods
[](key)
click to toggle source
# File lib/openid/consumer/session.rb, line 9 def [](key) val = @session[key] @decode_klass ? @decode_klass.from_session_value(val) : val end
[]=(key, val)
click to toggle source
# File lib/openid/consumer/session.rb, line 14 def []=(key, val) @session[key] = to_session_value(val) end
keys()
click to toggle source
# File lib/openid/consumer/session.rb, line 18 def keys @session.keys end
Private Instance Methods
to_session_value(val)
click to toggle source
# File lib/openid/consumer/session.rb, line 24 def to_session_value(val) case val when Array val.map{|ele| to_session_value(ele) } when Hash Hash[*(val.map{|k,v| [k, to_session_value(v)] }.flatten(1))] else val.respond_to?(:to_session_value) ? val.to_session_value : val end end