Module: CatalogConstants

Overview

Centralized catalog ID constants for use across the application.
This ensures all hardcoded references to catalog IDs are managed in one place.

Included in the Catalog model so constants are accessible via Catalog::
while remaining defined in a single place.

Examples:

Using constants

CatalogConstants::HOME_DEPOT_USA          # => 4
CatalogConstants::AMAZON_SELLER_IDS       # => [76, 77, ...]
CatalogConstants.amazon_catalog?(76)      # => true

Constant Summary collapse

US_CATALOG_ID =

==========================================================================
Main / WarmlyYours Catalogs

1
CA_CATALOG_ID =

Ca catalog id.

2
EU_CATALOG_ID =

Eu catalog id.

125
ALL_MAIN_CATALOG_IDS =

All main catalog ids.

[US_CATALOG_ID, CA_CATALOG_ID, EU_CATALOG_ID].freeze
LOCALE_TO_CATALOG =

Locale to catalog.

{
  'en-US': US_CATALOG_ID,
  'en-CA': CA_CATALOG_ID,
  'fr-CA': CA_CATALOG_ID
}.freeze
HOME_DEPOT_USA =

Home Depot

4
HOME_DEPOT_CANADA =

Home depot canada.

5
COSTCO_CANADA =

Costco

16
COSTCO_USA =

Discontinued

8
WAYFAIR_USA =

Wayfair

18
WAYFAIR_CANADA =

Wayfair canada.

21
WAYFAIR_GERMANY =

Wayfair germany.

267
LOWES_USA =

Lowe's / Rona

23
LOWES_CANADA =

Lowes canada.

15
RONA_CANADA =

Rona canada.

22
BUILD_COM =

Build.com

24
CANADIAN_TIRE =

Canadian Tire

133
HOUZZ =

Houzz

28
BESTBUY_CANADA =

Best Buy Canada

158
AMAZON_SC_US_CATALOG_ID =

Amazon Seller Central (3P) Marketplaces

76
AMAZON_SC_CA_CATALOG_ID =

Amazon sc ca catalog id.

77
AMAZON_SC_FR_CATALOG_ID =

Amazon European Seller Central Marketplaces

147
AMAZON_SC_DE_CATALOG_ID =

Amazon sc de catalog id.

150
AMAZON_SC_NL_CATALOG_ID =

Amazon sc nl catalog id.

151
AMAZON_SC_ES_CATALOG_ID =

Amazon sc es catalog id.

149
AMAZON_SC_IT_CATALOG_ID =

Amazon sc it catalog id.

148
AMAZON_SC_PL_CATALOG_ID =

Amazon sc pl catalog id.

152
AMAZON_SC_BE_CATALOG_ID =

Amazon sc be catalog id.

157
AMAZON_SC_UK_CATALOG_ID =

Amazon sc uk catalog id.

153
AMAZON_SC_SE_CATALOG_ID =

Amazon sc se catalog id.

154
AMAZON_VENDOR_CODE_TO_CATALOG_ID =

Vendor code to catalog ID mapping

{
  'WASN4' => 74,   # Amazon VC USA - WASN4
  'WAX7V' => 278,  # Amazon VC USA - WAX7V (Dropship)
  'WAT0F' => 17,   # Amazon VC Canada - WAT0F
  'WAT4D' => 276   # Amazon VC Canada - WAT4D (Dropship)
}.freeze
AMAZON_VC_US_WASN4_CATALOG_ID =

Amazon vc us wasn4 catalog id.

74
AMAZON_VC_US_WAX7V_CATALOG_ID =

Amazon vc us wax7v catalog id.

278
AMAZON_VC_WAT0F_CA_CATALOG_ID =

Amazon vc wat0f ca catalog id.

17
AMAZON_VC_WAT4D_CA_CATALOG_ID =

Amazon vc wat4d ca catalog id.

276
AMAZON_VC_CA_CATALOG_ID =

Amazon vc ca catalog id.

AMAZON_VC_WAT0F_CA_CATALOG_ID
WALMART_SELLER_USA =

Walmart Seller Marketplaces

280
WALMART_SELLER_CANADA =

Walmart seller canada.

136
AMAZON_EU_CATALOG_IDS =

Amazon EU seller catalog IDs

[
  AMAZON_SC_FR_CATALOG_ID,
  AMAZON_SC_DE_CATALOG_ID,
  AMAZON_SC_NL_CATALOG_ID,
  AMAZON_SC_ES_CATALOG_ID,
  AMAZON_SC_IT_CATALOG_ID,
  AMAZON_SC_PL_CATALOG_ID,
  AMAZON_SC_BE_CATALOG_ID,
  AMAZON_SC_UK_CATALOG_ID,
  AMAZON_SC_SE_CATALOG_ID
].freeze
AMAZON_SC_CATALOG_IDS =

Amazon Seller Central (3P) — North America only

[AMAZON_SC_US_CATALOG_ID, AMAZON_SC_CA_CATALOG_ID].freeze
AMAZON_NA_SELLER_IDS =

Amazon na seller ids.

AMAZON_SC_CATALOG_IDS
AMAZON_SELLER_IDS =

Amazon Seller Central (3P) — All regions (NA + EU)

(AMAZON_NA_SELLER_IDS + AMAZON_EU_CATALOG_IDS).freeze
AMAZON_VC_US_CATALOG_IDS =

Amazon Vendor Central (1P) groupings

[AMAZON_VC_US_WASN4_CATALOG_ID, AMAZON_VC_US_WAX7V_CATALOG_ID].freeze
AMAZON_VC_CA_CATALOG_IDS =

Amazon vc ca catalog ids.

[AMAZON_VC_WAT0F_CA_CATALOG_ID, AMAZON_VC_WAT4D_CA_CATALOG_ID].freeze
AMAZON_VC_CATALOG_IDS =

Amazon vc catalog ids.

(AMAZON_VC_US_CATALOG_IDS + AMAZON_VC_CA_CATALOG_IDS).freeze
AMAZON_VC_DIRECT_FULFILLMENT_CATALOG_IDS =

Amazon vc direct fulfillment catalog ids.

[AMAZON_VC_US_WAX7V_CATALOG_ID, AMAZON_VC_WAT4D_CA_CATALOG_ID].freeze
AMAZON_US_CATALOG_IDS =

Amazon per-country (SC + VC)

[AMAZON_SC_US_CATALOG_ID, AMAZON_VC_US_WASN4_CATALOG_ID, AMAZON_VC_US_WAX7V_CATALOG_ID].freeze
AMAZON_CA_CATALOG_IDS =

Amazon ca catalog ids.

[AMAZON_SC_CA_CATALOG_ID, AMAZON_VC_WAT0F_CA_CATALOG_ID, AMAZON_VC_WAT4D_CA_CATALOG_ID].freeze
AMAZON_CATALOG_IDS =

All Amazon catalogs (SC + VC, all regions)

(AMAZON_US_CATALOG_IDS + AMAZON_CA_CATALOG_IDS + AMAZON_EU_CATALOG_IDS).freeze
WAYFAIR_CATALOGS =

All Wayfair catalogs

[WAYFAIR_USA, WAYFAIR_CANADA, WAYFAIR_GERMANY].freeze
HOME_DEPOT_CATALOGS =

All Home Depot catalogs

[HOME_DEPOT_USA, HOME_DEPOT_CANADA].freeze
COSTCO_CATALOGS =

All Costco catalogs

[COSTCO_CANADA].freeze
WALMART_CATALOGS =

All Walmart catalogs

[WALMART_SELLER_USA, WALMART_SELLER_CANADA].freeze

Class Method Summary collapse

Class Method Details

.amazon_catalog?(catalog_id) ⇒ Boolean

Returns:

  • (Boolean)


198
199
200
# File 'app/models/concerns/catalog_constants.rb', line 198

def amazon_catalog?(catalog_id)
  AMAZON_CATALOG_IDS.include?(catalog_id)
end

.amazon_seller_catalog?(catalog_id) ⇒ Boolean

Returns:

  • (Boolean)


202
203
204
# File 'app/models/concerns/catalog_constants.rb', line 202

def amazon_seller_catalog?(catalog_id)
  AMAZON_SELLER_IDS.include?(catalog_id)
end

.costco_catalog?(catalog_id) ⇒ Boolean

Returns:

  • (Boolean)


214
215
216
# File 'app/models/concerns/catalog_constants.rb', line 214

def costco_catalog?(catalog_id)
  COSTCO_CATALOGS.include?(catalog_id)
end

.home_depot_catalog?(catalog_id) ⇒ Boolean

Returns:

  • (Boolean)


210
211
212
# File 'app/models/concerns/catalog_constants.rb', line 210

def home_depot_catalog?(catalog_id)
  HOME_DEPOT_CATALOGS.include?(catalog_id)
end

.walmart_catalog?(catalog_id) ⇒ Boolean

Returns:

  • (Boolean)


218
219
220
# File 'app/models/concerns/catalog_constants.rb', line 218

def walmart_catalog?(catalog_id)
  WALMART_CATALOGS.include?(catalog_id)
end

.wayfair_catalog?(catalog_id) ⇒ Boolean

Returns:

  • (Boolean)


206
207
208
# File 'app/models/concerns/catalog_constants.rb', line 206

def wayfair_catalog?(catalog_id)
  WAYFAIR_CATALOGS.include?(catalog_id)
end