suretax 1.0.2 → 1.1.2
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 +5 -5
- data/.circleci/config.yml +44 -0
- data/.env.test +4 -0
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/Gemfile +9 -1
- data/Gemfile.lock +49 -42
- data/README.md +2 -6
- data/lib/suretax.rb +4 -3
- data/lib/suretax/api/request.rb +1 -0
- data/lib/suretax/configuration.rb +11 -11
- data/lib/suretax/constants.rb +2 -0
- data/lib/suretax/constants/tax_type_exemption_code_mapping.rb +28 -0
- data/lib/suretax/response.rb +2 -0
- data/lib/suretax/version.rb +1 -1
- data/spec/lib/suretax/response_spec.rb +8 -0
- data/spec/spec_helper.rb +4 -8
- data/spec/support/request_helper.rb +18 -0
- data/suretax.gemspec +1 -10
- metadata +8 -120
- data/NOTES.md +0 -3
- data/circle.yml +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 620a9d4fb40588a041c883da4f0ebeba65d78a03b1b215808c1ad92b8d5cd48d
|
|
4
|
+
data.tar.gz: 1070aa9064d87eddfa9e541e75cfd45413f95fb9baff06718ae4505b108a76a3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 38ded09d6aa2104b5aa384669a6f5a51ee18178844b0a1e08909cefc9cb8ba549d6a46ce12d167786c872990bf83158e62b33d5274fd696e8bb0f1d977f4792d
|
|
7
|
+
data.tar.gz: c6931fb4060cb38e409f6b9adead8a81c5b8eb30c6f1af566c678afecb70008dd1ab96b7dce02be95107b481dfc5de8c18f287955cd371cb1e106e11662804e3
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
jobs:
|
|
3
|
+
build:
|
|
4
|
+
docker:
|
|
5
|
+
- image: circleci/ruby:2.7.0
|
|
6
|
+
environment:
|
|
7
|
+
RAILS_ENV: test
|
|
8
|
+
RAKE_ENV: test
|
|
9
|
+
SURETAX_BASE_URL: "https://testapi.taxrating.net"
|
|
10
|
+
SURETAX_VALIDATION_KEY: "xxxxxxxxxx"
|
|
11
|
+
SURETAX_CLIENT_NUMBER: "000000000"
|
|
12
|
+
SURETAX_POST_PATH: "/Services/V01/SureTax.asmx/PostRequest"
|
|
13
|
+
SURETAX_CANCEL_PATH: "/Services/V01/SureTax.asmx/CancelPostRequest"
|
|
14
|
+
working_directory: ~/suretax
|
|
15
|
+
steps:
|
|
16
|
+
- checkout
|
|
17
|
+
- restore_cache:
|
|
18
|
+
keys:
|
|
19
|
+
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
|
20
|
+
# fallback to using the latest cache if no exact match is found
|
|
21
|
+
- v1-dependencies-
|
|
22
|
+
- run:
|
|
23
|
+
name: install dependencies
|
|
24
|
+
command: |
|
|
25
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
|
26
|
+
- save_cache:
|
|
27
|
+
paths:
|
|
28
|
+
- ./vendor/bundle
|
|
29
|
+
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
|
30
|
+
- run:
|
|
31
|
+
name: run tests
|
|
32
|
+
command: |
|
|
33
|
+
mkdir /tmp/test-results
|
|
34
|
+
TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
|
|
35
|
+
bundle exec rspec --format progress \
|
|
36
|
+
--format RspecJunitFormatter \
|
|
37
|
+
--out /tmp/test-results/rspec.xml \
|
|
38
|
+
--format progress \
|
|
39
|
+
$TEST_FILES
|
|
40
|
+
- store_test_results:
|
|
41
|
+
path: /tmp/test-results
|
|
42
|
+
- store_artifacts:
|
|
43
|
+
path: /tmp/test-results
|
|
44
|
+
destination: test-results
|
data/.env.test
ADDED
data/.rubocop.yml
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.7.0
|
data/Gemfile
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
source "https://rubygems.org"
|
|
2
2
|
|
|
3
|
-
# Specify your gem's dependencies in suretax.gemspec
|
|
4
3
|
gemspec
|
|
4
|
+
|
|
5
|
+
group :development, :test do
|
|
6
|
+
gem "dotenv"
|
|
7
|
+
gem "pry-byebug"
|
|
8
|
+
gem "rspec", "~> 3.9.0"
|
|
9
|
+
gem "rspec-its"
|
|
10
|
+
gem "rspec_junit_formatter"
|
|
11
|
+
gem "webmock"
|
|
12
|
+
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,67 +1,74 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
suretax (1.
|
|
4
|
+
suretax (1.1.2)
|
|
5
5
|
excon
|
|
6
6
|
monetize
|
|
7
|
-
money (~> 6.
|
|
7
|
+
money (~> 6.13)
|
|
8
8
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
|
-
addressable (2.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
addressable (2.7.0)
|
|
13
|
+
public_suffix (>= 2.0.2, < 5.0)
|
|
14
|
+
byebug (11.1.3)
|
|
15
|
+
coderay (1.1.2)
|
|
16
|
+
concurrent-ruby (1.1.6)
|
|
17
|
+
crack (0.4.3)
|
|
16
18
|
safe_yaml (~> 1.0.0)
|
|
17
|
-
diff-lcs (1.
|
|
18
|
-
dotenv (
|
|
19
|
-
excon (0.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
rspec
|
|
36
|
-
rspec-
|
|
37
|
-
|
|
19
|
+
diff-lcs (1.3)
|
|
20
|
+
dotenv (2.7.5)
|
|
21
|
+
excon (0.73.0)
|
|
22
|
+
hashdiff (1.0.1)
|
|
23
|
+
i18n (1.8.2)
|
|
24
|
+
concurrent-ruby (~> 1.0)
|
|
25
|
+
method_source (1.0.0)
|
|
26
|
+
monetize (1.9.4)
|
|
27
|
+
money (~> 6.12)
|
|
28
|
+
money (6.13.7)
|
|
29
|
+
i18n (>= 0.6.4, <= 2)
|
|
30
|
+
pry (0.13.1)
|
|
31
|
+
coderay (~> 1.1)
|
|
32
|
+
method_source (~> 1.0)
|
|
33
|
+
pry-byebug (3.9.0)
|
|
34
|
+
byebug (~> 11.0)
|
|
35
|
+
pry (~> 0.13.0)
|
|
36
|
+
public_suffix (4.0.5)
|
|
37
|
+
rspec (3.9.0)
|
|
38
|
+
rspec-core (~> 3.9.0)
|
|
39
|
+
rspec-expectations (~> 3.9.0)
|
|
40
|
+
rspec-mocks (~> 3.9.0)
|
|
41
|
+
rspec-core (3.9.2)
|
|
42
|
+
rspec-support (~> 3.9.3)
|
|
43
|
+
rspec-expectations (3.9.2)
|
|
38
44
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
39
|
-
rspec-support (~> 3.
|
|
40
|
-
rspec-its (1.
|
|
45
|
+
rspec-support (~> 3.9.0)
|
|
46
|
+
rspec-its (1.3.0)
|
|
41
47
|
rspec-core (>= 3.0.0)
|
|
42
48
|
rspec-expectations (>= 3.0.0)
|
|
43
|
-
rspec-mocks (3.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
+
rspec-mocks (3.9.1)
|
|
50
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
51
|
+
rspec-support (~> 3.9.0)
|
|
52
|
+
rspec-support (3.9.3)
|
|
53
|
+
rspec_junit_formatter (0.4.1)
|
|
54
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
|
55
|
+
safe_yaml (1.0.5)
|
|
56
|
+
webmock (3.8.3)
|
|
49
57
|
addressable (>= 2.3.6)
|
|
50
58
|
crack (>= 0.3.2)
|
|
59
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
|
51
60
|
|
|
52
61
|
PLATFORMS
|
|
53
62
|
ruby
|
|
54
63
|
|
|
55
64
|
DEPENDENCIES
|
|
56
|
-
awesome_print
|
|
57
|
-
bundler (~> 1.3)
|
|
58
65
|
dotenv
|
|
59
|
-
pry
|
|
60
|
-
|
|
61
|
-
rspec
|
|
62
|
-
|
|
66
|
+
pry-byebug
|
|
67
|
+
rspec (~> 3.9.0)
|
|
68
|
+
rspec-its
|
|
69
|
+
rspec_junit_formatter
|
|
63
70
|
suretax!
|
|
64
71
|
webmock
|
|
65
72
|
|
|
66
73
|
BUNDLED WITH
|
|
67
|
-
1.
|
|
74
|
+
2.1.2
|
data/README.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# Suretax
|
|
2
|
-
[](https://codeclimate.com/github/hello-labs/suretax)
|
|
4
3
|
|
|
5
4
|
## Synopsis
|
|
6
5
|
|
|
@@ -28,17 +27,14 @@ Suretax transactions. The validation_key, client_number, and
|
|
|
28
27
|
base_url may be overridden by supplying the key when instantiating
|
|
29
28
|
a Suretax::Api::Request object.
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
If not supplied, the base_url will default to the Suretax test
|
|
30
|
+
If not supplied, the base_url will default to the Suretax test
|
|
33
31
|
host (https://testapi.taxrating.net) and the request version
|
|
34
32
|
and cancel version will default to the latest versions available
|
|
35
33
|
(currently V03 and V01 respectively).
|
|
36
34
|
|
|
37
|
-
|
|
38
35
|
You can peek inside the tests for more examples and to see what data
|
|
39
36
|
methods are available.
|
|
40
37
|
|
|
41
|
-
|
|
42
38
|
## Development Environment
|
|
43
39
|
|
|
44
40
|
Suretax uses [dotenv] to easily switch between development/test environments
|
data/lib/suretax.rb
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
require "suretax/version"
|
|
2
|
-
|
|
3
2
|
require "suretax/concerns"
|
|
4
|
-
|
|
5
3
|
require "suretax/configuration"
|
|
6
4
|
require "suretax/connection"
|
|
7
5
|
require "suretax/response"
|
|
8
6
|
require "suretax/constants"
|
|
9
7
|
require "suretax/api"
|
|
10
|
-
|
|
11
8
|
require "money"
|
|
12
9
|
|
|
10
|
+
Money.locale_backend = :currency
|
|
11
|
+
Money.default_currency = Money::Currency.new("USD")
|
|
12
|
+
Money.rounding_mode = BigDecimal::ROUND_HALF_EVEN
|
|
13
|
+
|
|
13
14
|
module Suretax
|
|
14
15
|
class << self
|
|
15
16
|
attr_accessor :configuration
|
data/lib/suretax/api/request.rb
CHANGED
|
@@ -64,17 +64,17 @@ module Suretax
|
|
|
64
64
|
def register_dollar_with_six_decimal_places
|
|
65
65
|
Money::Currency.register(
|
|
66
66
|
priority: 1,
|
|
67
|
-
iso_code: "US6",
|
|
68
|
-
iso_numeric: "840",
|
|
69
|
-
name: "Dollar with six decimal places",
|
|
70
|
-
symbol: "$",
|
|
71
|
-
subunit: "Cent",
|
|
72
|
-
subunit_to_unit: 1_000_000,
|
|
73
|
-
symbol_first: true,
|
|
74
|
-
html_entity: "$",
|
|
75
|
-
decimal_mark: ".",
|
|
76
|
-
thousands_separator: ",",
|
|
77
|
-
symbolize_names: true
|
|
67
|
+
iso_code: "US6",
|
|
68
|
+
iso_numeric: "840",
|
|
69
|
+
name: "Dollar with six decimal places",
|
|
70
|
+
symbol: "$",
|
|
71
|
+
subunit: "Cent",
|
|
72
|
+
subunit_to_unit: 1_000_000,
|
|
73
|
+
symbol_first: true,
|
|
74
|
+
html_entity: "$",
|
|
75
|
+
decimal_mark: ".",
|
|
76
|
+
thousands_separator: ",",
|
|
77
|
+
symbolize_names: true
|
|
78
78
|
)
|
|
79
79
|
end
|
|
80
80
|
end
|
data/lib/suretax/constants.rb
CHANGED
|
@@ -4,4 +4,6 @@ module Suretax
|
|
|
4
4
|
require "suretax/constants/sales_type_codes"
|
|
5
5
|
require "suretax/constants/tax_situs_codes"
|
|
6
6
|
require "suretax/constants/transaction_type_codes"
|
|
7
|
+
require "suretax/constants/tax_exemption_codes"
|
|
8
|
+
require "suretax/constants/tax_type_exemption_code_mapping"
|
|
7
9
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module Suretax
|
|
2
|
+
TAX_TYPE_EXEMPTION_CODES = [
|
|
3
|
+
{ "exemption_code" => "01", "tax_types" => %w[000] },
|
|
4
|
+
{ "exemption_code" => "24", "tax_types" => %w[035] },
|
|
5
|
+
{ "exemption_code" => "35", "tax_types" => %w[060] },
|
|
6
|
+
{ "exemption_code" => "09", "tax_types" => %w[000 035 060] },
|
|
7
|
+
{ "exemption_code" => "11", "tax_types" => %w[106 133 233 333 433 533] },
|
|
8
|
+
{ "exemption_code" => "13", "tax_types" => %w[224 324 424] },
|
|
9
|
+
{ "exemption_code" => "14", "tax_types" => %w[106 133 233 333 433 533] },
|
|
10
|
+
{ "exemption_code" => "20", "tax_types" => %w[108 208 308 408 508] },
|
|
11
|
+
{ "exemption_code" => "21", "tax_types" => %w[128 228 328 428 528 132 232 332 432 532] },
|
|
12
|
+
{ "exemption_code" => "22", "tax_types" => %w[126 226 326 426 526] },
|
|
13
|
+
{ "exemption_code" => "23", "tax_types" => %w[126 226 326 426 526 128 228 328 428 528 132 232 332 432 532] },
|
|
14
|
+
{ "exemption_code" => "31", "tax_types" => %w[101] },
|
|
15
|
+
{ "exemption_code" => "25", "tax_types" => %w[000 035 101] },
|
|
16
|
+
{ "exemption_code" => "26", "tax_types" => %w[127] },
|
|
17
|
+
{ "exemption_code" => "30", "tax_types" => %w[127 227 327 427 137 237 337 437] },
|
|
18
|
+
{ "exemption_code" => "36", "tax_types" => %w[051 151 251 351 451 551] },
|
|
19
|
+
{ "exemption_code" => "37", "tax_types" => %w[042 142 242 342 442 542] },
|
|
20
|
+
{ "exemption_code" => "38", "tax_types" => %w[041 141 241 341 441 541] },
|
|
21
|
+
{ "exemption_code" => "39", "tax_types" => %w[040 140 240 340 440 540] },
|
|
22
|
+
{ "exemption_code" => "41", "tax_types" => %w[016 116 216 316 416 516] },
|
|
23
|
+
{ "exemption_code" => "42", "tax_types" => %w[117 127 417 427] },
|
|
24
|
+
{ "exemption_code" => "43", "tax_types" => %w[022 122 222 322 422 522] },
|
|
25
|
+
{ "exemption_code" => "45", "tax_types" => %w[123] },
|
|
26
|
+
{ "exemption_code" => "46", "tax_types" => %w[236 336 436 536] }
|
|
27
|
+
].freeze
|
|
28
|
+
end
|
data/lib/suretax/response.rb
CHANGED
|
@@ -27,6 +27,8 @@ module Suretax
|
|
|
27
27
|
@status = map_response_code_to_http_status(api.status)
|
|
28
28
|
log_response
|
|
29
29
|
self
|
|
30
|
+
rescue JSON::ParserError => e
|
|
31
|
+
raise(Suretax::Api::ConnectionError, "Failed to parse response from SureTax: #{e.inspect}")
|
|
30
32
|
end
|
|
31
33
|
|
|
32
34
|
def invalid_request_response(sanitized_body)
|
data/lib/suretax/version.rb
CHANGED
|
@@ -129,4 +129,12 @@ describe Suretax::Response do
|
|
|
129
129
|
expect(client_response).to_not be_success
|
|
130
130
|
end
|
|
131
131
|
end
|
|
132
|
+
|
|
133
|
+
context "when posting fails with a html error" do
|
|
134
|
+
let(:response_body) { suretax_wrap_response("html error") }
|
|
135
|
+
|
|
136
|
+
it "should raise connection error" do
|
|
137
|
+
expect { client_response }.to raise_error(Suretax::Api::ConnectionError)
|
|
138
|
+
end
|
|
139
|
+
end
|
|
132
140
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
require "dotenv"
|
|
2
|
-
Dotenv.load
|
|
1
|
+
require "dotenv"
|
|
2
|
+
Dotenv.load(".env.test")
|
|
3
3
|
|
|
4
4
|
require "pry"
|
|
5
5
|
require "rspec"
|
|
6
6
|
require "rspec/its"
|
|
7
7
|
require "suretax"
|
|
8
|
-
require "awesome_print"
|
|
9
8
|
require "webmock/rspec"
|
|
10
9
|
|
|
11
10
|
# Load support files
|
|
@@ -16,8 +15,8 @@ end
|
|
|
16
15
|
RSpec.configure do |config|
|
|
17
16
|
config.before(:each) do
|
|
18
17
|
Suretax.configure do |c|
|
|
19
|
-
c.validation_key
|
|
20
|
-
c.client_number
|
|
18
|
+
c.validation_key = ENV["SURETAX_VALIDATION_KEY"]
|
|
19
|
+
c.client_number = ENV["SURETAX_CLIENT_NUMBER"]
|
|
21
20
|
end
|
|
22
21
|
end
|
|
23
22
|
|
|
@@ -30,9 +29,6 @@ RSpec.configure do |config|
|
|
|
30
29
|
end
|
|
31
30
|
end
|
|
32
31
|
|
|
33
|
-
# Silence deprecation warning from money/monetize libraries
|
|
34
|
-
I18n.enforce_available_locales = false
|
|
35
|
-
|
|
36
32
|
include RequestSpecHelper
|
|
37
33
|
include CancellationSpecHelper
|
|
38
34
|
include SuretaxSpecHelper
|
|
@@ -351,4 +351,22 @@ module RequestSpecHelper
|
|
|
351
351
|
common_carrier: nil
|
|
352
352
|
}
|
|
353
353
|
end
|
|
354
|
+
|
|
355
|
+
def suretax_html_error
|
|
356
|
+
"<html xmlns='http://www.w3.org/1999/xhtml'>
|
|
357
|
+
<head>
|
|
358
|
+
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
|
|
359
|
+
<title>502 - Web server received an invalid response while acting as a gateway or proxy server.</title>
|
|
360
|
+
</head>
|
|
361
|
+
<body>
|
|
362
|
+
<div id='header'><h1>Server Error</h1></div>
|
|
363
|
+
<div id='content'>
|
|
364
|
+
<div class='content-container'><fieldset>
|
|
365
|
+
<h2>502 - Web server received an invalid response while acting as a gateway or proxy server.</h2>
|
|
366
|
+
<h3>There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.</h3>
|
|
367
|
+
</fieldset></div>
|
|
368
|
+
</div>
|
|
369
|
+
</body>
|
|
370
|
+
</html>"
|
|
371
|
+
end
|
|
354
372
|
end
|
data/suretax.gemspec
CHANGED
|
@@ -20,15 +20,6 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.require_paths = ["lib"]
|
|
21
21
|
|
|
22
22
|
spec.add_dependency "excon"
|
|
23
|
-
spec.add_dependency "money", "~> 6.
|
|
23
|
+
spec.add_dependency "money", "~> 6.13"
|
|
24
24
|
spec.add_dependency "monetize"
|
|
25
|
-
|
|
26
|
-
spec.add_development_dependency "bundler", "~> 1.3"
|
|
27
|
-
spec.add_development_dependency "rake"
|
|
28
|
-
spec.add_development_dependency "rspec", "~> 3.0.0"
|
|
29
|
-
spec.add_development_dependency "rspec-its", "~> 1.0"
|
|
30
|
-
spec.add_development_dependency "dotenv"
|
|
31
|
-
spec.add_development_dependency "awesome_print"
|
|
32
|
-
spec.add_development_dependency "webmock"
|
|
33
|
-
spec.add_development_dependency "pry"
|
|
34
25
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: suretax
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Damon Davison
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-06-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: excon
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 6.
|
|
33
|
+
version: '6.13'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 6.
|
|
40
|
+
version: '6.13'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: monetize
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,118 +52,6 @@ dependencies:
|
|
|
52
52
|
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: bundler
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '1.3'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '1.3'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rake
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ">="
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: rspec
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - "~>"
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: 3.0.0
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - "~>"
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: 3.0.0
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: rspec-its
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - "~>"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '1.0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '1.0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: dotenv
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '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'
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: awesome_print
|
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
|
128
|
-
requirements:
|
|
129
|
-
- - ">="
|
|
130
|
-
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0'
|
|
132
|
-
type: :development
|
|
133
|
-
prerelease: false
|
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
-
requirements:
|
|
136
|
-
- - ">="
|
|
137
|
-
- !ruby/object:Gem::Version
|
|
138
|
-
version: '0'
|
|
139
|
-
- !ruby/object:Gem::Dependency
|
|
140
|
-
name: webmock
|
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
|
142
|
-
requirements:
|
|
143
|
-
- - ">="
|
|
144
|
-
- !ruby/object:Gem::Version
|
|
145
|
-
version: '0'
|
|
146
|
-
type: :development
|
|
147
|
-
prerelease: false
|
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
-
requirements:
|
|
150
|
-
- - ">="
|
|
151
|
-
- !ruby/object:Gem::Version
|
|
152
|
-
version: '0'
|
|
153
|
-
- !ruby/object:Gem::Dependency
|
|
154
|
-
name: pry
|
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
|
156
|
-
requirements:
|
|
157
|
-
- - ">="
|
|
158
|
-
- !ruby/object:Gem::Version
|
|
159
|
-
version: '0'
|
|
160
|
-
type: :development
|
|
161
|
-
prerelease: false
|
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
-
requirements:
|
|
164
|
-
- - ">="
|
|
165
|
-
- !ruby/object:Gem::Version
|
|
166
|
-
version: '0'
|
|
167
55
|
description: A wrapper library for the SureTax communications tax API
|
|
168
56
|
email:
|
|
169
57
|
- damon@allolex.net
|
|
@@ -171,7 +59,9 @@ executables: []
|
|
|
171
59
|
extensions: []
|
|
172
60
|
extra_rdoc_files: []
|
|
173
61
|
files:
|
|
62
|
+
- ".circleci/config.yml"
|
|
174
63
|
- ".env.example"
|
|
64
|
+
- ".env.test"
|
|
175
65
|
- ".gitignore"
|
|
176
66
|
- ".rspec"
|
|
177
67
|
- ".rubocop.yml"
|
|
@@ -179,10 +69,8 @@ files:
|
|
|
179
69
|
- Gemfile
|
|
180
70
|
- Gemfile.lock
|
|
181
71
|
- LICENSE.txt
|
|
182
|
-
- NOTES.md
|
|
183
72
|
- README.md
|
|
184
73
|
- Rakefile
|
|
185
|
-
- circle.yml
|
|
186
74
|
- lib/suretax.rb
|
|
187
75
|
- lib/suretax/api.rb
|
|
188
76
|
- lib/suretax/api/cancel_request.rb
|
|
@@ -203,6 +91,7 @@ files:
|
|
|
203
91
|
- lib/suretax/constants/sales_type_codes.rb
|
|
204
92
|
- lib/suretax/constants/tax_exemption_codes.rb
|
|
205
93
|
- lib/suretax/constants/tax_situs_codes.rb
|
|
94
|
+
- lib/suretax/constants/tax_type_exemption_code_mapping.rb
|
|
206
95
|
- lib/suretax/constants/transaction_type_codes.rb
|
|
207
96
|
- lib/suretax/response.rb
|
|
208
97
|
- lib/suretax/version.rb
|
|
@@ -243,8 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
243
132
|
- !ruby/object:Gem::Version
|
|
244
133
|
version: '0'
|
|
245
134
|
requirements: []
|
|
246
|
-
|
|
247
|
-
rubygems_version: 2.6.11
|
|
135
|
+
rubygems_version: 3.1.2
|
|
248
136
|
signing_key:
|
|
249
137
|
specification_version: 4
|
|
250
138
|
summary: This gem will allow Ruby developers to easily integrate SureTax into their
|
data/NOTES.md
DELETED
data/circle.yml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
machine:
|
|
2
|
-
environment:
|
|
3
|
-
SURETAX_BASE_URL: "https://testapi.taxrating.net"
|
|
4
|
-
SURETAX_VALIDATION_KEY: "xxxxxxxxxx"
|
|
5
|
-
SURETAX_CLIENT_NUMBER: "000000000"
|
|
6
|
-
SURETAX_POST_PATH: "/Services/V01/SureTax.asmx/PostRequest"
|
|
7
|
-
SURETAX_CANCEL_PATH: "/Services/V01/SureTax.asmx/CancelPostRequest"
|