Class: Comable::Order
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Comable::Order
- Includes:
- Checkout, Associations, Callbacks, Morrisable, Scopes, Validations, Ransackable
- Defined in:
- app/models/comable/order.rb,
app/models/comable/order/scopes.rb,
app/models/comable/order/callbacks.rb,
app/models/comable/order/morrisable.rb,
app/models/comable/order/validations.rb,
app/models/comable/order/associations.rb
Defined Under Namespace
Modules: Associations, Callbacks, Morrisable, Scopes, Validations
Instance Method Summary collapse
- #can_ship? ⇒ Boolean
- #complete! ⇒ Object (also: #complete)
- #completed? ⇒ Boolean
-
#current_item_total_price ⇒ Object
時価商品合計を取得.
-
#current_payment_fee ⇒ Object
Get the current payment fee.
-
#current_shipment_fee ⇒ Object
時価送料を取得.
-
#current_total_price ⇒ Object
時価合計を取得.
-
#inherit!(order) ⇒ Object
Inherit from other Order.
-
#item_total_price ⇒ Object
売価商品合計を取得.
- #paid? ⇒ Boolean
- #restock! ⇒ Object
- #shipped? ⇒ Boolean
- #stocked_items ⇒ Object
- #unstock! ⇒ Object
Methods included from Callbacks
#clone_addresses_from_user, #clone_addresses_to_user, #generate_code, #generate_guest_token
Methods included from Checkout
#allow_cancel?, #allow_return?, #delivery_required?, #orderer_required?, #payment_required?, #shipment_required?, #stated?
Instance Method Details
#can_ship? ⇒ Boolean
106 107 108 |
# File 'app/models/comable/order.rb', line 106 def can_ship? shipment && shipment.ready? && paid? && completed? end |
#complete! ⇒ Object Also known as: complete
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/models/comable/order.rb', line 26 def complete! ActiveRecord::Base.transaction do run_callbacks :complete do self.attributes = current_attributes order_items.each(&:complete) save! payment.next_state! if payment shipment.next_state! if shipment touch(:completed_at) end end end |
#completed? ⇒ Boolean
94 95 96 |
# File 'app/models/comable/order.rb', line 94 def completed? completed_at? end |
#current_item_total_price ⇒ Object
時価商品合計を取得
60 61 62 |
# File 'app/models/comable/order.rb', line 60 def current_item_total_price order_items.to_a.sum(&:current_subtotal_price) end |
#current_payment_fee ⇒ Object
Get the current payment fee
75 76 77 |
# File 'app/models/comable/order.rb', line 75 def current_payment_fee payment.try(:fee) || 0 end |
#current_shipment_fee ⇒ Object
時価送料を取得
70 71 72 |
# File 'app/models/comable/order.rb', line 70 def current_shipment_fee shipment.try(:fee) || 0 end |
#current_total_price ⇒ Object
時価合計を取得
80 81 82 |
# File 'app/models/comable/order.rb', line 80 def current_total_price current_item_total_price + current_payment_fee + current_shipment_fee end |
#inherit!(order) ⇒ Object
Inherit from other Order
85 86 87 88 89 90 91 92 |
# File 'app/models/comable/order.rb', line 85 def inherit!(order) self.bill_address ||= order.bill_address self.ship_address ||= order.ship_address self.payment ||= order.payment self.shipment ||= order.shipment stated?(order.state) ? save! : next_state! end |
#item_total_price ⇒ Object
売価商品合計を取得
65 66 67 |
# File 'app/models/comable/order.rb', line 65 def item_total_price order_items.to_a.sum(&:subtotal_price) end |
#paid? ⇒ Boolean
98 99 100 |
# File 'app/models/comable/order.rb', line 98 def paid? payment ? payment.completed? : true end |
#restock! ⇒ Object
45 46 47 48 |
# File 'app/models/comable/order.rb', line 45 def restock! order_items.each(&:restock) save! end |
#shipped? ⇒ Boolean
102 103 104 |
# File 'app/models/comable/order.rb', line 102 def shipped? shipment ? shipment.completed? : true end |
#stocked_items ⇒ Object
55 56 57 |
# File 'app/models/comable/order.rb', line 55 def stocked_items order_items.to_a.select(&:unstocked?) end |
#unstock! ⇒ Object
50 51 52 53 |
# File 'app/models/comable/order.rb', line 50 def unstock! order_items.each(&:unstock) save! end |