Sha256: 7cb6852f213385887772ac36291fd93afa08b00737ce73480fdd4a7a3a1d3d6a
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
# # Author:: Matt Eldridge (<matt.eldridge@us.ibm.com>) # © Copyright IBM Corporation 2014. # # LICENSE: MIT (http://opensource.org/licenses/MIT) # require 'fog/core' require 'fog/json' require 'fog/softlayer/version' require 'time' module Fog module Softlayer extend Fog::Provider SL_API_URL = 'api.softlayer.com/rest/v3' unless defined? SL_API_URL SL_STORAGE_AUTH_URL = 'objectstorage.softlayer.net/auth/v1.0' unless defined? SL_STORAGE_AUTH_URL service(:compute, 'Compute') service(:storage, 'Storage') def self.mock_account_id Fog.mocking? and @sl_account_id ||= Fog::Mock.random_numbers(7) end def self.mock_vm_id Fog::Mock.random_numbers(7) end def self.mock_global_identifier Fog::UUID.uuid end def self.valid_request?(required, passed) required.all? {|k| k = k.to_sym; passed.key?(k) and !passed[k].nil?} end # CGI.escape, but without special treatment on spaces def self.escape(str,extra_exclude_chars = '') str.gsub(/([^a-zA-Z0-9_.-#{extra_exclude_chars}]+)/) do '%' + $1.unpack('H2' * $1.bytesize).join('%').upcase end end end end class Hash def deep_merge(second) merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 } self.merge(second, &merger) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fog-softlayer-0.0.8 | lib/fog/softlayer/core.rb |
fog-softlayer-0.0.7 | lib/fog/softlayer/core.rb |