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)
- 
  
    
      #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?, #completed?, #delivery_required?, #orderer_required?, #payment_required?, #shipment_required?, #stated?
Instance Method Details
#can_ship? ⇒ Boolean
| 102 103 104 | # File 'app/models/comable/order.rb', line 102 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 | 
#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
| 94 95 96 | # File 'app/models/comable/order.rb', line 94 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
| 98 99 100 | # File 'app/models/comable/order.rb', line 98 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 |