tax_cloud 0.2.2 → 0.3.0

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.
Files changed (72) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +29 -0
  3. data/.travis.yml +4 -7
  4. data/CHANGELOG.rdoc +6 -0
  5. data/Gemfile +6 -1
  6. data/README.rdoc +2 -2
  7. data/Rakefile +4 -1
  8. data/lib/hash.rb +2 -4
  9. data/lib/tax_cloud.rb +8 -12
  10. data/lib/tax_cloud/address.rb +3 -5
  11. data/lib/tax_cloud/cart_item.rb +0 -2
  12. data/lib/tax_cloud/client.rb +22 -21
  13. data/lib/tax_cloud/configuration.rb +2 -3
  14. data/lib/tax_cloud/errors/api_error.rb +6 -6
  15. data/lib/tax_cloud/errors/missing_config_error.rb +2 -2
  16. data/lib/tax_cloud/errors/missing_config_option_error.rb +5 -5
  17. data/lib/tax_cloud/errors/soap_error.rb +8 -10
  18. data/lib/tax_cloud/errors/tax_cloud_error.rb +45 -48
  19. data/lib/tax_cloud/errors/unexpected_soap_response_error.rb +7 -10
  20. data/lib/tax_cloud/record.rb +1 -1
  21. data/lib/tax_cloud/responses.rb +1 -1
  22. data/lib/tax_cloud/responses/authorized.rb +1 -1
  23. data/lib/tax_cloud/responses/authorized_with_capture.rb +1 -1
  24. data/lib/tax_cloud/responses/base.rb +26 -30
  25. data/lib/tax_cloud/responses/captured.rb +2 -3
  26. data/lib/tax_cloud/responses/cart_item.rb +2 -5
  27. data/lib/tax_cloud/responses/generic.rb +2 -6
  28. data/lib/tax_cloud/responses/lookup.rb +7 -10
  29. data/lib/tax_cloud/responses/ping.rb +2 -2
  30. data/lib/tax_cloud/responses/returned.rb +2 -2
  31. data/lib/tax_cloud/responses/tax_code_groups.rb +10 -13
  32. data/lib/tax_cloud/responses/tax_codes.rb +9 -12
  33. data/lib/tax_cloud/responses/tax_codes_by_group.rb +11 -14
  34. data/lib/tax_cloud/responses/verify_address.rb +6 -9
  35. data/lib/tax_cloud/tax_code.rb +1 -1
  36. data/lib/tax_cloud/tax_code_constants.rb +7 -9
  37. data/lib/tax_cloud/tax_code_group.rb +2 -4
  38. data/lib/tax_cloud/tax_code_groups.rb +2 -5
  39. data/lib/tax_cloud/tax_codes.rb +1 -5
  40. data/lib/tax_cloud/transaction.rb +6 -6
  41. data/lib/tax_cloud/version.rb +1 -1
  42. data/tax_cloud.gemspec +3 -3
  43. data/test/cassettes/authorized.yml +729 -2
  44. data/test/cassettes/authorized_with_capture.yml +729 -2
  45. data/test/cassettes/authorized_with_localized_time.yml +729 -2
  46. data/test/cassettes/captured.yml +730 -3
  47. data/test/cassettes/get_tic_groups.yml +154 -27
  48. data/test/cassettes/get_tics.yml +154 -27
  49. data/test/cassettes/get_tics_by_group.yml +728 -1
  50. data/test/cassettes/invalid_soap_call.yml +154 -27
  51. data/test/cassettes/lookup.yml +728 -1
  52. data/test/cassettes/lookup_ny.yml +728 -1
  53. data/test/cassettes/ping.yml +160 -31
  54. data/test/cassettes/ping_with_invalid_credentials.yml +154 -27
  55. data/test/cassettes/ping_with_invalid_response.yml +154 -27
  56. data/test/cassettes/returned.yml +730 -3
  57. data/test/cassettes/verify_bad_address.yml +680 -503
  58. data/test/cassettes/verify_good_address.yml +727 -0
  59. data/test/helper.rb +0 -4
  60. data/test/test_address.rb +4 -6
  61. data/test/test_cart_item.rb +1 -3
  62. data/test/test_client.rb +2 -4
  63. data/test/test_configuration.rb +3 -5
  64. data/test/test_setup.rb +0 -1
  65. data/test/test_soap.rb +2 -4
  66. data/test/test_tax_code_groups.rb +2 -4
  67. data/test/test_tax_codes.rb +1 -3
  68. data/test/test_transaction.rb +7 -9
  69. data/test/test_transaction_ny.rb +4 -6
  70. data/test/vcr_setup.rb +1 -1
  71. metadata +36 -41
  72. data/lib/savon_soap_xml.rb +0 -33
@@ -2,10 +2,6 @@ require 'test/unit'
2
2
  require 'tax_cloud'
3
3
  require 'json'
4
4
 
5
- Savon.configure do |config|
6
- config.log = false
7
- end
8
-
9
5
  HTTPI.log = false
10
6
 
11
7
  require 'vcr_setup'
@@ -1,10 +1,9 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestAddress < TestSetup
4
-
5
4
  def setup
6
5
  super
7
- @address = TaxCloud::Address.new :address1 => '888 6th Ave', :city => 'New York', :state => 'New York', :zip5 => '10001'
6
+ @address = TaxCloud::Address.new address1: '888 6th Ave', city: 'New York', state: 'New York', zip5: '10001'
8
7
  end
9
8
 
10
9
  def test_initialize
@@ -46,11 +45,10 @@ class TestAddress < TestSetup
46
45
  def test_verify_bad_address
47
46
  e = assert_raise TaxCloud::Errors::ApiError do
48
47
  VCR.use_cassette('verify bad address') do
49
- bad_address = TaxCloud::Address.new :address1 => '10001 Test Street', :city => 'New York', :state => 'New York', :zip5 => '99999'
50
- verify = bad_address.verify
48
+ bad_address = TaxCloud::Address.new address1: '10001 Test Street', city: 'New York', state: 'New York', zip5: '99999'
49
+ bad_address.verify
51
50
  end
52
51
  end
53
- assert_equal e.problem, "Invalid Zip Code."
52
+ assert_equal e.problem, 'Invalid Zip Code.'
54
53
  end
55
-
56
54
  end
@@ -1,9 +1,8 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestCartItem < Test::Unit::TestCase
4
-
5
4
  def setup
6
- @cart_item = TaxCloud::CartItem.new :index => 0, :item_id => 'SKU-100', :tic => '0000', :price => 50.00, :quantity => 3
5
+ @cart_item = TaxCloud::CartItem.new index: 0, item_id: 'SKU-100', tic: '0000', price: 50.00, quantity: 3
7
6
  end
8
7
 
9
8
  def test_variables
@@ -13,5 +12,4 @@ class TestCartItem < Test::Unit::TestCase
13
12
  assert_equal 50.00, @cart_item.price
14
13
  assert_equal 3, @cart_item.quantity
15
14
  end
16
-
17
15
  end
@@ -1,7 +1,6 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestClient < TestSetup
4
-
5
4
  def test_ping_with_invalid_credentials
6
5
  assert_raise TaxCloud::Errors::ApiError do
7
6
  VCR.use_cassette('ping_with_invalid_credentials') do
@@ -16,14 +15,13 @@ class TestClient < TestSetup
16
15
  TaxCloud.client.ping
17
16
  end
18
17
  end
19
- assert_equal "Expected a value for `ping_result` in `ping_response/ping_result/response_type` in the TaxCloud response.", e.problem
18
+ assert_equal 'Expected a value for `ping_result` in `ping_response/ping_result/response_type` in the TaxCloud response.', e.problem
20
19
  end
21
20
 
22
21
  def test_ping
23
22
  VCR.use_cassette('ping') do
24
23
  response = TaxCloud.client.ping
25
- assert_equal "OK", response
24
+ assert_equal 'OK', response
26
25
  end
27
26
  end
28
-
29
27
  end
@@ -1,14 +1,13 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestConfiguration < Test::Unit::TestCase
4
-
5
4
  def setup
6
5
  TaxCloud.reset!
7
6
  end
8
7
 
9
8
  def test_missing_configuration
10
9
  assert_raise TaxCloud::Errors::MissingConfig do
11
- TaxCloud.client.request :dummy, :body => {}
10
+ TaxCloud.client.request :dummy, body: {}
12
11
  end
13
12
  end
14
13
 
@@ -17,7 +16,7 @@ class TestConfiguration < Test::Unit::TestCase
17
16
  config.api_key = 'taxcloud_api_key'
18
17
  end
19
18
  assert_raise TaxCloud::Errors::MissingConfigOption do
20
- TaxCloud.client.request :dummy, :body => {}
19
+ TaxCloud.client.request :dummy, body: {}
21
20
  end
22
21
  end
23
22
 
@@ -26,8 +25,7 @@ class TestConfiguration < Test::Unit::TestCase
26
25
  config.api_login_id = 'taxcloud_api_login_id'
27
26
  end
28
27
  assert_raise TaxCloud::Errors::MissingConfigOption do
29
- TaxCloud.client.request :dummy, :body => {}
28
+ TaxCloud.client.request :dummy, body: {}
30
29
  end
31
30
  end
32
-
33
31
  end
@@ -1,5 +1,4 @@
1
1
  class TestSetup < Test::Unit::TestCase
2
-
3
2
  def default_test
4
3
  # placeholder to avoid error under Ruby 1.8.7
5
4
  end
@@ -1,13 +1,11 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestSoap < TestSetup
4
-
5
4
  def test_invalid_soap_call
6
- assert_raise TaxCloud::Errors::SoapError do
5
+ assert_raise Savon::UnknownOperationError do
7
6
  VCR.use_cassette('invalid_soap_call') do
8
- TaxCloud.client.request :invalid, :body => {}
7
+ TaxCloud.client.request :invalid, body: {}
9
8
  end
10
9
  end
11
10
  end
12
-
13
11
  end
@@ -1,7 +1,6 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestTaxCodeGroups < TestSetup
4
-
5
4
  def test_all
6
5
  VCR.use_cassette('get_tic_groups') do
7
6
  assert TaxCloud::TaxCode::Groups.all.count > 0
@@ -12,7 +11,7 @@ class TestTaxCodeGroups < TestSetup
12
11
  VCR.use_cassette('get_tic_groups') do
13
12
  tax_code_group = TaxCloud::TaxCode::Groups[TaxCloud::TaxCode::Groups::SCHOOL_RELATED_PRODUCTS]
14
13
  assert_equal TaxCloud::TaxCode::Groups::SCHOOL_RELATED_PRODUCTS, tax_code_group.group_id
15
- assert_equal "School Related Products", tax_code_group.description
14
+ assert_equal 'School Related Products', tax_code_group.description
16
15
  end
17
16
  end
18
17
 
@@ -24,8 +23,7 @@ class TestTaxCodeGroups < TestSetup
24
23
  assert tax_code_group.tax_codes.count > 0
25
24
  tax_code = tax_code_group[TaxCloud::TaxCodes::SCHOOL_INSTRUCTIONAL_MATERIAL]
26
25
  assert_equal TaxCloud::TaxCodes::SCHOOL_INSTRUCTIONAL_MATERIAL, tax_code.ticid
27
- assert_equal "School instructional material", tax_code.description
26
+ assert_equal 'School instructional material', tax_code.description
28
27
  end
29
28
  end
30
-
31
29
  end
@@ -1,7 +1,6 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestTaxCode < TestSetup
4
-
5
4
  def test_all
6
5
  VCR.use_cassette('get_tics') do
7
6
  assert TaxCloud::TaxCodes.all.count > 0
@@ -12,8 +11,7 @@ class TestTaxCode < TestSetup
12
11
  VCR.use_cassette('get_tics') do
13
12
  tax_code = TaxCloud::TaxCodes[TaxCloud::TaxCodes::DIRECT_MAIL_RELATED]
14
13
  assert_equal TaxCloud::TaxCodes::DIRECT_MAIL_RELATED, tax_code.ticid
15
- assert_equal "Direct-mail related", tax_code.description
14
+ assert_equal 'Direct-mail related', tax_code.description
16
15
  end
17
16
  end
18
-
19
17
  end
@@ -1,15 +1,14 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestTransaction < TestSetup
4
-
5
4
  def setup
6
5
  super
7
- origin = TaxCloud::Address.new(:address1 => '162 East Avenue', :address2 => 'Third Floor', :city => 'Norwalk', :state => 'CT', :zip5 => '06851')
8
- destination = TaxCloud::Address.new(:address1 => '3121 West Government Way', :address2 => 'Suite 2B', :city => 'Seattle', :state => 'WA', :zip5 => '98199')
6
+ origin = TaxCloud::Address.new(address1: '162 East Avenue', address2: 'Third Floor', city: 'Norwalk', state: 'CT', zip5: '06851')
7
+ destination = TaxCloud::Address.new(address1: '3121 West Government Way', address2: 'Suite 2B', city: 'Seattle', state: 'WA', zip5: '98199')
9
8
  cart_items = []
10
- cart_items << TaxCloud::CartItem.new(:index => 0, :item_id => 'SKU-TEST', :tic => TaxCloud::TaxCodes::GENERAL, :quantity => 1, :price => 50.00)
11
- cart_items << TaxCloud::CartItem.new(:index => 1, :item_id => 'SKU-TEST1', :tic => TaxCloud::TaxCodes::GENERAL, :quantity => 1, :price => 100.00)
12
- @transaction = TaxCloud::Transaction.new(:customer_id => 42, :cart_id => rand(18446744073709551616), :order_id => rand(18446744073709551616), :cart_items => cart_items, :origin => origin, :destination => destination)
9
+ cart_items << TaxCloud::CartItem.new(index: 0, item_id: 'SKU-TEST', tic: TaxCloud::TaxCodes::GENERAL, quantity: 1, price: 50.00)
10
+ cart_items << TaxCloud::CartItem.new(index: 1, item_id: 'SKU-TEST1', tic: TaxCloud::TaxCodes::GENERAL, quantity: 1, price: 100.00)
11
+ @transaction = TaxCloud::Transaction.new(customer_id: 42, cart_id: rand(18446744073709551616), order_id: rand(18446744073709551616), cart_items: cart_items, origin: origin, destination: destination)
13
12
  end
14
13
 
15
14
  def test_lookup
@@ -39,14 +38,14 @@ class TestTransaction < TestSetup
39
38
 
40
39
  class LocalizedDate < Date
41
40
  def to_s
42
- strftime "%d/%m/%Y"
41
+ strftime '%d/%m/%Y'
43
42
  end
44
43
  end
45
44
 
46
45
  def test_authorized_with_localized_date
47
46
  VCR.use_cassette('authorized_with_localized_time') do
48
47
  @transaction.lookup
49
- result = @transaction.authorized(:date_authorized => LocalizedDate.civil(2013, 2, 1))
48
+ result = @transaction.authorized(date_authorized: LocalizedDate.civil(2013, 2, 1))
50
49
  assert_equal 'OK', result
51
50
  end
52
51
  end
@@ -76,5 +75,4 @@ class TestTransaction < TestSetup
76
75
  assert_equal 'OK', result
77
76
  end
78
77
  end
79
-
80
78
  end
@@ -1,13 +1,12 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestTransactionNy < TestSetup
4
-
5
4
  def setup
6
5
  super
7
- origin = TaxCloud::Address.new :address1 => '888 6th Ave', :city => 'New York', :state => 'NY', :zip5 => '10001'
8
- destination = TaxCloud::Address.new :address1 => '888 6th Ave', :city => 'New York', :state => 'NY', :zip5 => '10001'
9
- cart_items = [ TaxCloud::CartItem.new(:index => 0, :item_id => 'SKU-TEST', :tic => TaxCloud::TaxCodes::GENERAL, :quantity => 1, :price => 50.00) ]
10
- @transaction = TaxCloud::Transaction.new(:customer_id => 42, :cart_id => 708, :order_id => rand(18446744073709551616), :cart_items => cart_items, :origin => origin, :destination => destination)
6
+ origin = TaxCloud::Address.new address1: '888 6th Ave', city: 'New York', state: 'NY', zip5: '10001'
7
+ destination = TaxCloud::Address.new address1: '888 6th Ave', city: 'New York', state: 'NY', zip5: '10001'
8
+ cart_items = [TaxCloud::CartItem.new(index: 0, item_id: 'SKU-TEST', tic: TaxCloud::TaxCodes::GENERAL, quantity: 1, price: 50.00)]
9
+ @transaction = TaxCloud::Transaction.new(customer_id: 42, cart_id: 708, order_id: rand(18446744073709551616), cart_items: cart_items, origin: origin, destination: destination)
11
10
  end
12
11
 
13
12
  def test_lookup_non_ssuta_state
@@ -23,5 +22,4 @@ class TestTransactionNy < TestSetup
23
22
  assert_equal 0, result.tax_amount
24
23
  end
25
24
  end
26
-
27
25
  end
@@ -5,5 +5,5 @@ VCR.configure do |c|
5
5
  c.hook_into :webmock
6
6
  c.filter_sensitive_data('api-login-id') { TaxCloud.configuration.api_login_id }
7
7
  c.filter_sensitive_data('api-key') { TaxCloud.configuration.api_key }
8
- c.filter_sensitive_data('usps-username') { TaxCloud.configuration.usps_username }
8
+ c.filter_sensitive_data('usps-username') { TaxCloud.configuration.usps_username }
9
9
  end
metadata CHANGED
@@ -1,100 +1,88 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tax_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
5
- prerelease:
4
+ version: 0.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Drew Tempelmeyer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-10-20 00:00:00.000000000 Z
11
+ date: 2014-01-09 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: savon
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
- version: '1.2'
19
+ version: '2.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
- version: '1.2'
26
+ version: '2.0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: i18n
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: activesupport
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '3.0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '3.0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
- version: '10.0'
61
+ version: '0.9'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
- version: '10.0'
68
+ version: '0.9'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rdoc
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: 2.5.0
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: 2.5.0
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: vcr
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: webmock
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,11 +104,24 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
125
110
  version: 1.8.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.16.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 0.16.0
126
125
  description: Calculate sales tax using the TaxCloud.net API
127
126
  email:
128
127
  - drewtemp@gmail.com
@@ -131,6 +130,7 @@ extensions: []
131
130
  extra_rdoc_files: []
132
131
  files:
133
132
  - .gitignore
133
+ - .rubocop.yml
134
134
  - .travis.yml
135
135
  - CHANGELOG.rdoc
136
136
  - CONTRIBUTORS.txt
@@ -140,7 +140,6 @@ files:
140
140
  - Rakefile
141
141
  - lib/config/locales/en.yml
142
142
  - lib/hash.rb
143
- - lib/savon_soap_xml.rb
144
143
  - lib/tasks/tax_cloud.rake
145
144
  - lib/tasks/tax_code_groups.rake
146
145
  - lib/tasks/tax_codes.rake
@@ -211,29 +210,25 @@ files:
211
210
  homepage: https://github.com/drewtempelmeyer/tax_cloud
212
211
  licenses:
213
212
  - MIT
213
+ metadata: {}
214
214
  post_install_message:
215
215
  rdoc_options: []
216
216
  require_paths:
217
217
  - lib
218
218
  required_ruby_version: !ruby/object:Gem::Requirement
219
- none: false
220
219
  requirements:
221
- - - ! '>='
220
+ - - '>='
222
221
  - !ruby/object:Gem::Version
223
222
  version: '0'
224
- segments:
225
- - 0
226
- hash: -8218678219724665
227
223
  required_rubygems_version: !ruby/object:Gem::Requirement
228
- none: false
229
224
  requirements:
230
- - - ! '>='
225
+ - - '>='
231
226
  - !ruby/object:Gem::Version
232
227
  version: 1.3.6
233
228
  requirements: []
234
229
  rubyforge_project:
235
- rubygems_version: 1.8.25
230
+ rubygems_version: 2.1.11
236
231
  signing_key:
237
- specification_version: 3
232
+ specification_version: 4
238
233
  summary: Calculate sales tax using TaxCloud
239
234
  test_files: []