class MicroSession::Store
Public Class Methods
new(controller)
click to toggle source
# File lib/micro_session/store.rb, line 5 def initialize(controller) @controller = controller end
Public Instance Methods
[](key)
click to toggle source
# File lib/micro_session/store.rb, line 15 def [](key) data[key.to_sym] end
[]=(key, value)
click to toggle source
# File lib/micro_session/store.rb, line 19 def []=(key, value) data[key.to_sym] = value end
data()
click to toggle source
# File lib/micro_session/store.rb, line 9 def data @controller.session[MicroSession.key] ||= {} @controller.session[MicroSession.key][id] ||= {} @controller.session[MicroSession.key][id].symbolize_keys! end
id()
click to toggle source
# File lib/micro_session/store.rb, line 31 def id @id ||= id_from_params || generate_id end
url_options()
click to toggle source
# File lib/micro_session/store.rb, line 23 def url_options if empty? {} else { MicroSession.param => id } end end
Private Instance Methods
generate_id()
click to toggle source
# File lib/micro_session/store.rb, line 41 def generate_id case MicroSession.param_type when :hash secure_random.hex(MicroSession.length / 2) when :integer self.counter += 1 when :random_integer secure_random.integer end end
id_from_params()
click to toggle source
# File lib/micro_session/store.rb, line 37 def id_from_params @controller.params[MicroSession.param] if @controller.params end
secure_random()
click to toggle source
# File lib/micro_session/store.rb, line 52 def secure_random if Object.const_defined?('SecureRandom') SecureRandom else ActiveSupport::SecureRandom end end