Class: MercadolibreRails::Product

Inherits:
ApplicationRecord show all
Defined in:
app/models/mercadolibre_rails/product.rb

Constant Summary collapse

PAPER_TRAIL_VERSION_LIMIT =
2500

Class Method Summary collapse

Class Method Details

.create_from(url:) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
# File 'app/models/mercadolibre_rails/product.rb', line 20

def create_from(url:)
  ml_id = MercadolibreApi::Products::Queries::GetID.run!(product_url: url)
  site_code = MercadolibreApi::Sites::Queries::GetCode.run!(product_url: url)

  return unless ml_id && site_code

  mercadolibre_site = MercadolibreRails::Site.where(code: site_code).first_or_create
  product = mercadolibre_site.products.where(mercadolibre_id: ml_id).first_or_create

  MercadolibreRails::SyncMercadolibreProductJob.perform_now(product.id)
end

.sync_allObject



32
33
34
# File 'app/models/mercadolibre_rails/product.rb', line 32

def sync_all
  all.each { |product| MercadolibreRails::SyncMercadolibreProductJob.perform_now(product.id) }
end