Class: Mumukit::Login::Mucookie

Inherits:
Object
  • Object
show all
Defined in:
lib/mumukit/login/mucookie.rb

Defined Under Namespace

Modules: Encryptor

Instance Method Summary collapse

Constructor Details

#initialize(controller) ⇒ Mucookie

Returns a new instance of Mucookie.



4
5
6
# File 'lib/mumukit/login/mucookie.rb', line 4

def initialize(controller)
  @controller = controller
end

Instance Method Details

#decode_and_read(key) ⇒ Object



32
33
34
# File 'lib/mumukit/login/mucookie.rb', line 32

def decode_and_read(key)
  Base64.decode64 read(key)
end

#decrypt_and_read(key) ⇒ Object



28
29
30
# File 'lib/mumukit/login/mucookie.rb', line 28

def decrypt_and_read(key)
  Encryptor.decrypt read(key)
end

#delete!(key) ⇒ Object



36
37
38
# File 'lib/mumukit/login/mucookie.rb', line 36

def delete!(key)
  @controller.delete_cookie! cookie_name(key), Mumukit::.config.mucookie_domain
end

#encode_and_write!(key, value, options = {}) ⇒ Object



20
21
22
# File 'lib/mumukit/login/mucookie.rb', line 20

def encode_and_write!(key, value, options={})
  write! key, Base64.encode64(value), options
end

#encrypt_and_write!(key, value, options = {}) ⇒ Object



16
17
18
# File 'lib/mumukit/login/mucookie.rb', line 16

def encrypt_and_write!(key, value, options={})
  write! key, Encryptor.encrypt(value), options
end

#read(key) ⇒ Object



24
25
26
# File 'lib/mumukit/login/mucookie.rb', line 24

def read(key)
  @controller.read_cookie cookie_name(key)
end

#write!(key, value, options = {}) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/mumukit/login/mucookie.rb', line 8

def write!(key, value, options={})
  @controller.write_cookie! cookie_name(key),
                            value: value.to_s,
                            path: '/',
                            domain: Mumukit::.config.mucookie_domain,
                            httponly: !!options[:httponly]
end