class Fog::HMAC

Public Class Methods

new(type, key) click to toggle source
# File lib/fog/core/hmac.rb, line 3
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 13
def sign(data)
  @signer.call(data)
end

Private Instance Methods

setup_sha1() click to toggle source
# File lib/fog/core/hmac.rb, line 19
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 26
def setup_sha256
  @digest = OpenSSL::Digest.new("sha256")
  @signer = lambda do |data|
    OpenSSL::HMAC.digest(@digest, @key, data)
  end
end