class Myra::Request::Signature

Constants

REQUEST_STRING

Attributes

base[R]
date[R]
secret[R]

Public Class Methods

new(secret:, date:, base: 'MYRA') click to toggle source
# File lib/myra/request/signature.rb, line 11
def initialize(secret:, date:, base: 'MYRA')
  @secret = secret
  @date = date
  @base = base
end

Public Instance Methods

date_key() click to toggle source
# File lib/myra/request/signature.rb, line 17
def date_key
  method.(digest, "#{base}#{secret}", date)
end
for(signing_string) click to toggle source
# File lib/myra/request/signature.rb, line 25
def for(signing_string)
  base64.(hmac_method.(digest('sha512'), signing_key, signing_string))
end
signing_key() click to toggle source
# File lib/myra/request/signature.rb, line 21
def signing_key
  method.(digest, date_key, REQUEST_STRING)
end

Private Instance Methods

base64() click to toggle source
# File lib/myra/request/signature.rb, line 43
def base64
  Base64.method(:strict_encode64)
end
digest(type = 'sha256') click to toggle source
# File lib/myra/request/signature.rb, line 31
def digest(type = 'sha256')
  OpenSSL::Digest.new(type)
end
hmac_method() click to toggle source
# File lib/myra/request/signature.rb, line 39
def hmac_method
  OpenSSL::HMAC.method(:digest)
end
method() click to toggle source
# File lib/myra/request/signature.rb, line 35
def method
  OpenSSL::HMAC.method(:hexdigest)
end