Class: Authlogic::TestCase::MockEncryptedCookieJar

Inherits:
MockCookieJar
  • Object
show all
Defined in:
lib/authlogic/test_case/mock_cookie_jar.rb

Overview

Which ActionDispatch class is this a mock of? TODO: Document as with other mocks above.

Instance Attribute Summary collapse

Attributes inherited from MockCookieJar

#set_cookies

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from MockCookieJar

#delete, #encrypted, #signed

Constructor Details

#initialize(parent_jar) ⇒ MockEncryptedCookieJar

Returns a new instance of MockEncryptedCookieJar.


81
82
83
84
# File 'lib/authlogic/test_case/mock_cookie_jar.rb', line 81

def initialize(parent_jar)
  @parent_jar = parent_jar
  parent_jar.each { |k, v| self[k] = v }
end

Instance Attribute Details

#parent_jarObject (readonly)

helper for testing


79
80
81
# File 'lib/authlogic/test_case/mock_cookie_jar.rb', line 79

def parent_jar
  @parent_jar
end

Class Method Details

.decrypt(str) ⇒ Object


104
105
106
# File 'lib/authlogic/test_case/mock_cookie_jar.rb', line 104

def self.decrypt(str)
  str.unpack("U*").map(&:pred).pack("U*")
end

.encrypt(str) ⇒ Object

simple caesar cipher for testing


100
101
102
# File 'lib/authlogic/test_case/mock_cookie_jar.rb', line 100

def self.encrypt(str)
  str.unpack("U*").map(&:succ).pack("U*")
end

Instance Method Details

#[](val) ⇒ Object


86
87
88
89
90
91
# File 'lib/authlogic/test_case/mock_cookie_jar.rb', line 86

def [](val)
  encrypted_message = @parent_jar[val]
  if encrypted_message
    self.class.decrypt(encrypted_message)
  end
end

#[]=(key, options) ⇒ Object


93
94
95
96
97
# File 'lib/authlogic/test_case/mock_cookie_jar.rb', line 93

def []=(key, options)
  opt = cookie_options_to_hash(options)
  opt[:value] = self.class.encrypt(opt[:value])
  @parent_jar[key] = opt
end