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 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