Class: Myra::Request::Signature

Inherits:
Object
  • Object
show all
Defined in:
lib/myra/request/signature.rb

Constant Summary collapse

REQUEST_STRING =
'myra-api-request'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(secret:, date:, base: 'MYRA') ⇒ Signature

Returns a new instance of Signature.



11
12
13
14
15
# File 'lib/myra/request/signature.rb', line 11

def initialize(secret:, date:, base: 'MYRA')
  @secret = secret
  @date = date
  @base = base
end

Instance Attribute Details

#baseObject (readonly)

Returns the value of attribute base.



9
10
11
# File 'lib/myra/request/signature.rb', line 9

def base
  @base
end

#dateObject (readonly)

Returns the value of attribute date.



9
10
11
# File 'lib/myra/request/signature.rb', line 9

def date
  @date
end

#secretObject (readonly)

Returns the value of attribute secret.



9
10
11
# File 'lib/myra/request/signature.rb', line 9

def secret
  @secret
end

Instance Method Details

#date_keyObject



17
18
19
# File 'lib/myra/request/signature.rb', line 17

def date_key
  method.(digest, "#{base}#{secret}", date)
end

#for(signing_string) ⇒ Object



25
26
27
# File 'lib/myra/request/signature.rb', line 25

def for(signing_string)
  base64.(hmac_method.(digest('sha512'), signing_key, signing_string))
end

#signing_keyObject



21
22
23
# File 'lib/myra/request/signature.rb', line 21

def signing_key
  method.(digest, date_key, REQUEST_STRING)
end