Class: MercadoPublicoCl::Jobs::SyncTenders

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
lib/mercado_publico_cl/jobs/sync_tenders.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_tenders.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::Tender.where(**params).each { |tender| process(tender) }
end

#process(tender) ⇒ Object

Raises:

  • (NotImplementedError)


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

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