Class: MechanizeStore::Order
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- MechanizeStore::Order
- Defined in:
- app/models/mechanize_store/order.rb
Constant Summary collapse
- STATUSES =
{ 1 => :accomplished, 2 => :submited, 3 => :delivered, 4 => :canceled }
Class Method Summary collapse
Instance Method Summary collapse
- #after_create ⇒ Object
- #confirm! ⇒ Object
- #generated? ⇒ Boolean
- #order_status_str ⇒ Object
- #set_defaults ⇒ Object
- #total_value ⇒ Object
Class Method Details
.statuses_collection ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'app/models/mechanize_store/order.rb', line 31 def self.statuses_collection statuses_collection = [] STATUSES.each_pair do |key, value| statuses_collection << [I18n.t(value, scope: "order_statuses"), key] end return statuses_collection end |
Instance Method Details
#after_create ⇒ Object
45 46 47 48 49 50 |
# File 'app/models/mechanize_store/order.rb', line 45 def after_create p = self.payment p.value = self.total_value p.value += self.freight.value.to_f if self.freight p.save! end |
#confirm! ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'app/models/mechanize_store/order.rb', line 52 def confirm! Order.transaction do unless self.generated? paid_in = self.payment.paid_in self.generated_at = paid_in ||= DateTime.now self.save end end end |
#generated? ⇒ Boolean
62 63 64 |
# File 'app/models/mechanize_store/order.rb', line 62 def generated? return true if self.generated_at end |
#order_status_str ⇒ Object
27 28 29 |
# File 'app/models/mechanize_store/order.rb', line 27 def order_status_str return I18n.t(STATUSES[self.order_status], scope: "order_statuses") end |
#set_defaults ⇒ Object
41 42 43 |
# File 'app/models/mechanize_store/order.rb', line 41 def set_defaults self.order_status = STATUSES.invert[:submited] end |
#total_value ⇒ Object
66 67 68 |
# File 'app/models/mechanize_store/order.rb', line 66 def total_value self.order_items.collect{|o| o.total }.inject(0){|a, b| a+b } end |