Class: UrlStore

Inherits:
Object
  • Object
show all
Defined in:
lib/url_store.rb,
lib/url_store/version.rb,
lib/url_store/compact_encoder.rb

Defined Under Namespace

Classes: CompactEncoder, InitializerGenerator, Railtie

Constant Summary collapse

SECRET =
'asdkasjlwqjdqaccxnjkasdfh2313'
IN =

(convert to base64url <-> RFC4648) and ‘|’ which is not url-safe if you ask ERB/CGI, but browsers accept it

'+/='
OUT =
'-_|'
VERSION =
Version = '0.3.4'
@@defaults =
{}

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ UrlStore

Returns a new instance of UrlStore.



24
25
26
# File 'lib/url_store.rb', line 24

def initialize(options={})
  @options = @@defaults.merge(options)
end

Class Method Details

.decode(string) ⇒ Object



20
21
22
# File 'lib/url_store.rb', line 20

def self.decode(string)
  new.decode(string)
end

.defaults=(x) ⇒ Object



14
# File 'lib/url_store.rb', line 14

def self.defaults=(x); @@defaults=x; end

.encode(data) ⇒ Object



16
17
18
# File 'lib/url_store.rb', line 16

def self.encode(data)
  new.encode(data)
end

Instance Method Details

#decode(string) ⇒ Object



33
34
35
36
# File 'lib/url_store.rb', line 33

def decode(string)
  string = string.to_s.tr(OUT,IN) # convert to base64url <-> RFC4648
  encoder.decode(string)
end

#encode(data) ⇒ Object



28
29
30
31
# File 'lib/url_store.rb', line 28

def encode(data)
  string = encoder.encode(data)
  string.to_s.tr(IN,OUT)
end