1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/cloudsigma/models/price_record.rb
2013-05-20 16:09:37 +03:00

38 lines
No EOL
1.1 KiB
Ruby

require 'fog/cloudsigma/nested_model'
require 'bigdecimal'
module Fog
module Compute
class CloudSigma
class PriceRecord < Fog::CloudSigma::CloudsigmaModel
attribute :resource, :type => :string
attribute :multiplier, :type => :integer
attribute :price, :type => :string
attribute :level, :type => :integer
attribute :currency, :type => :string
attribute :unit, :type => :string
def price
if attributes[:price]
BigDecimal(attributes[:price])
else
nil
end
end
def price=(new_price)
attributes[:price] = new_price.kind_of?(String) ? new_price : new_price.to_s('F')
end
# The base price of the resource.
# This is the price for the base API unit which is byte for memory, data, etc. and MHz for CPU.
# Also the price is per second for time based resource (basically everything except data transfer which is not
# limited in time)
def base_price
price / multiplier
end
end
end
end
end