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.



18
19
20
21
# File 'lib/super_formatter/shopline/order.rb', line 18

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

Instance Attribute Details

#items_arrayObject

Returns the value of attribute items_array.



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

def items_array
  @items_array
end

#rowObject

Returns the value of attribute row.



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

def row
  @row
end

#warehouse_itemsObject

Returns the value of attribute warehouse_items.



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

def warehouse_items
  @warehouse_items
end

Instance Method Details

#addressObject



51
52
53
# File 'lib/super_formatter/shopline/order.rb', line 51

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

#cash_on_delivery?Boolean

Returns:

  • (Boolean)


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

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

#destinationObject



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

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

#itemsObject



75
76
77
# File 'lib/super_formatter/shopline/order.rb', line 75

def items
  items_array.join(" ")
end

#merge!(row) ⇒ Object



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

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)


67
68
69
# File 'lib/super_formatter/shopline/order.rb', line 67

def only_delivery?
  !cash_on_delivery?
end

#order_created_atObject



55
56
57
# File 'lib/super_formatter/shopline/order.rb', line 55

def order_created_at
  row.order_created
end

#order_idObject



14
15
16
# File 'lib/super_formatter/shopline/order.rb', line 14

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

#paid?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/super_formatter/shopline/order.rb', line 71

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

#providerObject



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

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



38
39
40
# File 'lib/super_formatter/shopline/order.rb', line 38

def ref_id
  order_id
end