Class: TrailGuide::Adapters::Participants::Cookie::Adapter

Inherits:
Base::Adapter
  • Object
show all
Defined in:
lib/trail_guide/adapters/participants/cookie.rb

Instance Attribute Summary

Attributes inherited from Base::Adapter

#config, #context

Instance Method Summary collapse

Methods inherited from Base::Adapter

#subject

Constructor Details

#initialize(context, config) ⇒ Adapter

Returns a new instance of Adapter.



18
19
20
21
# File 'lib/trail_guide/adapters/participants/cookie.rb', line 18

def initialize(context, config)
  raise UnsupportedContextError, "Your current context (#{context}) does not support cookies" unless context.respond_to?(:cookies, true)
  super
end

Instance Method Details

#[](key) ⇒ Object



23
24
25
# File 'lib/trail_guide/adapters/participants/cookie.rb', line 23

def [](key)
  cookie[key.to_s]
end

#[]=(key, value) ⇒ Object



27
28
29
30
# File 'lib/trail_guide/adapters/participants/cookie.rb', line 27

def []=(key, value)
  cookie.merge!({key.to_s => value})
  write_cookie
end

#delete(key) ⇒ Object



32
33
34
35
# File 'lib/trail_guide/adapters/participants/cookie.rb', line 32

def delete(key)
  cookie.tap { |h| h.delete(key.to_s) }
  write_cookie
end

#destroy!Object



37
38
39
40
# File 'lib/trail_guide/adapters/participants/cookie.rb', line 37

def destroy!
  @cookie = nil
  cookies.delete(config.cookie.to_s)
end

#key?(key) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/trail_guide/adapters/participants/cookie.rb', line 46

def key?(key)
  cookie.key?(key)
end

#keysObject



42
43
44
# File 'lib/trail_guide/adapters/participants/cookie.rb', line 42

def keys
  cookie.keys
end

#to_hObject



50
51
52
# File 'lib/trail_guide/adapters/participants/cookie.rb', line 50

def to_h
  cookie.to_h
end