Class: Sorcery::TestHelpers::Sinatra::SessionData
- Inherits:
-
Object
- Object
- Sorcery::TestHelpers::Sinatra::SessionData
- Defined in:
- lib/sorcery/test_helpers/sinatra.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#initialize(cookies) ⇒ SessionData
constructor
A new instance of SessionData.
Constructor Details
#initialize(cookies) ⇒ SessionData
Returns a new instance of SessionData.
60 61 62 63 64 65 66 67 68 69 |
# File 'lib/sorcery/test_helpers/sinatra.rb', line 60 def initialize() @cookies = @data = ['rack.session'] if @data @data = @data.unpack("m*").first @data = Marshal.load(@data) else @data = {} end end |
Instance Method Details
#[](key) ⇒ Object
71 72 73 |
# File 'lib/sorcery/test_helpers/sinatra.rb', line 71 def [](key) @data[key] end |
#[]=(key, value) ⇒ Object
75 76 77 78 79 80 81 |
# File 'lib/sorcery/test_helpers/sinatra.rb', line 75 def []=(key, value) @data[key] = value session_data = Marshal.dump(@data) session_data = [session_data].pack("m*") @cookies.merge("rack.session=#{Rack::Utils.escape(session_data)}", URI.parse("//example.org//")) raise "session variable not set" unless @cookies['rack.session'] == session_data end |