Module: MercadoPublicoCl
- Defined in:
- lib/mercado_publico_cl.rb,
lib/mercado_publico_cl/query.rb,
lib/mercado_publico_cl/client.rb,
lib/mercado_publico_cl/errors.rb,
lib/mercado_publico_cl/railtie.rb,
lib/mercado_publico_cl/retryer.rb,
lib/mercado_publico_cl/version.rb,
lib/mercado_publico_cl/enums/base.rb,
lib/mercado_publico_cl/configuration.rb,
lib/mercado_publico_cl/date_formatter.rb,
lib/mercado_publico_cl/enums/currency.rb,
lib/mercado_publico_cl/resources/base.rb,
lib/mercado_publico_cl/enums/time_unit.rb,
lib/mercado_publico_cl/resources/tender.rb,
lib/mercado_publico_cl/enums/tender_type.rb,
lib/mercado_publico_cl/jobs/sync_tenders.rb,
lib/mercado_publico_cl/resources/supplier.rb,
lib/mercado_publico_cl/enums/dispatch_type.rb,
lib/mercado_publico_cl/enums/tender_status.rb,
lib/mercado_publico_cl/value_objects/contact.rb,
lib/mercado_publico_cl/resources/public_agency.rb,
lib/mercado_publico_cl/enums/administrative_act.rb,
lib/mercado_publico_cl/resources/purchase_order.rb,
lib/mercado_publico_cl/enums/purchase_order_type.rb,
lib/mercado_publico_cl/jobs/sync_purchase_orders.rb,
lib/mercado_publico_cl/value_objects/tender_item.rb,
lib/mercado_publico_cl/value_objects/tender_award.rb,
lib/mercado_publico_cl/value_objects/tender_buyer.rb,
lib/mercado_publico_cl/value_objects/tender_dates.rb,
lib/mercado_publico_cl/enums/estimated_amount_type.rb,
lib/mercado_publico_cl/enums/purchase_order_status.rb,
lib/mercado_publico_cl/enums/supplier_order_status.rb,
lib/mercado_publico_cl/enums/tender_payment_method.rb,
lib/mercado_publico_cl/value_objects/tender_contact.rb,
lib/mercado_publico_cl/value_objects/purchase_order_item.rb,
lib/mercado_publico_cl/value_objects/purchase_order_buyer.rb,
lib/mercado_publico_cl/value_objects/purchase_order_dates.rb,
lib/mercado_publico_cl/enums/purchase_order_payment_method.rb,
lib/mercado_publico_cl/value_objects/purchase_order_vendor.rb,
lib/generators/mercado_publico_cl/install/install_generator.rb
Defined Under Namespace
Modules: DateFormatter, Enums, Generators, Jobs, Resources
Classes: ApiError, Client, Configuration, ConfigurationError, Contact, Error, InvalidQueryError, InvalidTicketError, MissingTicketError, NotFoundError, POBuyer, PODates, POItem, POVendor, Query, Railtie, RateLimitError, Retryer, TenderAward, TenderBuyer, TenderContact, TenderDates, TenderItem, TenderItemAward, TimeoutError
Constant Summary
collapse
- CONFIG_MUTEX =
Protege la primera inicialización en entornos multi-thread (Puma/Sidekiq).
Mutex.new
- Tender =
Resources::Tender
- PurchaseOrder =
Resources::PurchaseOrder
- Supplier =
Resources::Supplier
- PublicAgency =
Resources::PublicAgency
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.client ⇒ Object
71
72
73
|
# File 'lib/mercado_publico_cl.rb', line 71
def client
@client || CONFIG_MUTEX.synchronize { @client ||= Client.new(configuration) }
end
|
.configuration ⇒ Object
56
57
58
|
# File 'lib/mercado_publico_cl.rb', line 56
def configuration
@configuration || CONFIG_MUTEX.synchronize { @configuration ||= Configuration.new }
end
|
60
61
62
|
# File 'lib/mercado_publico_cl.rb', line 60
def configure
yield(configuration)
end
|
.reset! ⇒ Object
64
65
66
67
68
69
|
# File 'lib/mercado_publico_cl.rb', line 64
def reset!
CONFIG_MUTEX.synchronize do
@configuration = Configuration.new
@client = nil
end
end
|
.reset_client! ⇒ Object
84
85
86
|
# File 'lib/mercado_publico_cl.rb', line 84
def reset_client!
CONFIG_MUTEX.synchronize { @client = nil }
end
|
.today ⇒ Object
Fecha “de hoy” según la hora de Chile (la API indexa por fecha chilena). Usa TZInfo si está disponible (Rails lo trae); si no, offset fijo -04:00.
77
78
79
80
81
82
|
# File 'lib/mercado_publico_cl.rb', line 77
def today
zone = configuration.time_zone
return TZInfo::Timezone.get(zone).to_local(Time.now.utc).to_date if zone && defined?(TZInfo::Timezone)
Time.now.getutc.getlocal(Configuration::FALLBACK_UTC_OFFSET).to_date
end
|