class OpenID::Consumer::Session
Public Class Methods
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
Source
# File lib/openid/consumer/session.rb, line 9 def [](key) val = @session[key] @decode_klass ? @decode_klass.from_session_value(val) : val end
Source
# File lib/openid/consumer/session.rb, line 14 def []=(key, val) @session[key] = to_session_value(val) end
Private Instance Methods
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