Class: SpreeSquare::CatalogMapping

Inherits:
Object
  • Object
show all
Defined in:
app/models/spree_square/catalog_mapping.rb

Overview

Maps a Square catalog object (ITEM or ITEM_VARIATION) to the Spree record it was imported into. square_version is Square's optimistic-concurrency token — compared before writing so out-of-order or duplicate webhook delivery (M3) can't clobber newer data with older data.

Constant Summary collapse

ITEM =
'item'.freeze
ITEM_VARIATION =
'item_variation'.freeze

Instance Method Summary collapse

Instance Method Details

#stale?(incoming_version) ⇒ Boolean

True if incoming_version is not newer than what we already recorded — i.e. it's safe to skip re-processing (duplicate or out-of-order delivery).

Returns:

  • (Boolean)


21
22
23
# File 'app/models/spree_square/catalog_mapping.rb', line 21

def stale?(incoming_version)
  square_version.present? && incoming_version.present? && incoming_version <= square_version
end