avatax 21.12.0 → 22.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +55 -55
  3. data/.rspec +1 -1
  4. data/.travis.yml +18 -18
  5. data/.vs/VSWorkspaceState.json +5 -5
  6. data/.yardopts +4 -4
  7. data/Gemfile +2 -2
  8. data/LICENSE +201 -201
  9. data/README.md +98 -98
  10. data/Rakefile +9 -9
  11. data/avatax.gemspec +38 -38
  12. data/example/avatax.rb +47 -47
  13. data/example/credentials.example.yaml +5 -5
  14. data/lib/avatax/api.rb +27 -27
  15. data/lib/avatax/client/accounts.rb +11 -11
  16. data/lib/avatax/client/addresses.rb +2 -2
  17. data/lib/avatax/client/advancedrules.rb +5 -5
  18. data/lib/avatax/client/avafileforms.rb +5 -5
  19. data/lib/avatax/client/batches.rb +8 -8
  20. data/lib/avatax/client/certexpressinvites.rb +3 -3
  21. data/lib/avatax/client/certificates.rb +15 -15
  22. data/lib/avatax/client/companies.rb +40 -21
  23. data/lib/avatax/client/compliance.rb +1 -1
  24. data/lib/avatax/client/contacts.rb +6 -6
  25. data/lib/avatax/client/customers.rb +13 -13
  26. data/lib/avatax/client/datasources.rb +6 -6
  27. data/lib/avatax/client/definitions.rb +70 -70
  28. data/lib/avatax/client/distancethresholds.rb +6 -6
  29. data/lib/avatax/client/ecms.rb +73 -73
  30. data/lib/avatax/client/ecommercetoken.rb +2 -2
  31. data/lib/avatax/client/errortransactions.rb +61 -61
  32. data/lib/avatax/client/filingcalendars.rb +3 -3
  33. data/lib/avatax/client/filings.rb +2 -2
  34. data/lib/avatax/client/firmclientlinkages.rb +9 -9
  35. data/lib/avatax/client/free.rb +1 -1
  36. data/lib/avatax/client/fundingrequests.rb +2 -2
  37. data/lib/avatax/client/items.rb +25 -25
  38. data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
  39. data/lib/avatax/client/locations.rb +12 -12
  40. data/lib/avatax/client/multidocument.rb +10 -10
  41. data/lib/avatax/client/nexus.rb +15 -15
  42. data/lib/avatax/client/notices.rb +4 -4
  43. data/lib/avatax/client/notifications.rb +3 -3
  44. data/lib/avatax/client/onboarding.rb +55 -55
  45. data/lib/avatax/client/pointofsale.rb +21 -21
  46. data/lib/avatax/client/provisioning.rb +2 -2
  47. data/lib/avatax/client/registrar.rb +11 -11
  48. data/lib/avatax/client/reports.rb +4 -4
  49. data/lib/avatax/client/settings.rb +6 -6
  50. data/lib/avatax/client/subscriptions.rb +3 -3
  51. data/lib/avatax/client/taxcodes.rb +6 -6
  52. data/lib/avatax/client/taxcontent.rb +5 -5
  53. data/lib/avatax/client/taxprofiles.rb +42 -42
  54. data/lib/avatax/client/taxrules.rb +6 -6
  55. data/lib/avatax/client/transactions.rb +21 -21
  56. data/lib/avatax/client/upcs.rb +6 -6
  57. data/lib/avatax/client/userdefinedfields.rb +3 -3
  58. data/lib/avatax/client/users.rb +8 -8
  59. data/lib/avatax/client/utilities.rb +3 -3
  60. data/lib/avatax/client.rb +37 -37
  61. data/lib/avatax/configuration.rb +76 -76
  62. data/lib/avatax/connection.rb +49 -49
  63. data/lib/avatax/request.rb +50 -50
  64. data/lib/avatax/version.rb +3 -3
  65. data/lib/avatax.rb +26 -26
  66. data/spec/avatax/client/accounts_spec.rb +13 -13
  67. data/spec/avatax/client/transactions_spec.rb +80 -80
  68. data/spec/avatax/request_spec.rb +25 -25
  69. data/spec/avatax_spec.rb +45 -45
  70. data/spec/credentials.yaml.example +4 -4
  71. data/spec/fixtures/accounts.json +15 -15
  72. data/spec/spec_helper.rb +27 -27
  73. metadata +6 -13
@@ -35,7 +35,7 @@ module AvaTax
35
35
  # @param model [Object] information about the transaction and lines to be added
36
36
  # @return [Object]
37
37
  def add_lines(model, options={}) path = "/api/v2/companies/transactions/lines/add"
38
- post(path, model, options, "21.12.0") end
38
+ post(path, model, options, "22.2.0") end
39
39
 
40
40
  # Correct a previously created transaction
41
41
  #
@@ -81,7 +81,7 @@ module AvaTax
81
81
  # @param model [Object] The adjustment you wish to make
82
82
  # @return [Object]
83
83
  def adjust_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/adjust"
84
- post(path, model, options, "21.12.0") end
84
+ post(path, model, options, "22.2.0") end
85
85
 
86
86
  # Get audit information about a transaction
87
87
  #
@@ -118,7 +118,7 @@ module AvaTax
118
118
  # @param transactionCode [String] The code identifying the transaction
119
119
  # @return [Object]
120
120
  def audit_transaction(companyCode, transactionCode) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/audit"
121
- get(path, {}, "21.12.0") end
121
+ get(path, {}, "22.2.0") end
122
122
 
123
123
  # Get audit information about a transaction
124
124
  #
@@ -156,7 +156,7 @@ module AvaTax
156
156
  # @param documentType [String] The document type of the original transaction (See DocumentType::* for a list of allowable values)
157
157
  # @return [Object]
158
158
  def audit_transaction_with_type(companyCode, transactionCode, documentType) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/types/#{documentType}/audit"
159
- get(path, {}, "21.12.0") end
159
+ get(path, {}, "22.2.0") end
160
160
 
161
161
  # Lock a set of documents
162
162
  #
@@ -176,7 +176,7 @@ module AvaTax
176
176
  # @param model [Object] bulk lock request
177
177
  # @return [Object]
178
178
  def bulk_lock_transaction(model) path = "/api/v2/transactions/lock"
179
- post(path, model, {}, "21.12.0") end
179
+ post(path, model, {}, "22.2.0") end
180
180
 
181
181
  # Change a transaction's code
182
182
  #
@@ -222,7 +222,7 @@ module AvaTax
222
222
  # @param model [Object] The code change request you wish to execute
223
223
  # @return [Object]
224
224
  def change_transaction_code(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/changecode"
225
- post(path, model, options, "21.12.0") end
225
+ post(path, model, options, "22.2.0") end
226
226
 
227
227
  # Commit a transaction for reporting
228
228
  #
@@ -266,7 +266,7 @@ module AvaTax
266
266
  # @param model [Object] The commit request you wish to execute
267
267
  # @return [Object]
268
268
  def commit_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/commit"
269
- post(path, model, options, "21.12.0") end
269
+ post(path, model, options, "22.2.0") end
270
270
 
271
271
  # Create or adjust a transaction
272
272
  #
@@ -313,7 +313,7 @@ module AvaTax
313
313
  # @param model [Object] The transaction you wish to create or adjust
314
314
  # @return [Object]
315
315
  def create_or_adjust_transaction(model, options={}) path = "/api/v2/transactions/createoradjust"
316
- post(path, model, options, "21.12.0") end
316
+ post(path, model, options, "22.2.0") end
317
317
 
318
318
  # Create a new transaction
319
319
  #
@@ -367,7 +367,7 @@ module AvaTax
367
367
  # @param model [Object] The transaction you wish to create
368
368
  # @return [Object]
369
369
  def create_transaction(model, options={}) path = "/api/v2/transactions/create"
370
- post(path, model, options, "21.12.0") end
370
+ post(path, model, options, "22.2.0") end
371
371
 
372
372
  # Remove lines from an existing unlocked transaction
373
373
  #
@@ -398,7 +398,7 @@ module AvaTax
398
398
  # @param model [Object] information about the transaction and lines to be removed
399
399
  # @return [Object]
400
400
  def delete_lines(model, options={}) path = "/api/v2/companies/transactions/lines/delete"
401
- post(path, model, options, "21.12.0") end
401
+ post(path, model, options, "22.2.0") end
402
402
 
403
403
  # Retrieve a single transaction by code
404
404
  #
@@ -440,7 +440,7 @@ module AvaTax
440
440
  # @param include [String] Specifies objects to include in this fetch call
441
441
  # @return [Object]
442
442
  def get_transaction_by_code(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}"
443
- get(path, options, "21.12.0") end
443
+ get(path, options, "22.2.0") end
444
444
 
445
445
  # Retrieve a single transaction by code
446
446
  #
@@ -465,7 +465,7 @@ module AvaTax
465
465
  # @param include [String] Specifies objects to include in this fetch call
466
466
  # @return [Object]
467
467
  def get_transaction_by_code_and_type(companyCode, transactionCode, documentType, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/types/#{documentType}"
468
- get(path, options, "21.12.0") end
468
+ get(path, options, "22.2.0") end
469
469
 
470
470
  # Retrieve a single transaction by ID
471
471
  #
@@ -496,7 +496,7 @@ module AvaTax
496
496
  # @param include [String] Specifies objects to include in this fetch call
497
497
  # @return [Object]
498
498
  def get_transaction_by_id(id, options={}) path = "/api/v2/transactions/#{id}"
499
- get(path, options, "21.12.0") end
499
+ get(path, options, "22.2.0") end
500
500
 
501
501
  # Retrieve all transactions
502
502
  #
@@ -544,7 +544,7 @@ module AvaTax
544
544
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
545
545
  # @return [FetchResult]
546
546
  def list_transactions_by_company(companyCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions"
547
- get(path, options, "21.12.0") end
547
+ get(path, options, "22.2.0") end
548
548
 
549
549
  # Lock a single transaction
550
550
  #
@@ -590,7 +590,7 @@ module AvaTax
590
590
  # @param model [Object] The lock request you wish to execute
591
591
  # @return [Object]
592
592
  def lock_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/lock"
593
- post(path, model, options, "21.12.0") end
593
+ post(path, model, options, "22.2.0") end
594
594
 
595
595
  # Create a refund for a transaction
596
596
  #
@@ -647,7 +647,7 @@ module AvaTax
647
647
  # @param model [Object] Information about the refund to create
648
648
  # @return [Object]
649
649
  def refund_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/refund"
650
- post(path, model, options, "21.12.0") end
650
+ post(path, model, options, "22.2.0") end
651
651
 
652
652
  # Perform multiple actions on a transaction
653
653
  #
@@ -691,7 +691,7 @@ module AvaTax
691
691
  # @param model [Object] The data from an external system to reconcile against AvaTax
692
692
  # @return [Object]
693
693
  def settle_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/settle"
694
- post(path, model, options, "21.12.0") end
694
+ post(path, model, options, "22.2.0") end
695
695
 
696
696
  # Uncommit a transaction for reporting
697
697
  #
@@ -729,7 +729,7 @@ module AvaTax
729
729
  # @param include [String] Specifies objects to include in this fetch call
730
730
  # @return [Object]
731
731
  def uncommit_transaction(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/uncommit"
732
- post(path, options, "21.12.0") end
732
+ post(path, options, "22.2.0") end
733
733
 
734
734
  # Unvoids a transaction
735
735
  #
@@ -764,7 +764,7 @@ module AvaTax
764
764
  # @param include [String] Specifies objects to include in this fetch call
765
765
  # @return [Object]
766
766
  def unvoid_transaction(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/unvoid"
767
- post(path, options, "21.12.0") end
767
+ post(path, options, "22.2.0") end
768
768
 
769
769
  # Verify a transaction
770
770
  #
@@ -807,7 +807,7 @@ module AvaTax
807
807
  # @param model [Object] The data from an external system to reconcile against AvaTax
808
808
  # @return [Object]
809
809
  def verify_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/verify"
810
- post(path, model, options, "21.12.0") end
810
+ post(path, model, options, "22.2.0") end
811
811
 
812
812
  # Void a transaction
813
813
  #
@@ -852,7 +852,7 @@ module AvaTax
852
852
  # @param model [Object] The void request you wish to execute. To void a transaction the code must be set to 'DocVoided'
853
853
  # @return [Object]
854
854
  def void_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/void"
855
- post(path, model, options, "21.12.0") end
855
+ post(path, model, options, "22.2.0") end
856
856
  end
857
857
  end
858
858
  end
@@ -17,7 +17,7 @@ module AvaTax
17
17
  # @param model [UPCModel[]] The UPC you wish to create.
18
18
  # @return [UPCModel[]]
19
19
  def create_u_p_cs(companyId, model) path = "/api/v2/companies/#{companyId}/upcs"
20
- post(path, model, {}, "21.12.0") end
20
+ post(path, model, {}, "22.2.0") end
21
21
 
22
22
  # Delete a single UPC
23
23
  #
@@ -32,7 +32,7 @@ module AvaTax
32
32
  # @param id [Integer] The ID of the UPC you wish to delete.
33
33
  # @return [ErrorDetail[]]
34
34
  def delete_u_p_c(companyId, id) path = "/api/v2/companies/#{companyId}/upcs/#{id}"
35
- delete(path, {}, "21.12.0") end
35
+ delete(path, {}, "22.2.0") end
36
36
 
37
37
  # Retrieve a single UPC
38
38
  #
@@ -48,7 +48,7 @@ module AvaTax
48
48
  # @param id [Integer] The primary key of this UPC
49
49
  # @return [Object]
50
50
  def get_u_p_c(companyId, id) path = "/api/v2/companies/#{companyId}/upcs/#{id}"
51
- get(path, {}, "21.12.0") end
51
+ get(path, {}, "22.2.0") end
52
52
 
53
53
  # Retrieve UPCs for this company
54
54
  #
@@ -71,7 +71,7 @@ module AvaTax
71
71
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
72
72
  # @return [FetchResult]
73
73
  def list_u_p_cs_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/upcs"
74
- get(path, options, "21.12.0") end
74
+ get(path, options, "22.2.0") end
75
75
 
76
76
  # Retrieve all UPCs
77
77
  #
@@ -93,7 +93,7 @@ module AvaTax
93
93
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
94
94
  # @return [FetchResult]
95
95
  def query_u_p_cs(options={}) path = "/api/v2/upcs"
96
- get(path, options, "21.12.0") end
96
+ get(path, options, "22.2.0") end
97
97
 
98
98
  # Update a single UPC
99
99
  #
@@ -112,7 +112,7 @@ module AvaTax
112
112
  # @param model [Object] The UPC you wish to update.
113
113
  # @return [Object]
114
114
  def update_u_p_c(companyId, id, model) path = "/api/v2/companies/#{companyId}/upcs/#{id}"
115
- put(path, model, {}, "21.12.0") end
115
+ put(path, model, {}, "22.2.0") end
116
116
  end
117
117
  end
118
118
  end
@@ -16,7 +16,7 @@ module AvaTax
16
16
  # @param id [Integer] The id of the User Defined Field you wish to delete.
17
17
  # @return [ErrorDetail[]]
18
18
  def delete_user_defined_field(companyId, id) path = "/api/v2/companies/#{companyId}/userdefinedfields/#{id}"
19
- delete(path, {}, "21.12.0") end
19
+ delete(path, {}, "22.2.0") end
20
20
 
21
21
  #
22
22
  #
@@ -30,7 +30,7 @@ module AvaTax
30
30
  # @param allowDefaults [Boolean] If true this will add defaulted UDFs to the list that are not named yet
31
31
  # @return [FetchResult]
32
32
  def list_user_defined_fields_by_company_id(companyId, options={}) path = "/api/v2/companies/#{companyId}/userdefinedfields"
33
- get(path, options, "21.12.0") end
33
+ get(path, options, "22.2.0") end
34
34
 
35
35
  # Update a User Defined Field identified by id for a company
36
36
  #
@@ -46,7 +46,7 @@ module AvaTax
46
46
  # @param model [Object]
47
47
  # @return [Object]
48
48
  def update_user_defined_field(companyId, model, options={}) path = "/api/v2/companies/#{companyId}/userdefinedfields"
49
- post(path, model, options, "21.12.0") end
49
+ post(path, model, options, "22.2.0") end
50
50
  end
51
51
  end
52
52
  end
@@ -20,7 +20,7 @@ module AvaTax
20
20
  # @param model [Object] An object containing your current password and the new password.
21
21
  # @return [String]
22
22
  def change_password(model) path = "/api/v2/passwords"
23
- put(path, model, {}, "21.12.0") end
23
+ put(path, model, {}, "22.2.0") end
24
24
 
25
25
  # Create new users
26
26
  #
@@ -42,7 +42,7 @@ module AvaTax
42
42
  # @param model [UserModel[]] The user or array of users you wish to create.
43
43
  # @return [UserModel[]]
44
44
  def create_users(accountId, model) path = "/api/v2/accounts/#{accountId}/users"
45
- post(path, model, {}, "21.12.0") end
45
+ post(path, model, {}, "22.2.0") end
46
46
 
47
47
  # Delete a single user
48
48
  #
@@ -61,7 +61,7 @@ module AvaTax
61
61
  # @param accountId [Integer] The accountID of the user you wish to delete.
62
62
  # @return [ErrorDetail[]]
63
63
  def delete_user(id, accountId) path = "/api/v2/accounts/#{accountId}/users/#{id}"
64
- delete(path, {}, "21.12.0") end
64
+ delete(path, {}, "22.2.0") end
65
65
 
66
66
  # Retrieve a single user
67
67
  #
@@ -81,7 +81,7 @@ module AvaTax
81
81
  # @param include [String] Optional fetch commands.
82
82
  # @return [Object]
83
83
  def get_user(id, accountId, options={}) path = "/api/v2/accounts/#{accountId}/users/#{id}"
84
- get(path, options, "21.12.0") end
84
+ get(path, options, "22.2.0") end
85
85
 
86
86
  # Retrieve all entitlements for a single user
87
87
  #
@@ -109,7 +109,7 @@ module AvaTax
109
109
  # @param accountId [Integer] The accountID of the user you wish to get.
110
110
  # @return [Object]
111
111
  def get_user_entitlements(id, accountId) path = "/api/v2/accounts/#{accountId}/users/#{id}/entitlements"
112
- get(path, {}, "21.12.0") end
112
+ get(path, {}, "22.2.0") end
113
113
 
114
114
  # Retrieve users for this account
115
115
  #
@@ -138,7 +138,7 @@ module AvaTax
138
138
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
139
139
  # @return [FetchResult]
140
140
  def list_users_by_account(accountId, options={}) path = "/api/v2/accounts/#{accountId}/users"
141
- get(path, options, "21.12.0") end
141
+ get(path, options, "22.2.0") end
142
142
 
143
143
  # Retrieve all users
144
144
  #
@@ -168,7 +168,7 @@ module AvaTax
168
168
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
169
169
  # @return [FetchResult]
170
170
  def query_users(options={}) path = "/api/v2/users"
171
- get(path, options, "21.12.0") end
171
+ get(path, options, "22.2.0") end
172
172
 
173
173
  # Update a single user
174
174
  #
@@ -186,7 +186,7 @@ module AvaTax
186
186
  # @param model [Object] The user object you wish to update.
187
187
  # @return [Object]
188
188
  def update_user(id, accountId, model) path = "/api/v2/accounts/#{accountId}/users/#{id}"
189
- put(path, model, {}, "21.12.0") end
189
+ put(path, model, {}, "22.2.0") end
190
190
  end
191
191
  end
192
192
  end
@@ -17,7 +17,7 @@ module AvaTax
17
17
  # @param serviceTypeId [String] The service to check
18
18
  # @return [Object]
19
19
  def get_my_subscription(serviceTypeId) path = "/api/v2/utilities/subscriptions/#{serviceTypeId}"
20
- get(path, {}, "21.12.0") end
20
+ get(path, {}, "22.2.0") end
21
21
 
22
22
  # List all services to which the current user is subscribed
23
23
  #
@@ -32,7 +32,7 @@ module AvaTax
32
32
  # Swagger Name: AvaTaxClient
33
33
  # @return [FetchResult]
34
34
  def list_my_subscriptions() path = "/api/v2/utilities/subscriptions"
35
- get(path, {}, "21.12.0") end
35
+ get(path, {}, "22.2.0") end
36
36
 
37
37
  # Tests connectivity and version of the service
38
38
  #
@@ -59,7 +59,7 @@ module AvaTax
59
59
  # Swagger Name: AvaTaxClient
60
60
  # @return [Object]
61
61
  def ping() path = "/api/v2/utilities/ping"
62
- get(path, {}, "21.12.0") end
62
+ get(path, {}, "22.2.0") end
63
63
  end
64
64
  end
65
65
  end
data/lib/avatax/client.rb CHANGED
@@ -1,37 +1,37 @@
1
- module AvaTax
2
- class Client < API
3
- Dir[File.expand_path('../client/*.rb', __FILE__)].each{|f| require f}
4
-
5
- include AvaTax::Client::Accounts
6
- include AvaTax::Client::Addresses
7
- include AvaTax::Client::Batches
8
- include AvaTax::Client::CertExpressInvites
9
- include AvaTax::Client::Companies
10
- include AvaTax::Client::Contacts
11
- include AvaTax::Client::Customers
12
- include AvaTax::Client::Definitions
13
- include AvaTax::Client::FilingCalendars
14
- include AvaTax::Client::Filings
15
- include AvaTax::Client::Free
16
- include AvaTax::Client::FundingRequests
17
- include AvaTax::Client::Items
18
- include AvaTax::Client::JurisdictionOverrides
19
- include AvaTax::Client::Locations
20
- include AvaTax::Client::Nexus
21
- include AvaTax::Client::Notices
22
- include AvaTax::Client::Onboarding
23
- include AvaTax::Client::PointOfSale
24
- include AvaTax::Client::Registrar
25
- include AvaTax::Client::Settings
26
- include AvaTax::Client::Subscriptions
27
- include AvaTax::Client::TaxCodes
28
- include AvaTax::Client::TaxContent
29
- include AvaTax::Client::TaxRules
30
- include AvaTax::Client::Transactions
31
- include AvaTax::Client::Upcs
32
- include AvaTax::Client::Users
33
- include AvaTax::Client::Utilities
34
- include AvaTax::Client::ShippingVerification
35
- include AvaTax::Client::AgeVerification
36
- end
37
- end
1
+ module AvaTax
2
+ class Client < API
3
+ Dir[File.expand_path('../client/*.rb', __FILE__)].each{|f| require f}
4
+
5
+ include AvaTax::Client::Accounts
6
+ include AvaTax::Client::Addresses
7
+ include AvaTax::Client::Batches
8
+ include AvaTax::Client::CertExpressInvites
9
+ include AvaTax::Client::Companies
10
+ include AvaTax::Client::Contacts
11
+ include AvaTax::Client::Customers
12
+ include AvaTax::Client::Definitions
13
+ include AvaTax::Client::FilingCalendars
14
+ include AvaTax::Client::Filings
15
+ include AvaTax::Client::Free
16
+ include AvaTax::Client::FundingRequests
17
+ include AvaTax::Client::Items
18
+ include AvaTax::Client::JurisdictionOverrides
19
+ include AvaTax::Client::Locations
20
+ include AvaTax::Client::Nexus
21
+ include AvaTax::Client::Notices
22
+ include AvaTax::Client::Onboarding
23
+ include AvaTax::Client::PointOfSale
24
+ include AvaTax::Client::Registrar
25
+ include AvaTax::Client::Settings
26
+ include AvaTax::Client::Subscriptions
27
+ include AvaTax::Client::TaxCodes
28
+ include AvaTax::Client::TaxContent
29
+ include AvaTax::Client::TaxRules
30
+ include AvaTax::Client::Transactions
31
+ include AvaTax::Client::Upcs
32
+ include AvaTax::Client::Users
33
+ include AvaTax::Client::Utilities
34
+ include AvaTax::Client::ShippingVerification
35
+ include AvaTax::Client::AgeVerification
36
+ end
37
+ end
@@ -1,76 +1,76 @@
1
- require 'faraday'
2
- require File.expand_path('../version', __FILE__)
3
-
4
- module AvaTax
5
- module Configuration
6
-
7
- VALID_OPTIONS_KEYS = [
8
- :app_name,
9
- :app_version,
10
- :machine_name,
11
- :environment,
12
- :endpoint,
13
- :user_agent,
14
- :username,
15
- :password,
16
- :connection_options,
17
- :logger,
18
- :custom_logger,
19
- :custom_logger_options,
20
- :proxy,
21
- :faraday_response,
22
- :response_big_decimal_conversion
23
- ].freeze
24
-
25
- DEFAULT_APP_NAME = nil
26
- DEFAULT_APP_VERSION = nil
27
- DEFAULT_MACHINE_NAME = nil
28
- DEFAULT_ENDPOINT = 'https://rest.avatax.com'
29
- DEFAULT_USER_AGENT = "AvaTax Ruby Gem #{AvaTax::VERSION}".freeze
30
- DEFAULT_USERNAME = nil
31
- DEFAULT_PASSWORD = nil
32
- DEFAULT_CONNECTION_OPTIONS = {request: {timeout: 1200}} # timeout in seconds
33
- DEFAULT_LOGGER = false
34
- DEFAULT_CUSTOM_LOGGER = nil
35
- DEFAULT_CUSTOM_LOGGER_OPTIONS = {}
36
- DEFAULT_PROXY = nil
37
- DEFAULT_FARADAY_RESPONSE = false
38
- DEFAULT_RESPONSE_BIG_DECIMAL_CONVERSION = false
39
-
40
- attr_accessor *VALID_OPTIONS_KEYS
41
-
42
- # Reset config values when extended
43
- def self.extended(base)
44
- base.reset
45
- end
46
-
47
- # Allow configuration options to be set in a block
48
- def configure
49
- yield self
50
- end
51
-
52
- def options
53
- VALID_OPTIONS_KEYS.inject({}) do |option, key|
54
- option.merge!(key => send(key))
55
- end
56
- end
57
-
58
- def reset
59
- self.app_name = DEFAULT_APP_NAME
60
- self.app_version = DEFAULT_APP_VERSION
61
- self.machine_name = DEFAULT_MACHINE_NAME
62
- self.endpoint = DEFAULT_ENDPOINT
63
- self.user_agent = DEFAULT_USER_AGENT
64
- self.username = DEFAULT_USERNAME
65
- self.password = DEFAULT_PASSWORD
66
- self.connection_options = DEFAULT_CONNECTION_OPTIONS
67
- self.logger = DEFAULT_LOGGER
68
- self.custom_logger = DEFAULT_CUSTOM_LOGGER
69
- self.custom_logger_options = DEFAULT_CUSTOM_LOGGER_OPTIONS
70
- self.proxy = DEFAULT_PROXY
71
- self.faraday_response = DEFAULT_FARADAY_RESPONSE
72
- self.response_big_decimal_conversion = DEFAULT_RESPONSE_BIG_DECIMAL_CONVERSION
73
- end
74
-
75
- end
76
- end
1
+ require 'faraday'
2
+ require File.expand_path('../version', __FILE__)
3
+
4
+ module AvaTax
5
+ module Configuration
6
+
7
+ VALID_OPTIONS_KEYS = [
8
+ :app_name,
9
+ :app_version,
10
+ :machine_name,
11
+ :environment,
12
+ :endpoint,
13
+ :user_agent,
14
+ :username,
15
+ :password,
16
+ :connection_options,
17
+ :logger,
18
+ :custom_logger,
19
+ :custom_logger_options,
20
+ :proxy,
21
+ :faraday_response,
22
+ :response_big_decimal_conversion
23
+ ].freeze
24
+
25
+ DEFAULT_APP_NAME = nil
26
+ DEFAULT_APP_VERSION = nil
27
+ DEFAULT_MACHINE_NAME = nil
28
+ DEFAULT_ENDPOINT = 'https://rest.avatax.com'
29
+ DEFAULT_USER_AGENT = "AvaTax Ruby Gem #{AvaTax::VERSION}".freeze
30
+ DEFAULT_USERNAME = nil
31
+ DEFAULT_PASSWORD = nil
32
+ DEFAULT_CONNECTION_OPTIONS = {request: {timeout: 1200}} # timeout in seconds
33
+ DEFAULT_LOGGER = false
34
+ DEFAULT_CUSTOM_LOGGER = nil
35
+ DEFAULT_CUSTOM_LOGGER_OPTIONS = {}
36
+ DEFAULT_PROXY = nil
37
+ DEFAULT_FARADAY_RESPONSE = false
38
+ DEFAULT_RESPONSE_BIG_DECIMAL_CONVERSION = false
39
+
40
+ attr_accessor *VALID_OPTIONS_KEYS
41
+
42
+ # Reset config values when extended
43
+ def self.extended(base)
44
+ base.reset
45
+ end
46
+
47
+ # Allow configuration options to be set in a block
48
+ def configure
49
+ yield self
50
+ end
51
+
52
+ def options
53
+ VALID_OPTIONS_KEYS.inject({}) do |option, key|
54
+ option.merge!(key => send(key))
55
+ end
56
+ end
57
+
58
+ def reset
59
+ self.app_name = DEFAULT_APP_NAME
60
+ self.app_version = DEFAULT_APP_VERSION
61
+ self.machine_name = DEFAULT_MACHINE_NAME
62
+ self.endpoint = DEFAULT_ENDPOINT
63
+ self.user_agent = DEFAULT_USER_AGENT
64
+ self.username = DEFAULT_USERNAME
65
+ self.password = DEFAULT_PASSWORD
66
+ self.connection_options = DEFAULT_CONNECTION_OPTIONS
67
+ self.logger = DEFAULT_LOGGER
68
+ self.custom_logger = DEFAULT_CUSTOM_LOGGER
69
+ self.custom_logger_options = DEFAULT_CUSTOM_LOGGER_OPTIONS
70
+ self.proxy = DEFAULT_PROXY
71
+ self.faraday_response = DEFAULT_FARADAY_RESPONSE
72
+ self.response_big_decimal_conversion = DEFAULT_RESPONSE_BIG_DECIMAL_CONVERSION
73
+ end
74
+
75
+ end
76
+ end