app/models/unidom/price/concerns/as_pricer.rb in unidom-price-2.0 vs app/models/unidom/price/concerns/as_pricer.rb in unidom-price-2.0.1

- old
+ new

@@ -1,38 +1,46 @@ ## # As Pricer 是定价者的领域逻辑关注点。 -module Unidom::Price::Concerns::AsPricer +module Unidom + module Price + module Concerns - extend ActiveSupport::Concern + module AsPricer - included do |includer| + extend ActiveSupport::Concern - has_many :pricings, class_name: 'Unidom::Price::Price', as: :pricer + included do |includer| - def price!(it, amount, at: Time.now) + has_many :pricings, class_name: 'Unidom::Price::Price', as: :pricer - assert_present! :it, it - assert_present! :amount, amount - assert_present! :at, at + def price!(it, amount, at: Time.now) - pricing = pricings.priced_is(it).valid_at(now: at).alive.first - pricing.soft_destroy if pricing.present? - pricings.create! priced: it, amount: amount, opened_at: at + assert_present! :it, it + assert_present! :amount, amount + assert_present! :at, at - end + pricing = pricings.priced_is(it).valid_at(now: at).alive.first + pricing.soft_destroy if pricing.present? + pricings.create! priced: it, amount: amount, opened_at: at - def price?(it, at: Time.now) + end - assert_present! :it, it - assert_present! :at, at + def price?(it, at: Time.now) - pricings.priced_is(it).valid_at(now: at).alive.exists? + assert_present! :it, it + assert_present! :at, at - end + pricings.priced_is(it).valid_at(now: at).alive.exists? - end + end - module ClassMethods - end + end + module ClassMethods + end + + end + + end + end end