Module: Fog::Compute::CloudSigma::CommonMockAndReal
Instance Method Summary collapse
- #balance ⇒ Object
- #currency ⇒ Object
- #current_pricing ⇒ Object
- #current_pricing_levels ⇒ Object
- #current_usage ⇒ Object
- #initialize(options = {}) ⇒ Object
- #next_pricing ⇒ Object
- #next_pricing_levels ⇒ Object
- #pricing ⇒ Object
- #profile ⇒ Object
- #subscription_pricing ⇒ Object
Instance Method Details
#balance ⇒ Object
103 104 105 106 107 |
# File 'lib/fog/cloudsigma/compute.rb', line 103 def balance response = get_balance Balance.new(response.body) end |
#currency ⇒ Object
115 116 117 118 |
# File 'lib/fog/cloudsigma/compute.rb', line 115 def currency # Cache since currency does not change @currency ||= profile.currency end |
#current_pricing ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/fog/cloudsigma/compute.rb', line 156 def current_pricing resp = get_pricing(currency) current_levels = resp.body['current'] current_prices = resp.body['objects'] current_pricing_pairs = current_levels.map do |resource, level| price_for_resource_and_level = current_prices.find do |price| price['level'] == level && price['resource'] == resource end price_for_resource_and_level ||= {} [resource, price_for_resource_and_level] end Pricing.new(Hash[current_pricing_pairs]) end |
#current_pricing_levels ⇒ Object
126 127 128 129 130 |
# File 'lib/fog/cloudsigma/compute.rb', line 126 def current_pricing_levels resp = get_pricing(currency) resp.body['current'] end |
#current_usage ⇒ Object
109 110 111 112 113 |
# File 'lib/fog/cloudsigma/compute.rb', line 109 def current_usage response = get_current_usage CurrentUsage.new(response.body['usage']) end |
#initialize(options = {}) ⇒ Object
92 93 94 95 96 |
# File 'lib/fog/cloudsigma/compute.rb', line 92 def initialize(={}) @init_options = setup_connection() end |
#next_pricing ⇒ Object
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
# File 'lib/fog/cloudsigma/compute.rb', line 174 def next_pricing resp = get_pricing(currency) current_levels = resp.body['next'] current_prices = resp.body['objects'] current_pricing_pairs = current_levels.map do |resource, level| price_for_resource_and_level = current_prices.find do |price| price['level'] == level && price['resource'] == resource end price_for_resource_and_level ||= {} [resource, price_for_resource_and_level] end Pricing.new(Hash[current_pricing_pairs]) end |
#next_pricing_levels ⇒ Object
132 133 134 135 136 |
# File 'lib/fog/cloudsigma/compute.rb', line 132 def next_pricing_levels resp = get_pricing(currency) resp.body['next'] end |
#pricing ⇒ Object
120 121 122 123 124 |
# File 'lib/fog/cloudsigma/compute.rb', line 120 def pricing resp = get_princing(currency) resp.body['objects'] end |
#profile ⇒ Object
98 99 100 101 |
# File 'lib/fog/cloudsigma/compute.rb', line 98 def profile response = get_profile Profile.new(response.body) end |
#subscription_pricing ⇒ Object
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/fog/cloudsigma/compute.rb', line 138 def subscription_pricing resp = get_pricing(currency, true) current_levels = resp.body['current'] current_prices = resp.body['objects'] current_pricing_pairs = current_levels.map do |resource, level| price_for_resource_and_level = current_prices.find do |price| price['resource'] == resource end price_for_resource_and_level ||= {} [resource, price_for_resource_and_level] end Pricing.new(Hash[current_pricing_pairs]) end |