effective_qb_sync 1.0.2 → 1.0.3

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: f6dcb0e0120dd9e4b6342c70b92c8bca2f62f294
4
- data.tar.gz: 9e02bcdb643ca2a9b739103760b5230ecf03c9d4
3
+ metadata.gz: bd112a5b677f76a096a67c7d3fd941b18b0e042d
4
+ data.tar.gz: f9878d61652b1e8c7764b6b6395965e7a7a2069a
5
5
  SHA512:
6
- metadata.gz: 87c3181e5a2a5ac511d05eed4945ae7ea8bcdcb5365d75adf8fc9cd644c99831bef9264ff4a801aaed290e6afd0be4f5b87811eab2340f959aed4e53101b5472
7
- data.tar.gz: 04083b292746df10f66f27f961266f0e2891db183cdb461ad36d6438564d6e6e26496daab56bd2d98dca9e50b4c4283e03582bf4b9b38ef221bd8d049fbdbfc4
6
+ metadata.gz: db8422828d6f4f2ac30d84030a7de4950774f76a270b901996b75db0018dc07b843ae0911069b4cfb344314db824e74f7f67d69e47e6216b92262abfefc725c5
7
+ data.tar.gz: 7986d2607bdf2e05f898b4b992b224006b7d837f0b27fc900ddcaff4c4bb3087ff7f5ed5882d860404e64581f4b6bae6be742eaa609b0d3e54d72c0c5f560321
@@ -47,7 +47,7 @@
47
47
  - else
48
48
  %li This is an error without a predefined resolution. Please wait for AgileStyle to follow up with you.
49
49
 
50
- -# Common error messages for refernece:
50
+ -# Common error messages for reference:
51
51
 
52
52
  -# An unexpected error occurred: Order 31 could not be synchronized with QuickBooks: There is an "qbitemname" in the SalesReceipt line. QuickBooks error message: Invalid argument. The specified record does not exist in the list.
53
53
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveQbSync
2
- VERSION = '1.0.2'.freeze
2
+ VERSION = '1.0.3'.freeze
3
3
  end
@@ -0,0 +1,31 @@
1
+ namespace :effective_qb_sync do
2
+ desc 'Overwrite all quickbooks item names with current acts_as_purchasable object qb_item_name'
3
+ task overwrite_qb_item_names: :environment do
4
+ puts 'WARNING: this task will overwrite all quickbooks item names with new qb_item_names. Proceed? (y/n)'
5
+ (puts 'Aborted' and exit) unless STDIN.gets.chomp.downcase == 'y'
6
+
7
+ Effective::QbOrderItem.transaction do
8
+ begin
9
+
10
+ Effective::QbOrderItem.includes(order_item: :purchasable).find_each do |qb_order_item|
11
+ order_item = qb_order_item.order_item
12
+ purchasable = qb_order_item.order_item.purchasable
13
+
14
+ new_qb_item_name = purchasable.qb_item_name
15
+
16
+ unless new_qb_item_name
17
+ raise "acts_as_purchasable object #{order_item.purchasable_type.try(:classify)}<#{order_item.purchasable_id}>.qb_item_name() from Effective::OrderItem<#{order_item.id}> cannot be nil."
18
+ end
19
+
20
+ qb_order_item.update_column(:name, new_qb_item_name) # This intentionally skips validation
21
+ end
22
+
23
+ puts 'Successfully updated all quickbooks item names.'
24
+ rescue => e
25
+ puts "An error has occurred: #{e.message}"
26
+ puts "(effective_qb_sync) Rollback. No quickbooks item names have been changed."
27
+ raise ActiveRecord::Rollback
28
+ end
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_qb_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-01 00:00:00.000000000 Z
11
+ date: 2016-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -263,6 +263,7 @@ files:
263
263
  - lib/effective_qb_sync/version.rb
264
264
  - lib/generators/effective_qb_sync/install_generator.rb
265
265
  - lib/generators/templates/effective_qb_sync_mailer_preview.rb
266
+ - lib/tasks/effective_qb_sync_tasks.rake
266
267
  - spec/dummy/README.rdoc
267
268
  - spec/dummy/Rakefile
268
269
  - spec/dummy/app/assets/javascripts/application.js