taxjar 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9a7f32540b7e3ebf9ea9395b6f8c1222cb41560c
4
- data.tar.gz: 0f628c4661506f255eee7ad29be2087e9962b6d6
3
+ metadata.gz: 39a381c8762ddba45978205d3453a9fd223c987f
4
+ data.tar.gz: 6a7da0e3e52feb69d62866089c19ca7101bb9480
5
5
  SHA512:
6
- metadata.gz: 64b6ad3c367c71885a720656877d4483e9018cc02221253435cf2d710a55f885c3237bcf0072af36ac5e5929d96da0d9975a99a9e0d58aef046ae1c2662ef756
7
- data.tar.gz: 2bf57480e160a4bc1378e9a0c8dab12915fa9c3ae50320b93a76359f8e807f79bd812d4c17513a254777772ab68bc945681cc0d1b6555aa23b2b396eeddc4c81
6
+ metadata.gz: 5201dba0ccc0e1beb82005b959665c2ae2761076ff6df66754889763188b0775f25590da6c220e886642f53cc8c66b38e71dbec451061ea8c750e05682c6cadf
7
+ data.tar.gz: d0d08b35fac7190e4890992231f6f061fdf7da7653c03680a45e0b10c84c2afc507f57c52b20dfda67997a6b18239505d81989a3d01d0f24df3b84846615f78c
data/.gitignore CHANGED
File without changes
data/Gemfile CHANGED
File without changes
File without changes
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Taxjar
2
2
 
3
- Taxjar is a Ruby API wrapper for Taxjar's sales tax and tax rate API.
3
+ Taxjar is a Ruby API wrapper for Taxjar's v1 and v2 API, supporting both Standard and Enhanced API tiers.
4
4
 
5
5
  ## Installation
6
6
 
@@ -20,17 +20,19 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- Please reference the Taxjar [API Documentation](http://www.taxjar.com/api/docs/)
23
+ Please reference the Taxjar [API Documentation](http://developers.taxjar.com/api/)
24
+
25
+ ### Configuration
24
26
 
25
- Configuration:
26
27
  ```ruby
27
28
  Taxjar.configure do |config|
28
29
  config.auth_token = "authtokenstring"
30
+ config.api_version = 2 # use 1 for legacy v1 API
31
+ config.api_tier = 'enhanced' # use 'standard' for standard API
29
32
  end
30
33
  ```
31
34
 
32
-
33
- Sales tax:
35
+ ### Sales tax
34
36
 
35
37
  ```ruby
36
38
  options = {
@@ -46,10 +48,10 @@ options = {
46
48
  from_zip: "07446"
47
49
  }
48
50
  response = Taxjar.client.sales_tax(options)
49
- # => {"amount_to_collect"=>0.84, "rate"=>0.07, "has_nexus"=>true, "freight_taxable"=>true, "tax_source"=>"destination"}
51
+ # => {"tax":{"taxable_amount":"12.0","amount_to_collect":0.84,"rate":0.07,"has_nexus":true,"freight_taxable":true,"tax_source":"destination"}}
50
52
  ```
51
53
 
52
- Tax rate lookup:
54
+ ### Tax rate lookup
53
55
 
54
56
  ```ruby
55
57
  options = {
@@ -58,7 +60,100 @@ options = {
58
60
  country: "US"
59
61
  }
60
62
  response = Taxjar.client.tax_rate(options)
61
- # {"location"=>{"state"=>"NJ", "zip"=>"07446", "state_rate"=>"0.07", "city"=>"RAMSEY", "city_rate"=>"0.0", "county"=>"BERGEN", "county_rate"=>"0.0", "combined_district_rate"=>"0.0", "combined_rate"=>"0.07"}}
63
+ # => {"rate":{"zip":"07446","state":"NJ","state_rate":"0.07","county":"BERGEN","county_rate":"0.0","city":"RAMSEY","city_rate":"0.0","combined_district_rate":"0.0","combined_rate":"0.07"}}
64
+ ```
65
+
66
+ ### List tax categories
67
+ (Enhanced API tier)
68
+
69
+ ```ruby
70
+ response = Taxjar.client.list_categories()
71
+ # => {"categories":[{"name":"Other Exempt","product_tax_code":"99999","description":"item is exempt"}, ... ]}
72
+ ```
73
+
74
+ ### Create order transaction
75
+ (Enhanced API tier)
76
+
77
+ ```ruby
78
+ options = {
79
+ transaction_id: "123456",
80
+ transaction_date: "2015/06/26",
81
+ amount: 10,
82
+ shipping: 2,
83
+ sales_tax: 0.84,
84
+ to_country: "US",
85
+ to_state: "NJ",
86
+ to_city: "Freehold",
87
+ to_zip: "07728",
88
+ from_country: "US",
89
+ from_state: "CA",
90
+ from_city: "Camarillo",
91
+ from_zip: "93010",
92
+ line_items: [
93
+ {
94
+ id: 123456,
95
+ unit_price: 20,
96
+ quantity: 1
97
+ }
98
+ ]
99
+ }
100
+ response = Taxjar.client.create_order_transaction(options)
101
+ # => {"order":{"transaction_id":"123456","user_id":440,"transaction_date":"2015-06-26T00:00:00Z","from_country":"US","from_zip":"93010","from_state":"CA","from_city":"CAMARILLO","from_street":null,"to_country":"US","to_zip":"07728","to_state":"NJ","to_city":"FREEHOLD","to_street":null,"amount":"10.0","shipping":"2.0","sales_tax":"0.84","line_items":[{"id":1,"quantity":1,"product_identifier":null,"product_tax_code":null,"description":null,"unit_price":"20.0","discount":"0.0","sales_tax":"0.0"}]}}
102
+ ```
103
+
104
+ ### Update order transaction
105
+ (Enhanced API tier)
106
+
107
+ ```ruby
108
+ options = {
109
+ transaction_id: "123456",
110
+ sales_tax: 0.94,
111
+ }
112
+ response = Taxjar.client.update_order_transaction(options)
113
+ # => {"order":{"transaction_id":"123456","user_id":440,"transaction_date":"2015-06-26T00:00:00Z","from_country":"US","from_zip":"93010","from_state":"CA","from_city":"CAMARILLO","from_street":null,"to_country":"US","to_zip":"07728","to_state":"NJ","to_city":"FREEHOLD","to_street":null,"amount":"10.0","shipping":"2.0","sales_tax":"0.94","line_items":[{"id":1,"quantity":1,"product_identifier":null,"product_tax_code":null,"description":null,"unit_price":"20.0","discount":"0.0","sales_tax":"0.0"}]}}
114
+ ```
115
+
116
+ ### Create refund transaction
117
+ (Enhanced API tier)
118
+
119
+ ```ruby
120
+ options = {
121
+ transaction_id: "REFUND_123456",
122
+ transaction_date: "2015/06/26",
123
+ transaction_reference_id: "123456",
124
+ amount: 10,
125
+ shipping: 2,
126
+ sales_tax: 0.84,
127
+ to_country: "US",
128
+ to_state: "NJ",
129
+ to_city: "Freehold",
130
+ to_zip: "07728",
131
+ from_country: "US",
132
+ from_state: "CA",
133
+ from_city: "Camarillo",
134
+ from_zip: "93010",
135
+ line_items: [
136
+ {
137
+ id: 123456,
138
+ unit_price: 20,
139
+ quantity: 1
140
+ }
141
+ ]
142
+ }
143
+ response = Taxjar.client.create_refund_transaction(options)
144
+ # => {"refund":{"transaction_id":"REFUND_123456","user_id":440,"transaction_date":"2015-06-26T00:00:00Z","transaction_reference_id":"123456","from_country":"US","from_zip":"93010","from_state":"CA","from_city":"CAMARILLO","from_street":null,"to_country":"US","to_zip":"07728","to_state":"NJ","to_city":"FREEHOLD","to_street":null,"amount":"10.0","shipping":"2.0","sales_tax":"0.84","line_items":[{"id":1,"quantity":1,"product_identifier":null,"product_tax_code":null,"description":null,"unit_price":"20.0","discount":"0.0","sales_tax":"0.0"}]}}
145
+ ```
146
+
147
+ ### Update refund transaction
148
+ (Enhanced API tier)
149
+
150
+ ```ruby
151
+ options = {
152
+ transaction_id: "REFUND_123456",
153
+ sales_tax: 0.94,
154
+ }
155
+ response = Taxjar.client.update_refund_transaction(options)
156
+ # => {"order":{"transaction_id":"123456","user_id":440,"transaction_date":"2015-06-26T00:00:00Z","from_country":"US","from_zip":"93010","from_state":"CA","from_city":"CAMARILLO","from_street":null,"to_country":"US","to_zip":"07728","to_state":"NJ","to_city":"FREEHOLD","to_street":null,"amount":"10.0","shipping":"2.0","sales_tax":"0.94","line_items":[{"id":1,"quantity":1,"product_identifier":null,"product_tax_code":null,"description":null,"unit_price":"20.0","discount":"0.0","sales_tax":"0.0"}]}}
62
157
  ```
63
158
 
64
159
  ## Contributing
data/Rakefile CHANGED
File without changes
@@ -10,10 +10,24 @@ module FaradayMiddleware
10
10
  raise Taxjar::BadRequest, error_message_400(response)
11
11
  when 401
12
12
  raise Taxjar::NotAuthorized, error_message_400(response)
13
+ when 403
14
+ raise Taxjar::Forbidden, error_message_400(response)
13
15
  when 404
14
16
  raise Taxjar::NotFound, error_message_400(response)
17
+ when 405
18
+ raise Taxjar::MethodNotAllowed, error_message_400(response)
19
+ when 406
20
+ raise Taxjar::NotAcceptable, error_message_400(response)
21
+ when 410
22
+ raise Taxjar::Gone, error_message_400(response)
23
+ when 422
24
+ raise Taxjar::UnprocessableEntity, error_message_400(response)
25
+ when 429
26
+ raise Taxjar::TooManyRequests, error_message_400(response)
15
27
  when 500
16
28
  raise Taxjar::InternalServerError, error_message_500(response, "Something is technically wrong.")
29
+ when 503
30
+ raise Taxjar::ServiceUnavailable, error_message_500(response, "Service is temporarily down for maintenance.")
17
31
  when 504
18
32
  raise Taxjar::GatewayTimeout, error_message_500(response, "504 Gateway Time-out")
19
33
  end
File without changes
@@ -15,16 +15,57 @@ module Taxjar
15
15
  send("#{key}=", options[key])
16
16
  end
17
17
 
18
+ check_configuration
18
19
  setup_conn
19
20
  end
20
21
 
21
22
  def sales_tax(options={})
22
- response = @conn.get "/sales_tax", options
23
+ case api_version
24
+ when 1
25
+ response = @conn.get api_path('sales_tax'), options
26
+ when 2
27
+ response = @conn.post api_path('taxes'), options
28
+ end
23
29
  response.body
24
30
  end
25
31
 
26
32
  def tax_rate(options={})
27
- response = @conn.get "/locations/#{options.delete(:zip)}", options
33
+ case api_version
34
+ when 1
35
+ response = @conn.get "/locations/#{options.delete(:zip)}", options
36
+ when 2
37
+ response = @conn.get api_path('rates', options.delete(:zip)), options
38
+ end
39
+ response.body
40
+ end
41
+
42
+ def list_categories()
43
+ check_availability(method_api_version: 2, method_api_tier: 'enhanced')
44
+ response = @conn.get api_path('categories')
45
+ response.body
46
+ end
47
+
48
+ def create_order_transaction(options={})
49
+ check_availability(method_api_version: 2, method_api_tier: 'enhanced')
50
+ response = @conn.post api_path('transactions', 'orders'), options
51
+ response.body
52
+ end
53
+
54
+ def update_order_transaction(options={})
55
+ check_availability(method_api_version: 2, method_api_tier: 'enhanced')
56
+ response = @conn.put api_path('transactions', 'orders', options.delete(:transaction_id)), options
57
+ response.body
58
+ end
59
+
60
+ def create_refund_transaction(options={})
61
+ check_availability(method_api_version: 2, method_api_tier: 'enhanced')
62
+ response = @conn.post api_path('transactions', 'refunds'), options
63
+ response.body
64
+ end
65
+
66
+ def update_refund_transaction(options={})
67
+ check_availability(method_api_version: 2, method_api_tier: 'enhanced')
68
+ response = @conn.put api_path('transactions', 'refunds', options.delete(:transaction_id)), options
28
69
  response.body
29
70
  end
30
71
 
@@ -38,6 +79,7 @@ module Taxjar
38
79
  }.merge(connection_options)
39
80
 
40
81
  @conn = Faraday::Connection.new(options) do |c|
82
+ c.request :url_encoded
41
83
  c.token_auth self.auth_token
42
84
  c.use FaradayMiddleware::ParseJson
43
85
  c.use FaradayMiddleware::RaiseHttpException
@@ -45,5 +87,30 @@ module Taxjar
45
87
  end
46
88
 
47
89
  end
90
+
91
+ # checks correct client configuration
92
+ def check_configuration
93
+ case api_version
94
+ when 1
95
+ raise Taxjar::BadConfiguration, "Configuration error - API v1 does not support API tiers" unless api_tier.nil?
96
+ when 2
97
+ raise Taxjar::BadConfiguration, "Configuration error - API tier #{api_tier} is invalid" unless ['standard','enhanced'].include?(api_tier)
98
+ end
99
+ end
100
+
101
+ # checks whether the requested method is available for the current configuration
102
+ def check_availability(method_api_version: 1, method_api_tier: nil)
103
+ raise Taxjar::NotAvailable, "Method not available for API v#{api_version}" if (method_api_version != api_version)
104
+ raise Taxjar::NotAvailable, "Method not available for #{api_tier} API tier" if (method_api_tier != api_tier)
105
+ end
106
+
107
+ # returns path for TaxJar API endpoint
108
+ #
109
+ # examples:
110
+ # API v1: /v1/sales_tax
111
+ # API v2: /v2/enhanced/transactions/orders/123
112
+ def api_path(*args)
113
+ "/v#{api_version}/#{args.unshift(api_tier).compact.join('/')}"
114
+ end
48
115
  end
49
116
  end
@@ -9,7 +9,9 @@ module Taxjar
9
9
  :format,
10
10
  :proxy,
11
11
  :user_agent,
12
- :connection_options ]
12
+ :connection_options,
13
+ :api_version,
14
+ :api_tier ]
13
15
 
14
16
  DEFAULT_ADAPTER = Faraday.default_adapter
15
17
  DEFAULT_AUTH_TOKEN = "dae79dc5154ccabd7cb169f616d605e7"
@@ -19,6 +21,8 @@ module Taxjar
19
21
  DEFAULT_USER_AGENT = "Taxjar ruby Gem #{Taxjar::VERSION}".freeze
20
22
 
21
23
  DEFAULT_CONNECTION_OPTIONS = {}
24
+ DEFAULT_API_VERSION = 1
25
+ DEFAULT_API_TIER = nil
22
26
 
23
27
  attr_accessor *VALID_CONFIG_KEYS
24
28
 
@@ -44,6 +48,8 @@ module Taxjar
44
48
  self.proxy = DEFAULT_PROXY
45
49
  self.user_agent = DEFAULT_USER_AGENT
46
50
  self.connection_options = DEFAULT_CONNECTION_OPTIONS
51
+ self.api_version = DEFAULT_API_VERSION
52
+ self.api_tier = DEFAULT_API_TIER
47
53
  end
48
54
 
49
55
  end # Configuration
@@ -8,10 +8,39 @@ module Taxjar
8
8
  # Raised when Taxjar returns the HTTP status code 401
9
9
  class NotAuthorized < Error; end
10
10
 
11
+ # Raised when Taxjar returns the HTTP status code 403
12
+ class Forbidden < Error; end
13
+
11
14
  # Raised when Taxjar returns the HTTP status code 404
12
15
  class NotFound < Error; end
13
16
 
17
+ # Raised when Taxjar returns the HTTP status code 405
18
+ class MethodNotAllowed < Error; end
19
+
20
+ # Raised when Taxjar returns the HTTP status code 406
21
+ class NotAcceptable < Error; end
22
+
23
+ # Raised when Taxjar returns the HTTP status code 410
24
+ class Gone < Error; end
25
+
26
+ # Raised when Taxjar returns the HTTP status code 422
27
+ class UnprocessableEntity < Error; end
28
+
29
+ # Raised when Taxjar returns the HTTP status code 429
30
+ class TooManyRequests < Error; end
31
+
14
32
  # Raised when Taxjar returns the HTTP status code 500
15
33
  class InternalServerError < Error; end
16
34
 
35
+ # Raised when Taxjar returns the HTTP status code 503
36
+ class ServiceUnavailable < Error; end
37
+
38
+ # Raised when Taxjar returns the HTTP status code 504
39
+ class GatewayTimeout < Error; end
40
+
41
+ # Raised when the method is not available in the configured API version or tier
42
+ class NotAvailable < Error; end
43
+
44
+ # Raised when Taxjar configuration is invalid
45
+ class BadConfiguration < Error; end
17
46
  end
@@ -1,3 +1,3 @@
1
1
  module Taxjar
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -6,8 +6,8 @@ require 'taxjar/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "taxjar"
8
8
  spec.version = Taxjar::VERSION
9
- spec.authors = ["Darren Johnson"]
10
- spec.email = ["darrenbjohnson@gmail.com"]
9
+ spec.authors = ["Darren Johnson, Ladislav Marsik"]
10
+ spec.email = ["darrenbjohnson@gmail.com, laci.marsik@gmail.com"]
11
11
  spec.summary = %q{A Ruby wrapper for the Taxjar API}
12
12
  spec.description = %q{A Ruby wrapper for the Taxjar API's sales tax and tax rate endpoints}
13
13
  spec.homepage = "http://github.com/djohnson/taxjar"
@@ -2,19 +2,19 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: https://api.taxjar.com/sales_tax?amount=10&from_city=Ramsey&from_country=US&from_state=NJ&from_zip=07446&shipping=2&to_city=Freehold&to_country=US&to_state=NJ&to_zip=07728
5
+ uri: https://api.taxjar.com/v1/sales_tax?amount=10&from_city=Ramsey&from_country=US&from_state=NJ&from_zip=07446&shipping=2&to_city=Freehold&to_country=US&to_state=NJ&to_zip=07728
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
10
12
  User-Agent:
11
- - Faraday v0.9.0
13
+ - Taxjar ruby Gem 0.1.0
12
14
  Authorization:
13
15
  - Token token="dae79dc5154ccabd7cb169f616d605e7"
14
16
  Accept-Encoding:
15
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
18
  response:
19
19
  status:
20
20
  code: 200
@@ -25,7 +25,7 @@ http_interactions:
25
25
  Connection:
26
26
  - close
27
27
  Date:
28
- - Tue, 30 Dec 2014 19:59:20 GMT
28
+ - Thu, 25 Jun 2015 11:31:30 GMT
29
29
  Status:
30
30
  - 200 OK
31
31
  X-Frame-Options:
@@ -34,23 +34,23 @@ http_interactions:
34
34
  - 1; mode=block
35
35
  X-Content-Type-Options:
36
36
  - nosniff
37
- X-Ua-Compatible:
38
- - chrome=1
37
+ Warning:
38
+ - '299: "Deprecated API, respected until 2015-09-01" "2015-06-25T11:31:30.641"'
39
39
  Content-Type:
40
40
  - application/json; charset=utf-8
41
41
  Etag:
42
- - '"a9ea7272ca4facfde21f8e196a21790a"'
42
+ - '"e5e58b860796403d1f1a3efa41b7fc30"'
43
43
  Cache-Control:
44
44
  - max-age=0, private, must-revalidate
45
45
  X-Request-Id:
46
- - 49407c82-e7a6-4c7e-a1fa-3c0761c4ce42
46
+ - 81b4fa31-5fd5-426a-a324-5427dc5e3fcd
47
47
  X-Runtime:
48
- - '0.023674'
48
+ - '0.026848'
49
49
  Via:
50
50
  - 1.1 vegur
51
51
  body:
52
52
  encoding: UTF-8
53
- string: '{"amount_to_collect":0.84,"rate":0.07,"has_nexus":true,"freight_taxable":true,"tax_source":"destination"}'
53
+ string: '{"taxable_amount":12.0,"amount_to_collect":0.84,"rate":0.07,"has_nexus":true,"freight_taxable":true,"tax_source":"destination"}'
54
54
  http_version:
55
- recorded_at: Tue, 30 Dec 2014 19:59:20 GMT
55
+ recorded_at: Thu, 25 Jun 2015 11:31:39 GMT
56
56
  recorded_with: VCR 2.9.3
@@ -7,14 +7,14 @@ http_interactions:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
10
12
  User-Agent:
11
- - Faraday v0.9.0
13
+ - Taxjar ruby Gem 0.1.0
12
14
  Authorization:
13
15
  - Token token="dae79dc5154ccabd7cb169f616d605e7"
14
16
  Accept-Encoding:
15
17
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
- Accept:
17
- - "*/*"
18
18
  response:
19
19
  status:
20
20
  code: 200
@@ -25,7 +25,7 @@ http_interactions:
25
25
  Connection:
26
26
  - close
27
27
  Date:
28
- - Tue, 30 Dec 2014 20:42:38 GMT
28
+ - Thu, 25 Jun 2015 14:46:20 GMT
29
29
  Status:
30
30
  - 200 OK
31
31
  X-Frame-Options:
@@ -34,8 +34,8 @@ http_interactions:
34
34
  - 1; mode=block
35
35
  X-Content-Type-Options:
36
36
  - nosniff
37
- X-Ua-Compatible:
38
- - chrome=1
37
+ Warning:
38
+ - '299: "Deprecated API, respected until 2015-09-01" "2015-06-25T14:46:20.101"'
39
39
  Content-Type:
40
40
  - application/json; charset=utf-8
41
41
  Etag:
@@ -43,14 +43,14 @@ http_interactions:
43
43
  Cache-Control:
44
44
  - max-age=0, private, must-revalidate
45
45
  X-Request-Id:
46
- - de103f0f-274a-4d4a-b064-6c58faa5adc5
46
+ - 6152b99c-908f-4880-9ac1-6227493d3c9b
47
47
  X-Runtime:
48
- - '0.012139'
48
+ - '0.039630'
49
49
  Via:
50
50
  - 1.1 vegur
51
51
  body:
52
52
  encoding: UTF-8
53
53
  string: '{"location":{"state":"NJ","zip":"07446","state_rate":"0.07","city":"RAMSEY","city_rate":"0.0","county":"BERGEN","county_rate":"0.0","combined_district_rate":"0.0","combined_rate":"0.07"}}'
54
54
  http_version:
55
- recorded_at: Tue, 30 Dec 2014 20:42:38 GMT
55
+ recorded_at: Thu, 25 Jun 2015 14:46:29 GMT
56
56
  recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.taxjar.com/v2/enhanced/transactions/orders
6
+ body:
7
+ encoding: UTF-8
8
+ string: amount=10&from_city=Camarillo&from_country=US&from_state=CA&from_zip=93010&line_items%5B%5D%5Bid%5D=123456&line_items%5B%5D%5Bquantity%5D=1&line_items%5B%5D%5Bunit_price%5D=20&sales_tax=0.84&shipping=2&to_city=Freehold&to_country=US&to_state=NJ&to_zip=07728&transaction_date=2015%2F06%2F26&transaction_id=123456
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ User-Agent:
13
+ - Taxjar ruby Gem 0.1.0
14
+ Authorization:
15
+ - Token token="dae79dc5154ccabd7cb169f616d605e7"
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Server:
26
+ - Cowboy
27
+ Connection:
28
+ - keep-alive
29
+ Date:
30
+ - Fri, 26 Jun 2015 10:16:35 GMT
31
+ Status:
32
+ - 201 Created
33
+ Content-Type:
34
+ - application/json
35
+ Content-Length:
36
+ - '495'
37
+ Etag:
38
+ - '"10809675205f5a521c954c042bb3ec53"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ X-Request-Id:
42
+ - 70e3c692-ed8e-4d92-824b-71fb3cef4ede
43
+ X-Runtime:
44
+ - '0.402656'
45
+ Via:
46
+ - 1.1 vegur
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"order":{"transaction_id":"123456","user_id":440,"transaction_date":"2015-06-26T00:00:00Z","from_country":"US","from_zip":"93010","from_state":"CA","from_city":"CAMARILLO","from_street":null,"to_country":"US","to_zip":"07728","to_state":"NJ","to_city":"FREEHOLD","to_street":null,"amount":"10.0","shipping":"2.0","sales_tax":"0.84","line_items":[{"id":1,"quantity":1,"product_identifier":null,"product_tax_code":null,"description":null,"unit_price":"20.0","discount":"0.0","sales_tax":"0.0"}]}}'
50
+ http_version:
51
+ recorded_at: Fri, 26 Jun 2015 10:16:46 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.taxjar.com/v2/enhanced/transactions/refunds
6
+ body:
7
+ encoding: UTF-8
8
+ string: amount=10&from_city=Camarillo&from_country=US&from_state=CA&from_zip=93010&line_items%5B%5D%5Bid%5D=123456&line_items%5B%5D%5Bquantity%5D=1&line_items%5B%5D%5Bunit_price%5D=20&sales_tax=0.84&shipping=2&to_city=Freehold&to_country=US&to_state=NJ&to_zip=07728&transaction_date=2015%2F06%2F26&transaction_id=REFUND_123456&transaction_reference_id=123456
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ User-Agent:
13
+ - Taxjar ruby Gem 0.1.0
14
+ Authorization:
15
+ - Token token="dae79dc5154ccabd7cb169f616d605e7"
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Server:
26
+ - Cowboy
27
+ Connection:
28
+ - keep-alive
29
+ Date:
30
+ - Fri, 26 Jun 2015 11:58:47 GMT
31
+ Status:
32
+ - 201 Created
33
+ Content-Type:
34
+ - application/json
35
+ Content-Length:
36
+ - '539'
37
+ Etag:
38
+ - '"32c9d35f24aede17ea2a3831eb0b81c2"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ X-Request-Id:
42
+ - bb90af6e-f662-44b7-b4a4-0045a96327ca
43
+ X-Runtime:
44
+ - '0.629224'
45
+ Via:
46
+ - 1.1 vegur
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"refund":{"transaction_id":"REFUND_123456","user_id":440,"transaction_date":"2015-06-26T00:00:00Z","transaction_reference_id":"123456","from_country":"US","from_zip":"93010","from_state":"CA","from_city":"CAMARILLO","from_street":null,"to_country":"US","to_zip":"07728","to_state":"NJ","to_city":"FREEHOLD","to_street":null,"amount":"10.0","shipping":"2.0","sales_tax":"0.84","line_items":[{"id":1,"quantity":1,"product_identifier":null,"product_tax_code":null,"description":null,"unit_price":"20.0","discount":"0.0","sales_tax":"0.0"}]}}'
50
+ http_version:
51
+ recorded_at: Fri, 26 Jun 2015 11:58:57 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,58 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.taxjar.com/v2/enhanced/categories
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ User-Agent:
13
+ - Taxjar ruby Gem 0.1.0
14
+ Authorization:
15
+ - Token token="dae79dc5154ccabd7cb169f616d605e7"
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - Cowboy
25
+ Connection:
26
+ - keep-alive
27
+ Date:
28
+ - Fri, 26 Jun 2015 10:53:55 GMT
29
+ Status:
30
+ - 200 OK
31
+ Content-Type:
32
+ - application/json
33
+ Content-Length:
34
+ - '777'
35
+ Etag:
36
+ - '"d806e22ec7ec1f585c2aa84ac769ee2c"'
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - 8ede27a6-dbff-4326-b114-1d9f91cfd093
41
+ X-Runtime:
42
+ - '0.024949'
43
+ Via:
44
+ - 1.1 vegur
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"categories":[{"name":"Other Exempt","product_tax_code":"99999","description":"item
48
+ is exempt"},{"name":"Clothing","product_tax_code":"20010","description":"normal
49
+ clothing"},{"name":"Food \u0026 Groceries","product_tax_code":"40030","description":"food
50
+ for humans not cooked"},{"name":"Non-Prescription","product_tax_code":"51010","description":"non
51
+ prescription drugs"},{"name":"Prescription","product_tax_code":"51020","description":"prescription
52
+ drugs"},{"name":"Digital Goods","product_tax_code":"31000","description":"digital
53
+ goods"},{"name":"Special Digital Products","product_tax_code":"32000","description":"special
54
+ digital products"},{"name":"Software as a Service","product_tax_code":"30050","description":"Pre-written
55
+ computer software delivered electronically"}]}'
56
+ http_version:
57
+ recorded_at: Fri, 26 Jun 2015 10:54:05 GMT
58
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://api.taxjar.com/v2/enhanced/transactions/orders/123456
6
+ body:
7
+ encoding: UTF-8
8
+ string: amount=10&from_city=Camarillo&from_country=US&from_state=CA&from_zip=93010&line_items%5B%5D%5Bid%5D=123456&line_items%5B%5D%5Bquantity%5D=1&line_items%5B%5D%5Bunit_price%5D=20&sales_tax=0.84&shipping=2&to_city=Freehold&to_country=US&to_state=NJ&to_zip=07728&transaction_date=2015%2F06%2F26
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ User-Agent:
13
+ - Taxjar ruby Gem 0.1.0
14
+ Authorization:
15
+ - Token token="dae79dc5154ccabd7cb169f616d605e7"
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - Cowboy
27
+ Connection:
28
+ - keep-alive
29
+ Date:
30
+ - Fri, 26 Jun 2015 11:43:14 GMT
31
+ Status:
32
+ - 200 OK
33
+ Content-Type:
34
+ - application/json
35
+ Content-Length:
36
+ - '495'
37
+ Etag:
38
+ - '"10809675205f5a521c954c042bb3ec53"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ X-Request-Id:
42
+ - 28be5d53-65e4-497d-aafd-984bdc0e763e
43
+ X-Runtime:
44
+ - '0.669167'
45
+ Via:
46
+ - 1.1 vegur
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"order":{"transaction_id":"123456","user_id":440,"transaction_date":"2015-06-26T00:00:00Z","from_country":"US","from_zip":"93010","from_state":"CA","from_city":"CAMARILLO","from_street":null,"to_country":"US","to_zip":"07728","to_state":"NJ","to_city":"FREEHOLD","to_street":null,"amount":"10.0","shipping":"2.0","sales_tax":"0.84","line_items":[{"id":1,"quantity":1,"product_identifier":null,"product_tax_code":null,"description":null,"unit_price":"20.0","discount":"0.0","sales_tax":"0.0"}]}}'
50
+ http_version:
51
+ recorded_at: Fri, 26 Jun 2015 11:43:25 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://api.taxjar.com/v2/enhanced/transactions/refunds/REFUND_123456
6
+ body:
7
+ encoding: UTF-8
8
+ string: amount=10&from_city=Camarillo&from_country=US&from_state=CA&from_zip=93010&line_items%5B%5D%5Bid%5D=123456&line_items%5B%5D%5Bquantity%5D=1&line_items%5B%5D%5Bunit_price%5D=20&sales_tax=0.84&shipping=2&to_city=Freehold&to_country=US&to_state=NJ&to_zip=07728&transaction_date=2015%2F06%2F26&transaction_reference_id=123456
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ User-Agent:
13
+ - Taxjar ruby Gem 0.1.0
14
+ Authorization:
15
+ - Token token="dae79dc5154ccabd7cb169f616d605e7"
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - Cowboy
27
+ Connection:
28
+ - keep-alive
29
+ Date:
30
+ - Fri, 26 Jun 2015 12:03:06 GMT
31
+ Status:
32
+ - 200 OK
33
+ Content-Type:
34
+ - application/json
35
+ Content-Length:
36
+ - '539'
37
+ Etag:
38
+ - '"32c9d35f24aede17ea2a3831eb0b81c2"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ X-Request-Id:
42
+ - 4ef6e4b2-b27c-4807-90a5-52422758a3c4
43
+ X-Runtime:
44
+ - '0.339815'
45
+ Via:
46
+ - 1.1 vegur
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"refund":{"transaction_id":"REFUND_123456","user_id":440,"transaction_date":"2015-06-26T00:00:00Z","transaction_reference_id":"123456","from_country":"US","from_zip":"93010","from_state":"CA","from_city":"CAMARILLO","from_street":null,"to_country":"US","to_zip":"07728","to_state":"NJ","to_city":"FREEHOLD","to_street":null,"amount":"10.0","shipping":"2.0","sales_tax":"0.84","line_items":[{"id":1,"quantity":1,"product_identifier":null,"product_tax_code":null,"description":null,"unit_price":"20.0","discount":"0.0","sales_tax":"0.0"}]}}'
50
+ http_version:
51
+ recorded_at: Fri, 26 Jun 2015 12:03:17 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.taxjar.com/v2/standard/taxes
6
+ body:
7
+ encoding: UTF-8
8
+ string: amount=10&from_city=Ramsey&from_country=US&from_state=NJ&from_zip=07446&shipping=2&to_city=Freehold&to_country=US&to_state=NJ&to_zip=07728
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ User-Agent:
13
+ - Taxjar ruby Gem 0.1.0
14
+ Authorization:
15
+ - Token token="dae79dc5154ccabd7cb169f616d605e7"
16
+ Content-Type:
17
+ - application/x-www-form-urlencoded
18
+ Accept-Encoding:
19
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - Cowboy
27
+ Connection:
28
+ - keep-alive
29
+ Date:
30
+ - Thu, 25 Jun 2015 12:30:57 GMT
31
+ Status:
32
+ - 200 OK
33
+ Content-Type:
34
+ - application/json
35
+ Content-Length:
36
+ - '137'
37
+ Etag:
38
+ - '"f5fa2826a66a2b9ac360ed7be14f1679"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ X-Request-Id:
42
+ - dcc0bec5-4749-4b20-bfbe-1a50582abcf3
43
+ X-Runtime:
44
+ - '0.453908'
45
+ Via:
46
+ - 1.1 vegur
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"tax":{"taxable_amount":"12.0","amount_to_collect":0.84,"rate":0.07,"has_nexus":true,"freight_taxable":true,"tax_source":"destination"}}'
50
+ http_version:
51
+ recorded_at: Thu, 25 Jun 2015 12:31:06 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.taxjar.com/v2/standard/rates/07446?city=Ramsey&country=US
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json; charset=utf-8
12
+ User-Agent:
13
+ - Taxjar ruby Gem 0.1.0
14
+ Authorization:
15
+ - Token token="dae79dc5154ccabd7cb169f616d605e7"
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - Cowboy
25
+ Connection:
26
+ - keep-alive
27
+ Date:
28
+ - Thu, 25 Jun 2015 14:48:52 GMT
29
+ Status:
30
+ - 200 OK
31
+ Content-Type:
32
+ - application/json
33
+ Content-Length:
34
+ - '183'
35
+ Etag:
36
+ - '"4d36d5fe8325a3598f7523580c88830a"'
37
+ Cache-Control:
38
+ - max-age=0, private, must-revalidate
39
+ X-Request-Id:
40
+ - 173d512a-3f80-49a6-a079-07b6509f8c4e
41
+ X-Runtime:
42
+ - '0.053635'
43
+ Via:
44
+ - 1.1 vegur
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"rate":{"zip":"07446","state":"NJ","state_rate":"0.07","county":"BERGEN","county_rate":"0.0","city":"RAMSEY","city_rate":"0.0","combined_district_rate":"0.0","combined_rate":"0.07"}}'
48
+ http_version:
49
+ recorded_at: Thu, 25 Jun 2015 14:49:01 GMT
50
+ recorded_with: VCR 2.9.3
@@ -2,46 +2,179 @@ require "test_helper"
2
2
 
3
3
  describe Taxjar::Client do
4
4
 
5
- describe ".sales_tax" do
5
+ before do
6
+ @options_sales_tax = {
7
+ amount: 10,
8
+ shipping: 2,
9
+ to_country: "US",
10
+ to_state: "NJ",
11
+ to_city: "Freehold",
12
+ to_zip: "07728",
13
+ from_country: "US",
14
+ from_state: "NJ",
15
+ from_city: "Ramsey",
16
+ from_zip: "07446"
17
+ }
18
+
19
+ @options_tax_rate = {
20
+ zip: "07446",
21
+ city: "Ramsey",
22
+ country: "US"
23
+ }
24
+
25
+ @options_order_transaction = {
26
+ transaction_id: "123456",
27
+ transaction_date: "2015/06/26",
28
+ amount: 10,
29
+ shipping: 2,
30
+ sales_tax: 0.84,
31
+ to_country: "US",
32
+ to_state: "NJ",
33
+ to_city: "Freehold",
34
+ to_zip: "07728",
35
+ from_country: "US",
36
+ from_state: "CA",
37
+ from_city: "Camarillo",
38
+ from_zip: "93010",
39
+ line_items: [
40
+ {
41
+ id: 123456,
42
+ unit_price: 20,
43
+ quantity: 1
44
+ }
45
+ ]
46
+ }
47
+
48
+ @options_refund_transaction = {
49
+ transaction_id: "REFUND_123456",
50
+ transaction_date: "2015/06/26",
51
+ transaction_reference_id: "123456",
52
+ amount: 10,
53
+ shipping: 2,
54
+ sales_tax: 0.84,
55
+ to_country: "US",
56
+ to_state: "NJ",
57
+ to_city: "Freehold",
58
+ to_zip: "07728",
59
+ from_country: "US",
60
+ from_state: "CA",
61
+ from_city: "Camarillo",
62
+ from_zip: "93010",
63
+ line_items: [
64
+ {
65
+ id: 123456,
66
+ unit_price: 20,
67
+ quantity: 1
68
+ }
69
+ ]
70
+ }
71
+ end
72
+
73
+ describe "v1" do
6
74
  before do
7
- @options = {
8
- amount: 10,
9
- shipping: 2,
10
- to_country: "US",
11
- to_state: "NJ",
12
- to_city: "Freehold",
13
- to_zip: "07728",
14
- from_country: "US",
15
- from_state: "NJ",
16
- from_city: "Ramsey",
17
- from_zip: "07446"
18
- }
75
+ Taxjar.configure do |config|
76
+ config.api_version = 1
77
+ config.api_tier = nil
78
+ end
19
79
  end
20
80
 
21
- it "should return a SalesTax" do
22
- VCR.use_cassette("sales_tax") do
23
- response = Taxjar::Client.new.sales_tax(@options)
24
- response.must_be :hash
81
+ describe ".sales_tax" do
82
+ it "should return a SalesTax" do
83
+ VCR.use_cassette("v1/sales_tax") do
84
+ response = Taxjar::Client.new.sales_tax(@options_sales_tax)
85
+ response.must_be :hash
86
+ end
87
+ end
88
+ end
89
+
90
+ describe ".tax_rate" do
91
+ it "should return a TaxRate" do
92
+ VCR.use_cassette("v1/tax_rate") do
93
+ response = Taxjar::Client.new.tax_rate(@options_tax_rate)
94
+ response.must_be :hash
95
+ end
25
96
  end
26
97
  end
27
98
  end
28
99
 
29
- describe ".tax_rate" do
100
+ describe "v2" do
30
101
  before do
31
- @options = {
32
- zip: "07446",
33
- city: "Ramsey",
34
- country: "US"
35
- }
102
+ Taxjar.api_version = 2
36
103
  end
37
104
 
38
- it "should return a TaxRate" do
39
- VCR.use_cassette("tax_rate") do
40
- response = Taxjar::Client.new.tax_rate(@options)
41
- response.must_be :hash
105
+ describe "standard" do
106
+ before do
107
+ Taxjar.api_tier = 'standard'
108
+ end
109
+
110
+ describe ".sales_tax" do
111
+ it "should return a SalesTax" do
112
+ VCR.use_cassette("v2/standard/sales_tax") do
113
+ response = Taxjar::Client.new.sales_tax(@options_sales_tax)
114
+ response.must_be :hash
115
+ end
116
+ end
117
+ end
118
+
119
+ describe ".tax_rate" do
120
+ it "should return a TaxRate" do
121
+ VCR.use_cassette("v2/standard/tax_rate") do
122
+ response = Taxjar::Client.new.tax_rate(@options_tax_rate)
123
+ response.must_be :hash
124
+ end
125
+ end
42
126
  end
43
127
  end
44
- end
45
128
 
129
+ describe "enhanced" do
130
+ before do
131
+ Taxjar.api_tier = 'enhanced'
132
+ end
133
+
134
+ describe ".list_categories" do
135
+ it "should list tax categories" do
136
+ VCR.use_cassette("v2/enhanced/list_categories") do
137
+ response = Taxjar::Client.new.list_categories()
138
+ response.must_be :hash
139
+ end
140
+ end
141
+ end
46
142
 
143
+ describe ".create_order_transaction" do
144
+ it "should create a new order transaction" do
145
+ VCR.use_cassette("v2/enhanced/create_order_transaction") do
146
+ response = Taxjar::Client.new.create_order_transaction(@options_order_transaction)
147
+ response.must_be :hash
148
+ end
149
+ end
150
+ end
151
+
152
+ describe ".update_order_transaction" do
153
+ it "should update order transaction" do
154
+ VCR.use_cassette("v2/enhanced/update_order_transaction") do
155
+ response = Taxjar::Client.new.update_order_transaction(@options_order_transaction)
156
+ response.must_be :hash
157
+ end
158
+ end
159
+ end
160
+
161
+ describe ".create_refund_transaction" do
162
+ it "should create a new refund transaction" do
163
+ VCR.use_cassette("v2/enhanced/create_refund_transaction") do
164
+ response = Taxjar::Client.new.create_refund_transaction(@options_refund_transaction)
165
+ response.must_be :hash
166
+ end
167
+ end
168
+ end
169
+
170
+ describe ".update_refund_transaction" do
171
+ it "should update refund transaction" do
172
+ VCR.use_cassette("v2/enhanced/update_refund_transaction") do
173
+ response = Taxjar::Client.new.update_refund_transaction(@options_refund_transaction)
174
+ response.must_be :hash
175
+ end
176
+ end
177
+ end
178
+ end
179
+ end
47
180
  end
@@ -2,7 +2,7 @@ require "./test/test_helper"
2
2
 
3
3
  describe "configuration" do
4
4
 
5
- after do
5
+ before do
6
6
  Taxjar.reset
7
7
  end
8
8
 
File without changes
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taxjar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
- - Darren Johnson
7
+ - Darren Johnson, Ladislav Marsik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-31 00:00:00.000000000 Z
11
+ date: 2015-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -154,7 +154,7 @@ dependencies:
154
154
  version: '1.0'
155
155
  description: A Ruby wrapper for the Taxjar API's sales tax and tax rate endpoints
156
156
  email:
157
- - darrenbjohnson@gmail.com
157
+ - darrenbjohnson@gmail.com, laci.marsik@gmail.com
158
158
  executables: []
159
159
  extensions: []
160
160
  extra_rdoc_files: []
@@ -171,8 +171,15 @@ files:
171
171
  - lib/taxjar/error.rb
172
172
  - lib/taxjar/version.rb
173
173
  - taxjar.gemspec
174
- - test/fixtures/sales_tax.yml
175
- - test/fixtures/tax_rate.yml
174
+ - test/fixtures/v1/sales_tax.yml
175
+ - test/fixtures/v1/tax_rate.yml
176
+ - test/fixtures/v2/enhanced/create_order_transaction.yml
177
+ - test/fixtures/v2/enhanced/create_refund_transaction.yml
178
+ - test/fixtures/v2/enhanced/list_categories.yml
179
+ - test/fixtures/v2/enhanced/update_order_transaction.yml
180
+ - test/fixtures/v2/enhanced/update_refund_transaction.yml
181
+ - test/fixtures/v2/standard/sales_tax.yml
182
+ - test/fixtures/v2/standard/tax_rate.yml
176
183
  - test/taxjar/client_test.rb
177
184
  - test/taxjar/configuration_test.rb
178
185
  - test/taxjar/taxjar_test.rb
@@ -197,13 +204,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
204
  version: '0'
198
205
  requirements: []
199
206
  rubyforge_project:
200
- rubygems_version: 2.4.3
207
+ rubygems_version: 2.4.6
201
208
  signing_key:
202
209
  specification_version: 4
203
210
  summary: A Ruby wrapper for the Taxjar API
204
211
  test_files:
205
- - test/fixtures/sales_tax.yml
206
- - test/fixtures/tax_rate.yml
212
+ - test/fixtures/v1/sales_tax.yml
213
+ - test/fixtures/v1/tax_rate.yml
214
+ - test/fixtures/v2/enhanced/create_order_transaction.yml
215
+ - test/fixtures/v2/enhanced/create_refund_transaction.yml
216
+ - test/fixtures/v2/enhanced/list_categories.yml
217
+ - test/fixtures/v2/enhanced/update_order_transaction.yml
218
+ - test/fixtures/v2/enhanced/update_refund_transaction.yml
219
+ - test/fixtures/v2/standard/sales_tax.yml
220
+ - test/fixtures/v2/standard/tax_rate.yml
207
221
  - test/taxjar/client_test.rb
208
222
  - test/taxjar/configuration_test.rb
209
223
  - test/taxjar/taxjar_test.rb