Class: SpreeCmCommissioner::Integration

Inherits:
Base
  • Object
show all
Includes:
StoreMetadata
Defined in:
app/models/spree_cm_commissioner/integration.rb

Instance Method Summary collapse

Instance Method Details

#external_inventory_item_status(_order, _options) ⇒ Object

Raises:

  • (NotImplementedError)


56
57
58
# File 'app/models/spree_cm_commissioner/integration.rb', line 56

def external_inventory_item_status(_order, _options)
  raise NotImplementedError, 'Subclasses must implement the external_inventory_item_status method'
end

#external_inventory_items(_order) ⇒ Object

Raises:

  • (NotImplementedError)


52
53
54
# File 'app/models/spree_cm_commissioner/integration.rb', line 52

def external_inventory_items(_order)
  raise NotImplementedError, 'Subclasses must implement the external_inventory_items method'
end

#hold_inventory!(_order, _line_items) ⇒ Object

Raises:

  • (NotImplementedError)


33
34
35
# File 'app/models/spree_cm_commissioner/integration.rb', line 33

def hold_inventory!(_order, _line_items)
  raise NotImplementedError, 'Subclasses must implement the hold_inventory! method'
end

#release_inventory!(_order, _line_items) ⇒ Object

Raises:

  • (NotImplementedError)


48
49
50
# File 'app/models/spree_cm_commissioner/integration.rb', line 48

def release_inventory!(_order, _line_items)
  raise NotImplementedError, 'Subclasses must implement the release_inventory! method'
end

#restock_external_inventory!(_order, _line_items) ⇒ Object

Raises:

  • (NotImplementedError)


21
22
23
# File 'app/models/spree_cm_commissioner/integration.rb', line 21

def restock_external_inventory!(_order, _line_items)
  raise NotImplementedError, 'Subclasses must implement the restock_external_inventory! method'
end

#supports_auto_release_inventory?Boolean

Integrations that support automatically releasing external inventory after reservation expiration or order cancellation should override this to return true

Returns:

  • (Boolean)


44
45
46
# File 'app/models/spree_cm_commissioner/integration.rb', line 44

def supports_auto_release_inventory?
  false
end

#supports_external_inventory_holding?Boolean

Integrations that manage external inventory reservations should override this to return true

Returns:

  • (Boolean)


38
39
40
# File 'app/models/spree_cm_commissioner/integration.rb', line 38

def supports_external_inventory_holding?
  false
end

#sync_item_availability!(_options = {}) ⇒ Object

Raises:

  • (NotImplementedError)


29
30
31
# File 'app/models/spree_cm_commissioner/integration.rb', line 29

def sync_item_availability!(_options = {})
  raise NotImplementedError, 'Subclasses must implement the sync_item_availability! method'
end

#sync_managerObject

Raises:

  • (NotImplementedError)


17
18
19
# File 'app/models/spree_cm_commissioner/integration.rb', line 17

def sync_manager
  raise NotImplementedError, 'Subclasses must implement the sync_manager method'
end

#unstock_external_inventory!(_order, _line_items) ⇒ Object

Raises:

  • (NotImplementedError)


25
26
27
# File 'app/models/spree_cm_commissioner/integration.rb', line 25

def unstock_external_inventory!(_order, _line_items)
  raise NotImplementedError, 'Subclasses must implement the unstock_external_inventory! method'
end