Module: CatalogConstants
- Included in:
- Catalog, Retailer::Extractors::Base, Retailer::Extractors::Factory, Retailer::Extractors::Factory, Retailer::PriceChecker, Retailer::SiblingPriceRefresher, Retailer::UrlConstructor, Retailer::WayfairUrlDiscovery
- Defined in:
- app/models/concerns/catalog_constants.rb
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.
Constant Summary collapse
- US_CATALOG_ID =
==========================================================================
Main / WarmlyYours Catalogs 1- CA_CATALOG_ID =
2- EU_CATALOG_ID =
125- ALL_MAIN_CATALOG_IDS =
[US_CATALOG_ID, CA_CATALOG_ID, EU_CATALOG_ID].freeze
- 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 =
5- COSTCO_CANADA =
Costco
16- COSTCO_USA =
Discontinued
8- WAYFAIR_USA =
Wayfair
18- WAYFAIR_CANADA =
21- WAYFAIR_GERMANY =
267- LOWES_USA =
Lowe's / Rona
23- LOWES_CANADA =
15- 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 =
77- AMAZON_SC_FR_CATALOG_ID =
Amazon European Seller Central Marketplaces
147- AMAZON_SC_DE_CATALOG_ID =
150- AMAZON_SC_NL_CATALOG_ID =
151- AMAZON_SC_ES_CATALOG_ID =
149- AMAZON_SC_IT_CATALOG_ID =
148- AMAZON_SC_PL_CATALOG_ID =
152- AMAZON_SC_BE_CATALOG_ID =
157- AMAZON_SC_UK_CATALOG_ID =
153- 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 =
74- AMAZON_VC_US_WAX7V_CATALOG_ID =
278- AMAZON_VC_WAT0F_CA_CATALOG_ID =
17- AMAZON_VC_WAT4D_CA_CATALOG_ID =
276- AMAZON_VC_CA_CATALOG_ID =
AMAZON_VC_WAT0F_CA_CATALOG_ID- WALMART_SELLER_USA =
Walmart Seller Marketplaces
280- 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_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_WAT0F_CA_CATALOG_ID, AMAZON_VC_WAT4D_CA_CATALOG_ID].freeze
- AMAZON_VC_CATALOG_IDS =
(AMAZON_VC_US_CATALOG_IDS + AMAZON_VC_CA_CATALOG_IDS).freeze
- 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_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
- VENDOR_CATALOGS =
Vendor catalogs (1P sellers) - MAP pricing applies
These are retailers where WarmlyYours sets wholesale price, retailer sets retail price [ HOME_DEPOT_USA, HOME_DEPOT_CANADA, COSTCO_CANADA, WAYFAIR_USA, WAYFAIR_CANADA, LOWES_USA, LOWES_CANADA, RONA_CANADA, AMAZON_VC_US_WASN4_CATALOG_ID, AMAZON_VC_WAT0F_CA_CATALOG_ID ].freeze
- MARKETPLACE_CATALOGS =
Marketplace catalogs (3P sellers) - WarmlyYours sets retail price
[ AMAZON_SC_US_CATALOG_ID, AMAZON_SC_CA_CATALOG_ID, WALMART_SELLER_USA, WALMART_SELLER_CANADA ].freeze
- PRICE_CHECK_ENABLED_CATALOGS =
Catalogs enabled for external price checking
[ HOME_DEPOT_USA, HOME_DEPOT_CANADA, COSTCO_CANADA, WAYFAIR_USA, WAYFAIR_CANADA, RONA_CANADA, AMAZON_SC_US_CATALOG_ID, AMAZON_SC_CA_CATALOG_ID, WALMART_SELLER_USA, WALMART_SELLER_CANADA ].freeze
Class Method Summary collapse
- .amazon_catalog?(catalog_id) ⇒ Boolean
- .amazon_seller_catalog?(catalog_id) ⇒ Boolean
- .costco_catalog?(catalog_id) ⇒ Boolean
- .home_depot_catalog?(catalog_id) ⇒ Boolean
- .marketplace_catalog?(catalog_id) ⇒ Boolean
- .price_check_enabled?(catalog_id) ⇒ Boolean
- .vendor_catalog?(catalog_id) ⇒ Boolean
- .walmart_catalog?(catalog_id) ⇒ Boolean
- .wayfair_catalog?(catalog_id) ⇒ Boolean
Class Method Details
.amazon_catalog?(catalog_id) ⇒ Boolean
207 208 209 |
# File 'app/models/concerns/catalog_constants.rb', line 207 def amazon_catalog?(catalog_id) AMAZON_CATALOG_IDS.include?(catalog_id) end |
.amazon_seller_catalog?(catalog_id) ⇒ Boolean
211 212 213 |
# File 'app/models/concerns/catalog_constants.rb', line 211 def amazon_seller_catalog?(catalog_id) AMAZON_SELLER_IDS.include?(catalog_id) end |
.costco_catalog?(catalog_id) ⇒ Boolean
223 224 225 |
# File 'app/models/concerns/catalog_constants.rb', line 223 def costco_catalog?(catalog_id) COSTCO_CATALOGS.include?(catalog_id) end |
.home_depot_catalog?(catalog_id) ⇒ Boolean
219 220 221 |
# File 'app/models/concerns/catalog_constants.rb', line 219 def home_depot_catalog?(catalog_id) HOME_DEPOT_CATALOGS.include?(catalog_id) end |
.marketplace_catalog?(catalog_id) ⇒ Boolean
203 204 205 |
# File 'app/models/concerns/catalog_constants.rb', line 203 def marketplace_catalog?(catalog_id) MARKETPLACE_CATALOGS.include?(catalog_id) end |
.price_check_enabled?(catalog_id) ⇒ Boolean
231 232 233 |
# File 'app/models/concerns/catalog_constants.rb', line 231 def price_check_enabled?(catalog_id) PRICE_CHECK_ENABLED_CATALOGS.include?(catalog_id) end |
.vendor_catalog?(catalog_id) ⇒ Boolean
199 200 201 |
# File 'app/models/concerns/catalog_constants.rb', line 199 def vendor_catalog?(catalog_id) VENDOR_CATALOGS.include?(catalog_id) end |
.walmart_catalog?(catalog_id) ⇒ Boolean
227 228 229 |
# File 'app/models/concerns/catalog_constants.rb', line 227 def walmart_catalog?(catalog_id) WALMART_CATALOGS.include?(catalog_id) end |
.wayfair_catalog?(catalog_id) ⇒ Boolean
215 216 217 |
# File 'app/models/concerns/catalog_constants.rb', line 215 def wayfair_catalog?(catalog_id) WAYFAIR_CATALOGS.include?(catalog_id) end |