Class: AxiomusApi::BaseOrder
- Defined in:
- lib/axiomus_api/order/base_order.rb
Direct Known Subclasses
CarryOrder, DpdOrder, EmsOrder, ExportOrder, Order, PostOrder, RegionOrder, SelfExportOrder
Instance Attribute Summary
Attributes included from Validated
Class Method Summary collapse
Instance Method Summary collapse
- #checksum(uid) ⇒ Object
- #create_item ⇒ Object
-
#initialize ⇒ BaseOrder
constructor
A new instance of BaseOrder.
- #total_quantity ⇒ Object
Methods inherited from Base
attribute_meta, extract_options, #tag_name, tag_name, xml_attribute, xml_element, xml_field
Methods included from Validated
Methods included from Serializable
Constructor Details
#initialize ⇒ BaseOrder
Returns a new instance of BaseOrder.
13 14 15 16 |
# File 'lib/axiomus_api/order/base_order.rb', line 13 def initialize super @items = [] end |
Class Method Details
.create_by_mode(mode) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/axiomus_api/order/base_order.rb', line 30 def self.create_by_mode(mode) { new: AxiomusApi::Order, update: AxiomusApi::Order, new_carry: AxiomusApi::CarryOrder, update_carry: AxiomusApi::CarryOrder, new_export: AxiomusApi::ExportOrder, update_export: AxiomusApi::ExportOrder, new_self_export: AxiomusApi::SelfExportOrder, update_self_export: AxiomusApi::SelfExportOrder, new_post: AxiomusApi::PostOrder, update_post: AxiomusApi::PostOrder, new_dpd: AxiomusApi::DpdOrder, update_dpd: AxiomusApi::DpdOrder, new_ems: AxiomusApi::EmsOrder, update_ems: AxiomusApi::EmsOrder, new_region_courier: AxiomusApi::RegionCourierOrder, update_region_courier: AxiomusApi::RegionCourierOrder, new_region_pickup: AxiomusApi::RegionPickupOrder, update_region_pickup: AxiomusApi::RegionPickupOrder }[mode].new end |
Instance Method Details
#checksum(uid) ⇒ Object
22 23 24 |
# File 'lib/axiomus_api/order/base_order.rb', line 22 def checksum(uid) Digest::MD5.hexdigest("#{uid}u#{@items.count}#{total_quantity}") end |
#create_item ⇒ Object
26 27 28 |
# File 'lib/axiomus_api/order/base_order.rb', line 26 def create_item AxiomusApi::Item.new end |
#total_quantity ⇒ Object
18 19 20 |
# File 'lib/axiomus_api/order/base_order.rb', line 18 def total_quantity @items.inject(0){|sum, it| sum + it.quantity} end |