Sha256: 9095d55a60ab1ebf8914b9299c9ff5d73e02e923a1503359cdbe734784e2f8c2
Contents?: true
Size: 629 Bytes
Versions: 2
Compression:
Stored size: 629 Bytes
Contents
module Kosher class Offer < Structure include ActiveModel::Validations include Comparable key :id one :seller one :shipping one :unit key :venue_id, Integer validates_presence_of :seller, :shipping, :unit, :venue def <=>(other) if kosher? != other.kosher? kosher? ? -1 : 1 else total <=> other.total end end def kosher? raise Invalid.new(self) unless valid? seller.kosher? && shipping.kosher? && unit.kosher? end def price unit.price + shipping.cost end def venue Venue.find(venue_id) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kosher-0.10.0 | lib/kosher/offer.rb |
kosher-0.9.1 | lib/kosher/offer.rb |