Module: Fog::Cloudstack

Extended by:
Provider
Defined in:
lib/fog/cloudstack/core.rb

Constant Summary collapse

@@digest =
OpenSSL::Digest.new('sha1')

Class Method Summary collapse

Class Method Details

.escape(string) ⇒ Object



14
15
16
17
18
# File 'lib/fog/cloudstack/core.rb', line 14

def self.escape(string)
  string = CGI::escape(string)
  string = string.gsub("+","%20")
  string
end

.ip_addressObject



32
33
34
# File 'lib/fog/cloudstack/core.rb', line 32

def self.ip_address
  4.times.map{ Fog::Mock.random_numbers(3) }.join(".")
end

.mac_addressObject



36
37
38
# File 'lib/fog/cloudstack/core.rb', line 36

def self.mac_address
  6.times.map{ Fog::Mock.random_numbers(2) }.join(":")
end

.signed_params(key, params) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/fog/cloudstack/core.rb', line 20

def self.signed_params(key,params)
  query = params.map{|k,v| [k.to_s, v]}.sort.collect{|c| "#{c[0]}=#{escape(c[1].to_s)}"}.join('&').downcase

  signed_string = Base64.encode64(OpenSSL::HMAC.digest(@@digest,key,query)).strip

  signed_string
end

.uuidObject



28
29
30
# File 'lib/fog/cloudstack/core.rb', line 28

def self.uuid
  [8,4,4,4,12].map{|i| Fog::Mock.random_hex(i)}.join("-")
end