Class: ActionController::TestSession

Inherits:
Rack::Session::Abstract::PersistedSecure::SecureSessionHash
  • Object
show all
Defined in:
actionpack/lib/action_controller/test_case.rb

Overview

Methods #destroy and #load! are overridden to avoid calling methods on the

Constant Summary collapse

DEFAULT_OPTIONS =

:nodoc:

Rack::Session::Abstract::Persisted::DEFAULT_OPTIONS

Instance Method Summary collapse

Constructor Details

#initialize(session = {}, id = Rack::Session::SessionId.new(SecureRandom.hex(16))) ⇒ TestSession

Returns a new instance of TestSession.



188
189
190
191
192
193
194
# File 'actionpack/lib/action_controller/test_case.rb', line 188

def initialize(session = {}, id = Rack::Session::SessionId.new(SecureRandom.hex(16)))
  super(nil, nil)
  @id = id
  @data = stringify_keys(session)
  @loaded = true
  @initially_empty = @data.empty?
end

Instance Method Details

#destroyObject



208
209
210
# File 'actionpack/lib/action_controller/test_case.rb', line 208

def destroy
  clear
end

#dig(*keys) ⇒ Object



212
213
214
215
# File 'actionpack/lib/action_controller/test_case.rb', line 212

def dig(*keys)
  keys = keys.map.with_index { |key, i| i.zero? ? key.to_s : key }
  @data.dig(*keys)
end

#enabled?Boolean

Returns:

  • (Boolean)


221
222
223
# File 'actionpack/lib/action_controller/test_case.rb', line 221

def enabled?
  true
end

#exists?Boolean

Returns:

  • (Boolean)


196
197
198
# File 'actionpack/lib/action_controller/test_case.rb', line 196

def exists?
  true
end

#fetch(key, *args, &block) ⇒ Object



217
218
219
# File 'actionpack/lib/action_controller/test_case.rb', line 217

def fetch(key, *args, &block)
  @data.fetch(key.to_s, *args, &block)
end

#id_wasObject



225
226
227
# File 'actionpack/lib/action_controller/test_case.rb', line 225

def id_was
  @id
end

#keysObject



200
201
202
# File 'actionpack/lib/action_controller/test_case.rb', line 200

def keys
  @data.keys
end

#valuesObject



204
205
206
# File 'actionpack/lib/action_controller/test_case.rb', line 204

def values
  @data.values
end