Class: MercadoPublicoCl::Jobs::SyncPurchaseOrders

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
lib/mercado_publico_cl/jobs/sync_purchase_orders.rb

Instance Method Summary collapse

Instance Method Details

#perform(date: nil, status: nil, agency_code: nil, supplier_code: nil) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/mercado_publico_cl/jobs/sync_purchase_orders.rb', line 6

def perform(date: nil, status: nil, agency_code: nil, supplier_code: nil)
  ensure_process_implemented!
  params = { date: date || MercadoPublicoCl.today, status: status,
             agency_code: agency_code, supplier_code: supplier_code }
           .reject { |_, v| v.nil? }
  MercadoPublicoCl::PurchaseOrder.where(**params).each { |order| process(order) }
end

#process(order) ⇒ Object

Raises:

  • (NotImplementedError)


14
15
16
# File 'lib/mercado_publico_cl/jobs/sync_purchase_orders.rb', line 14

def process(order)
  raise NotImplementedError, "Subclass #{self.class} and implement #process(order)"
end