Class: SuperFormatter::Shopline::Order

Inherits:
Object
  • Object
show all
Defined in:
lib/super_formatter/shopline/order.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(row) ⇒ Order

Returns a new instance of Order.



20
21
22
23
# File 'lib/super_formatter/shopline/order.rb', line 20

def initialize(row)
  self.row = row
  merge!(row)
end

Instance Attribute Details

#items_arrayObject

Returns the value of attribute items_array.



7
8
9
# File 'lib/super_formatter/shopline/order.rb', line 7

def items_array
  @items_array
end

#rowObject

Returns the value of attribute row.



6
7
8
# File 'lib/super_formatter/shopline/order.rb', line 6

def row
  @row
end

#warehouse_itemsObject

Returns the value of attribute warehouse_items.



7
8
9
# File 'lib/super_formatter/shopline/order.rb', line 7

def warehouse_items
  @warehouse_items
end

Instance Method Details

#addressObject



53
54
55
# File 'lib/super_formatter/shopline/order.rb', line 53

def address
  row.address.gsub("台灣", "")
end

#cash_on_delivery?Boolean

Returns:

  • (Boolean)


61
62
63
64
65
66
67
# File 'lib/super_formatter/shopline/order.rb', line 61

def cash_on_delivery?
  if row.payment_method.include?("取貨付款")
    true
  else
    false
  end
end

#destinationObject



44
45
46
47
48
49
50
51
# File 'lib/super_formatter/shopline/order.rb', line 44

def destination
  @destination ||= case provider
  when :UNIMART, :FAMI
    store_id
  when :HCT, :TCAT
    address
  end
end

#itemsObject



77
78
79
# File 'lib/super_formatter/shopline/order.rb', line 77

def items
  items_array.join(" ")
end

#merge!(row) ⇒ Object



81
82
83
84
85
86
87
# File 'lib/super_formatter/shopline/order.rb', line 81

def merge!(row)
  self.items_array ||= []
  self.warehouse_items ||= Warehouse::List.new

  self.items_array << "#{row.item_title}-#{row.item_option}*#{row.item_qty}"
  self.warehouse_items += Warehouse::Item::Code.new(row.item_code, row.item_code, row.item_qty)
end

#only_delivery?Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/super_formatter/shopline/order.rb', line 69

def only_delivery?
  !cash_on_delivery?
end

#order_created_atObject



57
58
59
# File 'lib/super_formatter/shopline/order.rb', line 57

def order_created_at
  row.order_created
end

#order_idObject



16
17
18
# File 'lib/super_formatter/shopline/order.rb', line 16

def order_id
  row.order_id.gsub("#", "")
end

#paid?Boolean

Returns:

  • (Boolean)


73
74
75
# File 'lib/super_formatter/shopline/order.rb', line 73

def paid?
  row.payment_status == "已付款"
end

#providerObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/super_formatter/shopline/order.rb', line 25

def provider
  @provider ||= case
  when row.shipping_method.include?("7-11")
    :UNIMART
  when row.shipping_method.include?("全家")
    :FAMI
  when row.shipping_method.include?("新竹")
    :HCT
  when row.shipping_method.include?("黑貓")
    :TCAT
  else
    nil
  end
end

#ref_idObject



40
41
42
# File 'lib/super_formatter/shopline/order.rb', line 40

def ref_id
  order_id
end