class Fog::HMAC

Public Class Methods

new(type, key) click to toggle source
# File lib/fog/core/hmac.rb, line 4
def initialize(type, key)
  @key = key
  case type
  when 'sha1'
    setup_sha1
  when 'sha256'
    setup_sha256
  end
end

Public Instance Methods

sign(data) click to toggle source
# File lib/fog/core/hmac.rb, line 14
def sign(data)
  @signer.call(data)
end

Private Instance Methods

setup_sha1() click to toggle source
# File lib/fog/core/hmac.rb, line 20
def setup_sha1
  @digest = OpenSSL::Digest.new('sha1')
  @signer = lambda do |data|
    OpenSSL::HMAC.digest(@digest, @key, data)
  end
end
setup_sha256() click to toggle source
# File lib/fog/core/hmac.rb, line 27
def setup_sha256
  @digest = OpenSSL::Digest.new('sha256')
  @signer = lambda do |data|
    OpenSSL::HMAC.digest(@digest, @key, data)
  end
end