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
- .escape(string) ⇒ Object
- .ip_address ⇒ Object
- .mac_address ⇒ Object
- .signed_params(key, params) ⇒ Object
- .uuid ⇒ Object
Class Method Details
.escape(string) ⇒ Object
13 14 15 16 17 |
# File 'lib/fog/cloudstack/core.rb', line 13 def self.escape(string) string = CGI::escape(string) string = string.gsub("+","%20") string end |
.ip_address ⇒ Object
31 32 33 |
# File 'lib/fog/cloudstack/core.rb', line 31 def self.ip_address 4.times.map{ Fog::Mock.random_numbers(3) }.join(".") end |
.mac_address ⇒ Object
35 36 37 |
# File 'lib/fog/cloudstack/core.rb', line 35 def self.mac_address 6.times.map{ Fog::Mock.random_numbers(2) }.join(":") end |
.signed_params(key, params) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/fog/cloudstack/core.rb', line 19 def self.signed_params(key,params) query = params.map{|k,v| [k.to_s, v]}.sort.map{|c| "#{c[0]}=#{escape(c[1].to_s)}"}.join('&').downcase signed_string = Base64.encode64(OpenSSL::HMAC.digest(@@digest,key,query)).strip signed_string end |
.uuid ⇒ Object
27 28 29 |
# File 'lib/fog/cloudstack/core.rb', line 27 def self.uuid [8,4,4,4,12].map{|i| Fog::Mock.random_hex(i)}.join("-") end |