suretax 1.0.3 → 1.1.3
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/concerns/validatable.rb +1 -1
- data/lib/suretax/configuration.rb +11 -11
- data/lib/suretax/constants.rb +1 -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/api/request_validations_spec.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 +3 -12
- metadata +12 -122
- 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: 6616b32694f009669017c7c4d6b1c64b9024a5fe51c347d6b8a2d4954ef17d7c
|
|
4
|
+
data.tar.gz: 7bf041855ab477bdb7cac713b3919917e858e2388d57406baae526448fde86fd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a74f17cf45825db2165efd07e6ae7cc8e80653f23f0385a8e7bbbbedc27b6b1852c796bac108701b9729944d93efd3f0aea8e3158de63b86330ffd0d9cd62620
|
|
7
|
+
data.tar.gz: d7d6f8298f4d41f5e85a6a582708b9526aef2636117793b87dfc12125b54a4eedb989554da94218385ba2771eedb785ad963170bcf5ac192f737e517ecdd8861
|
|
@@ -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.3)
|
|
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.75.0)
|
|
22
|
+
hashdiff (1.0.1)
|
|
23
|
+
i18n (1.8.3)
|
|
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
|
@@ -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
|
@@ -358,7 +358,7 @@ describe "Suretax API Request Validations" do
|
|
|
358
358
|
describe "#response_type" do
|
|
359
359
|
context "when present" do
|
|
360
360
|
it "must be a valid code combination'" do
|
|
361
|
-
%w[D1 D9 S1 S9].each do |type|
|
|
361
|
+
%w[D1 D9 S1 S9 A].each do |type|
|
|
362
362
|
request.response_type = type
|
|
363
363
|
expect(request.errors.any?).to eq false
|
|
364
364
|
end
|
|
@@ -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
|
@@ -7,8 +7,8 @@ require "suretax/version"
|
|
|
7
7
|
Gem::Specification.new do |spec|
|
|
8
8
|
spec.name = "suretax"
|
|
9
9
|
spec.version = Suretax::VERSION
|
|
10
|
-
spec.authors = ["
|
|
11
|
-
spec.email = ["
|
|
10
|
+
spec.authors = ["Pedro Martinez", "Doug Perez"]
|
|
11
|
+
spec.email = ["pedro.martinez@hellolabs.com", "doug.perez@hellolabs.com"]
|
|
12
12
|
spec.description = "A wrapper library for the SureTax communications tax API"
|
|
13
13
|
spec.summary = "This gem will allow Ruby developers to easily integrate SureTax into their apps."
|
|
14
14
|
spec.homepage = ""
|
|
@@ -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,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: suretax
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- Pedro Martinez
|
|
8
|
+
- Doug Perez
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
+
date: 2020-07-02 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: excon
|
|
@@ -30,14 +31,14 @@ dependencies:
|
|
|
30
31
|
requirements:
|
|
31
32
|
- - "~>"
|
|
32
33
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 6.
|
|
34
|
+
version: '6.13'
|
|
34
35
|
type: :runtime
|
|
35
36
|
prerelease: false
|
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
38
|
requirements:
|
|
38
39
|
- - "~>"
|
|
39
40
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 6.
|
|
41
|
+
version: '6.13'
|
|
41
42
|
- !ruby/object:Gem::Dependency
|
|
42
43
|
name: monetize
|
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,126 +53,17 @@ dependencies:
|
|
|
52
53
|
- - ">="
|
|
53
54
|
- !ruby/object:Gem::Version
|
|
54
55
|
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
56
|
description: A wrapper library for the SureTax communications tax API
|
|
168
57
|
email:
|
|
169
|
-
-
|
|
58
|
+
- pedro.martinez@hellolabs.com
|
|
59
|
+
- doug.perez@hellolabs.com
|
|
170
60
|
executables: []
|
|
171
61
|
extensions: []
|
|
172
62
|
extra_rdoc_files: []
|
|
173
63
|
files:
|
|
64
|
+
- ".circleci/config.yml"
|
|
174
65
|
- ".env.example"
|
|
66
|
+
- ".env.test"
|
|
175
67
|
- ".gitignore"
|
|
176
68
|
- ".rspec"
|
|
177
69
|
- ".rubocop.yml"
|
|
@@ -179,10 +71,8 @@ files:
|
|
|
179
71
|
- Gemfile
|
|
180
72
|
- Gemfile.lock
|
|
181
73
|
- LICENSE.txt
|
|
182
|
-
- NOTES.md
|
|
183
74
|
- README.md
|
|
184
75
|
- Rakefile
|
|
185
|
-
- circle.yml
|
|
186
76
|
- lib/suretax.rb
|
|
187
77
|
- lib/suretax/api.rb
|
|
188
78
|
- lib/suretax/api/cancel_request.rb
|
|
@@ -203,6 +93,7 @@ files:
|
|
|
203
93
|
- lib/suretax/constants/sales_type_codes.rb
|
|
204
94
|
- lib/suretax/constants/tax_exemption_codes.rb
|
|
205
95
|
- lib/suretax/constants/tax_situs_codes.rb
|
|
96
|
+
- lib/suretax/constants/tax_type_exemption_code_mapping.rb
|
|
206
97
|
- lib/suretax/constants/transaction_type_codes.rb
|
|
207
98
|
- lib/suretax/response.rb
|
|
208
99
|
- lib/suretax/version.rb
|
|
@@ -243,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
243
134
|
- !ruby/object:Gem::Version
|
|
244
135
|
version: '0'
|
|
245
136
|
requirements: []
|
|
246
|
-
|
|
247
|
-
rubygems_version: 2.6.11
|
|
137
|
+
rubygems_version: 3.1.2
|
|
248
138
|
signing_key:
|
|
249
139
|
specification_version: 4
|
|
250
140
|
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"
|