class Devilicious::Offer
Attributes
price[R]
volume[R]
weighted_price[R]
Public Class Methods
new(hash)
click to toggle source
# File lib/devilicious/offer.rb, line 7 def initialize(hash) self.price = hash.delete(:price) self.weighted_price = hash.delete(:weighted_price) self.volume = BigDecimal.new(hash.delete(:volume)) raise ArgumentError unless hash.empty? raise ArgumentError, "#{price.class} is not Money" unless price.is_a? Money end
Public Instance Methods
inspect()
click to toggle source
# File lib/devilicious/offer.rb, line 16 def inspect "#<Devilicious::Offer price=#{price} volume=#{volume.to_f}>" end
price=(price)
click to toggle source
# File lib/devilicious/offer.rb, line 20 def price=(price) raise ArgumentError if price < 0 @price = price end
volume=(volume)
click to toggle source
# File lib/devilicious/offer.rb, line 30 def volume=(volume) raise ArgumentError if volume < 0 @volume = volume end
weighted_price=(weighted_price)
click to toggle source
# File lib/devilicious/offer.rb, line 25 def weighted_price=(weighted_price) raise ArgumentError if weighted_price && weighted_price < 0 @weighted_price = weighted_price end