Class: Effective::QbTicket
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Effective::QbTicket
- Defined in:
- app/models/effective/qb_ticket.rb
Constant Summary collapse
- STATES =
['Ready', 'Authenticated', 'Processing', 'Finished', 'ConnectionError', 'RequestError']
Class Method Summary collapse
Instance Method Summary collapse
-
#error!(error, atts = {}) ⇒ Object
This is the entry point for a standard error.
-
#log(message) ⇒ Object
persists a new log message to this ticket.
- #request_error!(error, atts = {}) ⇒ Object
Class Method Details
.set_orders_finished!(before: nil, order_ids: nil) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/models/effective/qb_ticket.rb', line 33 def self.set_orders_finished!(before: nil, order_ids: nil) qb_ticket = Effective::QbTicket.new(state: 'Finished') qb_ticket.qb_logs.build(message: 'Set all orders Finished') qb_ticket.save! Effective::QbRequest.new_requests_for_unsynced_items(before: before, order_ids: order_ids).each do |qb_request| qb_request.qb_ticket = qb_ticket qb_request.transition_to_finished end true end |
Instance Method Details
#error!(error, atts = {}) ⇒ Object
This is the entry point for a standard error.
51 52 53 54 55 56 57 58 59 60 61 |
# File 'app/models/effective/qb_ticket.rb', line 51 def error!(error, atts={}) Effective::OrdersMailer.order_error( order: qb_request.try(:order), error: error, to: EffectiveQbSync.error_email, subject: "Quickbooks failed to synchronize order ##{qb_request.try(:order).try(:to_param) || 'unknown'}", template: 'qb_sync_error' ).deliver_now update!(atts.reverse_merge(last_error: error)) end |
#log(message) ⇒ Object
persists a new log message to this ticket
64 65 66 |
# File 'app/models/effective/qb_ticket.rb', line 64 def log() qb_logs.create(message: , qb_ticket: self) end |
#request_error!(error, atts = {}) ⇒ Object
46 47 48 |
# File 'app/models/effective/qb_ticket.rb', line 46 def request_error!(error, atts={}) self.error!(error, atts.reverse_merge(state: 'RequestError')) end |