effective_qb_sync 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/effective_qb_sync/version.rb +1 -1
- data/lib/effective_qb_sync.rb +27 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 570d14466a402e2427e54663d04bfd56d7ddb978
|
4
|
+
data.tar.gz: 1cfaee1f2485343467c47c3c122757c3e6c03bd6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd445b9ccd667c7c44207e9a0ae412c0be946789a9c08f14616d752fd5339e582d6ba21d18c26008f39d51702f831537cf1211312c22349d4d39723e8d32b704
|
7
|
+
data.tar.gz: 6686f084a88df38b0e67154151decf6aa113a81d9c4017640254e59815dc484b9debbf18f749d50aae33d6872fae4957fbebc13ab601505d8420b0ba4e4bb5f4
|
data/lib/effective_qb_sync.rb
CHANGED
@@ -45,4 +45,31 @@ module EffectiveQbSync
|
|
45
45
|
[:note]
|
46
46
|
end
|
47
47
|
|
48
|
+
def self.skip_order!(order)
|
49
|
+
raise 'expected an instance of Effective::Order' unless order.kind_of?(Effective::Order)
|
50
|
+
|
51
|
+
return true if Effective::QbRequest.where(state: 'Finished', order: order).first.present?
|
52
|
+
|
53
|
+
error = nil
|
54
|
+
|
55
|
+
Effective::QbTicket.transaction do
|
56
|
+
begin
|
57
|
+
qb_ticket = Effective::QbTicket.new(state: 'Finished')
|
58
|
+
qb_ticket.qb_logs.build(message: "#{order} set_qb_sync_finished")
|
59
|
+
qb_ticket.save!
|
60
|
+
|
61
|
+
qb_request = Effective::QbRequest.new(order: order)
|
62
|
+
qb_request.qb_ticket = qb_ticket
|
63
|
+
qb_request.transition_to_finished
|
64
|
+
rescue => e
|
65
|
+
error = e.message
|
66
|
+
raise ::ActiveRecord::Rollback
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
raise "Failed to skip quickbooks sync for #{order}: #{error}" if error
|
71
|
+
|
72
|
+
true
|
73
|
+
end
|
74
|
+
|
48
75
|
end
|