Class: AmazonAuth::Converter

Inherits:
Object
  • Object
show all
Defined in:
lib/amazon_auth/converter.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(salt) ⇒ Converter

Returns a new instance of Converter.



4
5
6
# File 'lib/amazon_auth/converter.rb', line 4

def initialize(salt)
  @salt = salt
end

Class Method Details

.decode(code) ⇒ Object



17
18
19
20
# File 'lib/amazon_auth/converter.rb', line 17

def self.decode(code)
  raise "Empty string" if code.to_s.size == 0
  Base64.strict_decode64(code).gsub(/\A#{salt}/, '')
end

.default_saltObject



26
27
28
# File 'lib/amazon_auth/converter.rb', line 26

def self.default_salt
  "iloveamazon"
end

.saltObject



22
23
24
# File 'lib/amazon_auth/converter.rb', line 22

def self.salt
  ENV['AMAZON_CODE_SALT'].presence || raise('salt is missing')
end

Instance Method Details

#encode(str) ⇒ Object



8
9
10
11
# File 'lib/amazon_auth/converter.rb', line 8

def encode(str)
  raise "Empty string" if str.to_s.size == 0
  Base64.strict_encode64("#{salt}#{str}")
end

#saltObject



13
14
15
# File 'lib/amazon_auth/converter.rb', line 13

def salt
  @salt || self.class.salt
end