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