taxjar 0.1.0 → 0.2.0

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