Sha256: 916d2e743c50763a618962d59a722508e0903201e6e3afb19beed71b28213f4c

Contents?: true

Size: 571 Bytes

Versions: 1

Compression:

Stored size: 571 Bytes

Contents

module AmazonAuth
  class Converter

    def initialize(salt)
      @salt = salt
    end

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

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

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

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

    def self.default_salt
      "iloveamazon"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
amazon_auth-0.8.0 lib/amazon_auth/converter.rb