Module: Fog::Softlayer

Extended by:
Provider
Defined in:
lib/fog/softlayer.rb,
lib/fog/softlayer/slapi.rb,
lib/fog/softlayer/product.rb,
lib/fog/softlayer/version.rb,
lib/fog/softlayer/compute/shared.rb,
lib/fog/softlayer/models/product/item.rb,
lib/fog/softlayer/models/product/items.rb,
lib/fog/softlayer/models/product/package.rb,
lib/fog/softlayer/models/product/packages.rb,
lib/fog/softlayer/requests/product/place_order.rb,
lib/fog/softlayer/requests/product/get_packages.rb,
lib/fog/softlayer/requests/product/get_packages.rb,
lib/fog/softlayer/requests/product/get_package_item.rb,
lib/fog/softlayer/requests/product/get_package_items.rb,
lib/fog/softlayer/requests/product/get_package_items.rb

Defined Under Namespace

Modules: Compute, Slapi Classes: Product

Constant Summary collapse

SL_API_URL =
'api.softlayer.com/rest/v3'
SL_STORAGE_AUTH_URL =
'objectstorage.softlayer.net/auth/v1.0'
VERSION =
"1.1.3"

Class Method Summary collapse

Class Method Details

.escape(str, extra_exclude_chars = '') ⇒ Object

CGI.escape, but without special treatment on spaces



69
70
71
72
73
# File 'lib/fog/softlayer.rb', line 69

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

.mock_account_idObject



52
53
54
# File 'lib/fog/softlayer.rb', line 52

def self.
  Fog.mocking? and @sl_account_id ||= Fog::Mock.random_numbers(7)
end

.mock_global_identifierObject



60
61
62
# File 'lib/fog/softlayer.rb', line 60

def self.mock_global_identifier
  Fog::UUID.uuid
end

.mock_vm_idObject



56
57
58
# File 'lib/fog/softlayer.rb', line 56

def self.mock_vm_id
  Fog::Mock.random_numbers(7)
end

.stringify_keys(obj) ⇒ Object



75
76
77
78
79
# File 'lib/fog/softlayer.rb', line 75

def self.stringify_keys(obj)
  return obj.inject({}){|memo,(k,v)| memo[k.to_s] =  stringify_keys(v); memo} if obj.is_a? Hash
  return obj.inject([]){|memo,v    | memo         << stringify_keys(v); memo} if obj.is_a? Array
  obj
end

.valid_request?(required, passed) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/fog/softlayer.rb', line 64

def self.valid_request?(required, passed)
  required.all? {|k| k = k.to_sym; passed.key?(k) and !passed[k].nil?}
end