taxamo 1.0.5

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.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/LICENSE +11 -0
  4. data/README.md +120 -0
  5. data/Rakefile +7 -0
  6. data/lib/monkey.rb +90 -0
  7. data/lib/swagger.rb +93 -0
  8. data/lib/swagger/configuration.rb +21 -0
  9. data/lib/swagger/request.rb +198 -0
  10. data/lib/swagger/response.rb +87 -0
  11. data/lib/taxamo.rb +999 -0
  12. data/lib/taxamo/models/additionalcurrencies.rb +62 -0
  13. data/lib/taxamo/models/additionalcurrency.rb +82 -0
  14. data/lib/taxamo/models/bycountry.rb +77 -0
  15. data/lib/taxamo/models/bystatus.rb +69 -0
  16. data/lib/taxamo/models/bytaxationtype.rb +82 -0
  17. data/lib/taxamo/models/c.rb +77 -0
  18. data/lib/taxamo/models/calculatesimpletaxout.rb +62 -0
  19. data/lib/taxamo/models/calculatetaxin.rb +62 -0
  20. data/lib/taxamo/models/calculatetaxlocationout.rb +97 -0
  21. data/lib/taxamo/models/calculatetaxout.rb +62 -0
  22. data/lib/taxamo/models/canceltransactionout.rb +62 -0
  23. data/lib/taxamo/models/capturepaymentout.rb +62 -0
  24. data/lib/taxamo/models/confirmtransactionin.rb +62 -0
  25. data/lib/taxamo/models/confirmtransactionout.rb +62 -0
  26. data/lib/taxamo/models/countries.rb +112 -0
  27. data/lib/taxamo/models/country.rb +114 -0
  28. data/lib/taxamo/models/countryschema.rb +114 -0
  29. data/lib/taxamo/models/createpaymentin.rb +72 -0
  30. data/lib/taxamo/models/createpaymentout.rb +62 -0
  31. data/lib/taxamo/models/createrefundin.rb +77 -0
  32. data/lib/taxamo/models/createrefundout.rb +77 -0
  33. data/lib/taxamo/models/createsmstokenin.rb +67 -0
  34. data/lib/taxamo/models/createsmstokenout.rb +62 -0
  35. data/lib/taxamo/models/createtransactionin.rb +67 -0
  36. data/lib/taxamo/models/createtransactionout.rb +62 -0
  37. data/lib/taxamo/models/currencyschema.rb +82 -0
  38. data/lib/taxamo/models/customfields.rb +67 -0
  39. data/lib/taxamo/models/emailinvoicein.rb +62 -0
  40. data/lib/taxamo/models/emailinvoiceout.rb +62 -0
  41. data/lib/taxamo/models/evidence.rb +112 -0
  42. data/lib/taxamo/models/evidenceschema.rb +77 -0
  43. data/lib/taxamo/models/getcountriesdictout.rb +63 -0
  44. data/lib/taxamo/models/getcurrenciesdictout.rb +63 -0
  45. data/lib/taxamo/models/getdailysettlementstatsout.rb +63 -0
  46. data/lib/taxamo/models/getproducttypesdictout.rb +63 -0
  47. data/lib/taxamo/models/getrefundsout.rb +63 -0
  48. data/lib/taxamo/models/getsettlementout.rb +83 -0
  49. data/lib/taxamo/models/getsettlementstatsbycountryout.rb +63 -0
  50. data/lib/taxamo/models/getsettlementstatsbytaxationtypeout.rb +62 -0
  51. data/lib/taxamo/models/getsettlementsummaryout.rb +62 -0
  52. data/lib/taxamo/models/gettransactionout.rb +62 -0
  53. data/lib/taxamo/models/gettransactionsstatsout.rb +62 -0
  54. data/lib/taxamo/models/inputtransaction.rb +184 -0
  55. data/lib/taxamo/models/inputtransactionline.rb +133 -0
  56. data/lib/taxamo/models/inputtransactionupdate.rb +184 -0
  57. data/lib/taxamo/models/invoiceaddress.rb +97 -0
  58. data/lib/taxamo/models/listpaymentsout.rb +63 -0
  59. data/lib/taxamo/models/listtransactionsout.rb +63 -0
  60. data/lib/taxamo/models/locategivenipout.rb +72 -0
  61. data/lib/taxamo/models/locatemyipout.rb +72 -0
  62. data/lib/taxamo/models/n.rb +77 -0
  63. data/lib/taxamo/models/payments.rb +72 -0
  64. data/lib/taxamo/models/producttypeschema.rb +62 -0
  65. data/lib/taxamo/models/report.rb +92 -0
  66. data/lib/taxamo/models/settlementdailystatsschema.rb +102 -0
  67. data/lib/taxamo/models/summary.rb +87 -0
  68. data/lib/taxamo/models/transaction.rb +279 -0
  69. data/lib/taxamo/models/transactionlines.rb +163 -0
  70. data/lib/taxamo/models/transactions.rb +279 -0
  71. data/lib/taxamo/models/unconfirmtransactionin.rb +62 -0
  72. data/lib/taxamo/models/unconfirmtransactionout.rb +62 -0
  73. data/lib/taxamo/models/updatetransactionin.rb +62 -0
  74. data/lib/taxamo/models/updatetransactionout.rb +62 -0
  75. data/lib/taxamo/models/validatetaxnumberout.rb +77 -0
  76. data/lib/taxamo/models/verifysmstokenout.rb +62 -0
  77. data/lib/taxamo/version.rb +17 -0
  78. data/taxamo.gemspec +31 -0
  79. data/test/taxamo/connectivity_test.rb +55 -0
  80. data/test/taxamo/tax_test.rb +147 -0
  81. data/test/taxamo/transactions_api_test.rb +308 -0
  82. metadata +226 -0
@@ -0,0 +1,184 @@
1
+ # Copyright 2014-2015 Taxamo, Ltd.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and
11
+ # limitations under the License.
12
+
13
+ class InputTransactionUpdate
14
+ attr_accessor :buyer_credit_card_prefix, :custom_data, :buyer_name, :invoice_date, :currency_code, :supply_date, :invoice_address, :verification_token, :transaction_lines, :buyer_tax_number, :custom_fields, :force_country_code, :invoice_number, :order_date, :buyer_ip, :buyer_email, :original_transaction_key, :billing_country_code, :custom_id, :additional_currencies, :invoice_place, :evidence, :description, :tax_deducted, :tax_country_code
15
+
16
+ # :internal => :external
17
+ def self.attribute_map
18
+ {
19
+ :buyer_credit_card_prefix => :buyer_credit_card_prefix,
20
+ :custom_data => :custom_data,
21
+ :buyer_name => :buyer_name,
22
+ :invoice_date => :invoice_date,
23
+ :currency_code => :currency_code,
24
+ :supply_date => :supply_date,
25
+ :invoice_address => :invoice_address,
26
+ :verification_token => :verification_token,
27
+ :transaction_lines => :transaction_lines,
28
+ :buyer_tax_number => :buyer_tax_number,
29
+ :custom_fields => :custom_fields,
30
+ :force_country_code => :force_country_code,
31
+ :invoice_number => :invoice_number,
32
+ :order_date => :order_date,
33
+ :buyer_ip => :buyer_ip,
34
+ :buyer_email => :buyer_email,
35
+ :original_transaction_key => :original_transaction_key,
36
+ :billing_country_code => :billing_country_code,
37
+ :custom_id => :custom_id,
38
+ :additional_currencies => :additional_currencies,
39
+ :invoice_place => :invoice_place,
40
+ :evidence => :evidence,
41
+ :description => :description,
42
+ :tax_deducted => :tax_deducted,
43
+ :tax_country_code => :tax_country_code
44
+
45
+ }
46
+ end
47
+
48
+ def initialize(attributes = {})
49
+ return if attributes.empty?
50
+ # Morph attribute keys into undescored rubyish style
51
+ if attributes["buyer_credit_card_prefix"]
52
+ @buyer_credit_card_prefix = attributes["buyer_credit_card_prefix"]
53
+
54
+ end
55
+ if attributes["custom_data"]
56
+ @custom_data = attributes["custom_data"]
57
+
58
+ end
59
+ if attributes["buyer_name"]
60
+ @buyer_name = attributes["buyer_name"]
61
+
62
+ end
63
+ if attributes["invoice_date"]
64
+ @invoice_date = attributes["invoice_date"]
65
+
66
+ end
67
+ if attributes["currency_code"]
68
+ @currency_code = attributes["currency_code"]
69
+
70
+ end
71
+ if attributes["supply_date"]
72
+ @supply_date = attributes["supply_date"]
73
+
74
+ end
75
+ if attributes["invoice_address"]
76
+ @invoice_address = InvoiceAddress.new(attributes["invoice_address"])
77
+
78
+ end
79
+ if attributes["verification_token"]
80
+ @verification_token = attributes["verification_token"]
81
+
82
+ end
83
+ if attributes["transaction_lines"]
84
+ if (value = attributes["transaction_lines"]).is_a?(Array)
85
+ @transaction_lines = value.map{ |v| InputTransactionLine.new(v) }
86
+ end
87
+ end
88
+ if attributes["buyer_tax_number"]
89
+ @buyer_tax_number = attributes["buyer_tax_number"]
90
+
91
+ end
92
+ if attributes["custom_fields"]
93
+ if (value = attributes["custom_fields"]).is_a?(Array)
94
+ @custom_fields = value.map{ |v| CustomFields.new(v) }
95
+ end
96
+ end
97
+ if attributes["force_country_code"]
98
+ @force_country_code = attributes["force_country_code"]
99
+
100
+ end
101
+ if attributes["invoice_number"]
102
+ @invoice_number = attributes["invoice_number"]
103
+
104
+ end
105
+ if attributes["order_date"]
106
+ @order_date = attributes["order_date"]
107
+
108
+ end
109
+ if attributes["buyer_ip"]
110
+ @buyer_ip = attributes["buyer_ip"]
111
+
112
+ end
113
+ if attributes["buyer_email"]
114
+ @buyer_email = attributes["buyer_email"]
115
+
116
+ end
117
+ if attributes["original_transaction_key"]
118
+ @original_transaction_key = attributes["original_transaction_key"]
119
+
120
+ end
121
+ if attributes["billing_country_code"]
122
+ @billing_country_code = attributes["billing_country_code"]
123
+
124
+ end
125
+ if attributes["custom_id"]
126
+ @custom_id = attributes["custom_id"]
127
+
128
+ end
129
+ if attributes["additional_currencies"]
130
+ @additional_currencies = AdditionalCurrencies.new(attributes["additional_currencies"])
131
+
132
+ end
133
+ if attributes["invoice_place"]
134
+ @invoice_place = attributes["invoice_place"]
135
+
136
+ end
137
+ if attributes["evidence"]
138
+ @evidence = Evidence.new(attributes["evidence"])
139
+
140
+ end
141
+ if attributes["description"]
142
+ @description = attributes["description"]
143
+
144
+ end
145
+ if attributes["tax_deducted"]
146
+ @tax_deducted = attributes["tax_deducted"]
147
+
148
+ end
149
+ if attributes["tax_country_code"]
150
+ @tax_country_code = attributes["tax_country_code"]
151
+
152
+ end
153
+
154
+
155
+ end
156
+
157
+ def to_body
158
+ body = {}
159
+ self.class.attribute_map.each_pair do |key, value|
160
+ v = self.send(key)
161
+ unless v.nil?
162
+ if v.is_a?(Array)
163
+ array = Array.new
164
+ v.each do |item|
165
+ if item.respond_to?("to_body".to_sym)
166
+ array.push item.to_body
167
+ else
168
+ array.push item
169
+ end
170
+ end
171
+ body[value] = array
172
+ else
173
+ if v.respond_to?("to_body".to_sym)
174
+ body[value] = v.to_body
175
+ else
176
+ body[value] = v
177
+ end
178
+ end
179
+ end
180
+ end
181
+ body
182
+ end
183
+ end
184
+
@@ -0,0 +1,97 @@
1
+ # Copyright 2014-2015 Taxamo, Ltd.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and
11
+ # limitations under the License.
12
+
13
+ class InvoiceAddress
14
+ attr_accessor :freeform_address, :building_number, :street_name, :address_detail, :city, :postal_code, :region, :country
15
+
16
+ # :internal => :external
17
+ def self.attribute_map
18
+ {
19
+ :freeform_address => :freeform_address,
20
+ :building_number => :building_number,
21
+ :street_name => :street_name,
22
+ :address_detail => :address_detail,
23
+ :city => :city,
24
+ :postal_code => :postal_code,
25
+ :region => :region,
26
+ :country => :country
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if attributes.empty?
33
+ # Morph attribute keys into undescored rubyish style
34
+ if attributes["freeform_address"]
35
+ @freeform_address = attributes["freeform_address"]
36
+
37
+ end
38
+ if attributes["building_number"]
39
+ @building_number = attributes["building_number"]
40
+
41
+ end
42
+ if attributes["street_name"]
43
+ @street_name = attributes["street_name"]
44
+
45
+ end
46
+ if attributes["address_detail"]
47
+ @address_detail = attributes["address_detail"]
48
+
49
+ end
50
+ if attributes["city"]
51
+ @city = attributes["city"]
52
+
53
+ end
54
+ if attributes["postal_code"]
55
+ @postal_code = attributes["postal_code"]
56
+
57
+ end
58
+ if attributes["region"]
59
+ @region = attributes["region"]
60
+
61
+ end
62
+ if attributes["country"]
63
+ @country = attributes["country"]
64
+
65
+ end
66
+
67
+
68
+ end
69
+
70
+ def to_body
71
+ body = {}
72
+ self.class.attribute_map.each_pair do |key, value|
73
+ v = self.send(key)
74
+ unless v.nil?
75
+ if v.is_a?(Array)
76
+ array = Array.new
77
+ v.each do |item|
78
+ if item.respond_to?("to_body".to_sym)
79
+ array.push item.to_body
80
+ else
81
+ array.push item
82
+ end
83
+ end
84
+ body[value] = array
85
+ else
86
+ if v.respond_to?("to_body".to_sym)
87
+ body[value] = v.to_body
88
+ else
89
+ body[value] = v
90
+ end
91
+ end
92
+ end
93
+ end
94
+ body
95
+ end
96
+ end
97
+
@@ -0,0 +1,63 @@
1
+ # Copyright 2014-2015 Taxamo, Ltd.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and
11
+ # limitations under the License.
12
+
13
+ class ListPaymentsOut
14
+ attr_accessor :payments
15
+
16
+ # :internal => :external
17
+ def self.attribute_map
18
+ {
19
+ :payments => :payments
20
+
21
+ }
22
+ end
23
+
24
+ def initialize(attributes = {})
25
+ return if attributes.empty?
26
+ # Morph attribute keys into undescored rubyish style
27
+ if attributes["payments"]
28
+ if (value = attributes["payments"]).is_a?(Array)
29
+ @payments = value.map{ |v| Payments.new(v) }
30
+ end
31
+ end
32
+
33
+
34
+ end
35
+
36
+ def to_body
37
+ body = {}
38
+ self.class.attribute_map.each_pair do |key, value|
39
+ v = self.send(key)
40
+ unless v.nil?
41
+ if v.is_a?(Array)
42
+ array = Array.new
43
+ v.each do |item|
44
+ if item.respond_to?("to_body".to_sym)
45
+ array.push item.to_body
46
+ else
47
+ array.push item
48
+ end
49
+ end
50
+ body[value] = array
51
+ else
52
+ if v.respond_to?("to_body".to_sym)
53
+ body[value] = v.to_body
54
+ else
55
+ body[value] = v
56
+ end
57
+ end
58
+ end
59
+ end
60
+ body
61
+ end
62
+ end
63
+
@@ -0,0 +1,63 @@
1
+ # Copyright 2014-2015 Taxamo, Ltd.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and
11
+ # limitations under the License.
12
+
13
+ class ListTransactionsOut
14
+ attr_accessor :transactions
15
+
16
+ # :internal => :external
17
+ def self.attribute_map
18
+ {
19
+ :transactions => :transactions
20
+
21
+ }
22
+ end
23
+
24
+ def initialize(attributes = {})
25
+ return if attributes.empty?
26
+ # Morph attribute keys into undescored rubyish style
27
+ if attributes["transactions"]
28
+ if (value = attributes["transactions"]).is_a?(Array)
29
+ @transactions = value.map{ |v| Transactions.new(v) }
30
+ end
31
+ end
32
+
33
+
34
+ end
35
+
36
+ def to_body
37
+ body = {}
38
+ self.class.attribute_map.each_pair do |key, value|
39
+ v = self.send(key)
40
+ unless v.nil?
41
+ if v.is_a?(Array)
42
+ array = Array.new
43
+ v.each do |item|
44
+ if item.respond_to?("to_body".to_sym)
45
+ array.push item.to_body
46
+ else
47
+ array.push item
48
+ end
49
+ end
50
+ body[value] = array
51
+ else
52
+ if v.respond_to?("to_body".to_sym)
53
+ body[value] = v.to_body
54
+ else
55
+ body[value] = v
56
+ end
57
+ end
58
+ end
59
+ end
60
+ body
61
+ end
62
+ end
63
+
@@ -0,0 +1,72 @@
1
+ # Copyright 2014-2015 Taxamo, Ltd.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and
11
+ # limitations under the License.
12
+
13
+ class LocateGivenIPOut
14
+ attr_accessor :remote_addr, :country_code, :country
15
+
16
+ # :internal => :external
17
+ def self.attribute_map
18
+ {
19
+ :remote_addr => :remote_addr,
20
+ :country_code => :country_code,
21
+ :country => :country
22
+
23
+ }
24
+ end
25
+
26
+ def initialize(attributes = {})
27
+ return if attributes.empty?
28
+ # Morph attribute keys into undescored rubyish style
29
+ if attributes["remote_addr"]
30
+ @remote_addr = attributes["remote_addr"]
31
+
32
+ end
33
+ if attributes["country_code"]
34
+ @country_code = attributes["country_code"]
35
+
36
+ end
37
+ if attributes["country"]
38
+ @country = Country.new(attributes["country"])
39
+
40
+ end
41
+
42
+
43
+ end
44
+
45
+ def to_body
46
+ body = {}
47
+ self.class.attribute_map.each_pair do |key, value|
48
+ v = self.send(key)
49
+ unless v.nil?
50
+ if v.is_a?(Array)
51
+ array = Array.new
52
+ v.each do |item|
53
+ if item.respond_to?("to_body".to_sym)
54
+ array.push item.to_body
55
+ else
56
+ array.push item
57
+ end
58
+ end
59
+ body[value] = array
60
+ else
61
+ if v.respond_to?("to_body".to_sym)
62
+ body[value] = v.to_body
63
+ else
64
+ body[value] = v
65
+ end
66
+ end
67
+ end
68
+ end
69
+ body
70
+ end
71
+ end
72
+