effective_qb_sync 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 09c4b57b9ed7e0a0e9dff928136ce43d7ae10d7a
4
- data.tar.gz: deb19da5ea1fd4de3f926113ae7bbcc44fa4b197
3
+ metadata.gz: 570d14466a402e2427e54663d04bfd56d7ddb978
4
+ data.tar.gz: 1cfaee1f2485343467c47c3c122757c3e6c03bd6
5
5
  SHA512:
6
- metadata.gz: d80a1e7b018510fb511e658cae7b42636a644985fbf21bd7ef63f32085376d06a82ab7a0028acdc2cffb66cf4d234e28356823fe25a56bf1b6ffbf97ff67d942
7
- data.tar.gz: d7572b4063010903eefca410a0c7a0901c6d45532c5367bbf4e3605d6bb294483e8110f49d95642cc0cb747bac9ad4fc68a353ad766cb260fa27bb074205867b
6
+ metadata.gz: fd445b9ccd667c7c44207e9a0ae412c0be946789a9c08f14616d752fd5339e582d6ba21d18c26008f39d51702f831537cf1211312c22349d4d39723e8d32b704
7
+ data.tar.gz: 6686f084a88df38b0e67154151decf6aa113a81d9c4017640254e59815dc484b9debbf18f749d50aae33d6872fae4957fbebc13ab601505d8420b0ba4e4bb5f4
@@ -1,3 +1,3 @@
1
1
  module EffectiveQbSync
2
- VERSION = '1.2.1'.freeze
2
+ VERSION = '1.2.2'.freeze
3
3
  end
@@ -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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_qb_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect