Module: EffectiveQbSync
- Includes:
- EffectiveGem
- Defined in:
- lib/effective_qb_sync.rb,
lib/effective_qb_sync/engine.rb,
lib/effective_qb_sync/version.rb,
lib/generators/effective_qb_sync/install_generator.rb
Defined Under Namespace
Modules: Generators
Classes: Engine
Constant Summary
collapse
- VERSION =
'1.5.0'.freeze
Class Method Summary
collapse
Class Method Details
.config_keys ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/effective_qb_sync.rb', line 8
def self.config_keys
[
:qb_requests_table_name, :qb_tickets_table_name, :qb_logs_table_name, :qb_order_items_table_name,
:quickbooks_username, :quickbooks_password, :quickbooks_tax_name,
:layout, :error_email
]
end
|
.permitted_params ⇒ Object
18
19
20
|
# File 'lib/effective_qb_sync.rb', line 18
def self.permitted_params
@permitted_params ||= [:note]
end
|
.qwc_name ⇒ Object
49
50
51
|
# File 'lib/effective_qb_sync.rb', line 49
def self.qwc_name
(defined?(Tenant) ? Tenant.current.to_s : Rails.application.class.parent_name).downcase
end
|
.skip_order!(order) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/effective_qb_sync.rb', line 22
def self.skip_order!(order)
raise 'expected an instance of Effective::Order' unless order.kind_of?(Effective::Order)
return true if Effective::QbRequest.where(state: 'Finished', order: order).first.present?
error = nil
Effective::QbTicket.transaction do
begin
qb_ticket = Effective::QbTicket.new(state: 'Finished')
qb_ticket.qb_logs.build(message: "Skip Order: #{order} skipped")
qb_ticket.save!
qb_request = Effective::QbRequest.new(order: order)
qb_request.qb_ticket = qb_ticket
qb_request.transition_to_finished
rescue => e
error = e.message
raise ::ActiveRecord::Rollback
end
end
raise "Failed to skip quickbooks sync for #{order}: #{error}" if error
true
end
|