Class: AxiomusApi::BaseOrder

Inherits:
Base
  • Object
show all
Defined in:
lib/axiomus_api/order/base_order.rb

Instance Attribute Summary

Attributes included from Validated

#validation_errors

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

attribute_meta, extract_options, #initialize, tag_name, #tag_name, xml_attribute, xml_element, xml_field, xml_field_array

Methods included from Validated

#valid?

Methods included from Serializable

#to_xml

Constructor Details

This class inherits a constructor from AxiomusApi::Base

Class Method Details

.create_by_mode(mode) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/axiomus_api/order/base_order.rb', line 23

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



19
20
21
# File 'lib/axiomus_api/order/base_order.rb', line 19

def checksum(uid)
  Digest::MD5.hexdigest("#{uid}u#{@items.item.count}#{total_quantity}")
end

#total_quantityObject



15
16
17
# File 'lib/axiomus_api/order/base_order.rb', line 15

def total_quantity
  @items.item.inject(0){|sum, it| sum + it.quantity}
end