Class: SpreePluggto::UpdateSpreeOrder

Inherits:
Object
  • Object
show all
Defined in:
app/services/spree_pluggto/update_spree_order.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pluggto_id) ⇒ UpdateSpreeOrder

Returns a new instance of UpdateSpreeOrder.



7
8
9
10
# File 'app/services/spree_pluggto/update_spree_order.rb', line 7

def initialize(pluggto_id)
  @pluggto_order = ::SpreePluggto::Api::Order.find(pluggto_id)
  @spree_order   = ::Spree::Order.find_by!(pluggto_id: pluggto_id)
end

Instance Attribute Details

#pluggto_orderObject (readonly)

Returns the value of attribute pluggto_order.



4
5
6
# File 'app/services/spree_pluggto/update_spree_order.rb', line 4

def pluggto_order
  @pluggto_order
end

#spree_orderObject

Returns the value of attribute spree_order.



5
6
7
# File 'app/services/spree_pluggto/update_spree_order.rb', line 5

def spree_order
  @spree_order
end

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/services/spree_pluggto/update_spree_order.rb', line 12

def call
  case pluggto_order["status"]
  when 'pending'
    update_payments
  when 'approved'
    update_payments
    set_as_paid
    if !spree_order.shipped?
      set_as_ready
      spree_order.fulfill!
    end
  when 'canceled'
    spree_order.update_columns(state: 'canceled', shipment_state: 'canceled', payment_state: 'void')
  end
end