vatsense 0.1.0
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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +14 -0
- data/README.md +235 -0
- data/SECURITY.md +27 -0
- data/lib/vatsense/client.rb +129 -0
- data/lib/vatsense/errors.rb +228 -0
- data/lib/vatsense/file_part.rb +58 -0
- data/lib/vatsense/internal/transport/base_client.rb +595 -0
- data/lib/vatsense/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/vatsense/internal/type/array_of.rb +168 -0
- data/lib/vatsense/internal/type/base_model.rb +531 -0
- data/lib/vatsense/internal/type/base_page.rb +55 -0
- data/lib/vatsense/internal/type/boolean.rb +77 -0
- data/lib/vatsense/internal/type/converter.rb +327 -0
- data/lib/vatsense/internal/type/enum.rb +131 -0
- data/lib/vatsense/internal/type/file_input.rb +111 -0
- data/lib/vatsense/internal/type/hash_of.rb +188 -0
- data/lib/vatsense/internal/type/request_parameters.rb +42 -0
- data/lib/vatsense/internal/type/union.rb +237 -0
- data/lib/vatsense/internal/type/unknown.rb +81 -0
- data/lib/vatsense/internal/util.rb +951 -0
- data/lib/vatsense/internal.rb +20 -0
- data/lib/vatsense/models/country.rb +70 -0
- data/lib/vatsense/models/country_list_params.rb +34 -0
- data/lib/vatsense/models/country_list_provinces_params.rb +22 -0
- data/lib/vatsense/models/country_list_provinces_response.rb +67 -0
- data/lib/vatsense/models/country_list_response.rb +28 -0
- data/lib/vatsense/models/create_invoice.rb +171 -0
- data/lib/vatsense/models/currency_calculate_vat_price_params.rb +53 -0
- data/lib/vatsense/models/currency_calculate_vat_price_response.rb +28 -0
- data/lib/vatsense/models/currency_convert_params.rb +53 -0
- data/lib/vatsense/models/currency_convert_response.rb +87 -0
- data/lib/vatsense/models/currency_list_params.rb +45 -0
- data/lib/vatsense/models/currency_list_response.rb +72 -0
- data/lib/vatsense/models/find_rate.rb +28 -0
- data/lib/vatsense/models/invoice/invoice_item.rb +71 -0
- data/lib/vatsense/models/invoice/invoice_item_input.rb +52 -0
- data/lib/vatsense/models/invoice/item_add_params.rb +28 -0
- data/lib/vatsense/models/invoice/item_delete_params.rb +28 -0
- data/lib/vatsense/models/invoice/item_retrieve_params.rb +28 -0
- data/lib/vatsense/models/invoice/item_retrieve_response.rb +30 -0
- data/lib/vatsense/models/invoice/item_update_params.rb +28 -0
- data/lib/vatsense/models/invoice.rb +301 -0
- data/lib/vatsense/models/invoice_business_input.rb +80 -0
- data/lib/vatsense/models/invoice_conversion_input.rb +24 -0
- data/lib/vatsense/models/invoice_create_params.rb +14 -0
- data/lib/vatsense/models/invoice_customer_input.rb +59 -0
- data/lib/vatsense/models/invoice_delete_params.rb +20 -0
- data/lib/vatsense/models/invoice_delete_response.rb +22 -0
- data/lib/vatsense/models/invoice_list_params.rb +38 -0
- data/lib/vatsense/models/invoice_list_response.rb +28 -0
- data/lib/vatsense/models/invoice_response.rb +28 -0
- data/lib/vatsense/models/invoice_retrieve_params.rb +20 -0
- data/lib/vatsense/models/invoice_update_params.rb +20 -0
- data/lib/vatsense/models/rate.rb +74 -0
- data/lib/vatsense/models/rate_calculate_price_params.rb +88 -0
- data/lib/vatsense/models/rate_calculate_price_response.rb +79 -0
- data/lib/vatsense/models/rate_details_params.rb +69 -0
- data/lib/vatsense/models/rate_find_params.rb +69 -0
- data/lib/vatsense/models/rate_list_params.rb +51 -0
- data/lib/vatsense/models/rate_list_response.rb +28 -0
- data/lib/vatsense/models/rate_list_types_params.rb +14 -0
- data/lib/vatsense/models/rate_list_types_response.rb +28 -0
- data/lib/vatsense/models/rate_with_tax_rate.rb +49 -0
- data/lib/vatsense/models/sandbox_generate_key_params.rb +14 -0
- data/lib/vatsense/models/sandbox_generate_key_response.rb +68 -0
- data/lib/vatsense/models/tax_rate.rb +76 -0
- data/lib/vatsense/models/usage_retrieve_params.rb +14 -0
- data/lib/vatsense/models/usage_retrieve_response.rb +67 -0
- data/lib/vatsense/models/validate_check_params.rb +48 -0
- data/lib/vatsense/models/validate_check_response.rb +135 -0
- data/lib/vatsense/models/vat_price.rb +86 -0
- data/lib/vatsense/models.rb +103 -0
- data/lib/vatsense/request_options.rb +77 -0
- data/lib/vatsense/resources/countries.rb +70 -0
- data/lib/vatsense/resources/currency.rb +111 -0
- data/lib/vatsense/resources/invoice/item.rb +133 -0
- data/lib/vatsense/resources/invoice.rb +206 -0
- data/lib/vatsense/resources/rates.rb +190 -0
- data/lib/vatsense/resources/sandbox.rb +36 -0
- data/lib/vatsense/resources/usage.rb +33 -0
- data/lib/vatsense/resources/validate.rb +56 -0
- data/lib/vatsense/version.rb +5 -0
- data/lib/vatsense.rb +113 -0
- data/manifest.yaml +17 -0
- data/rbi/vatsense/client.rbi +93 -0
- data/rbi/vatsense/errors.rbi +205 -0
- data/rbi/vatsense/file_part.rbi +37 -0
- data/rbi/vatsense/internal/transport/base_client.rbi +300 -0
- data/rbi/vatsense/internal/transport/pooled_net_requester.rbi +83 -0
- data/rbi/vatsense/internal/type/array_of.rbi +104 -0
- data/rbi/vatsense/internal/type/base_model.rbi +306 -0
- data/rbi/vatsense/internal/type/base_page.rbi +42 -0
- data/rbi/vatsense/internal/type/boolean.rbi +58 -0
- data/rbi/vatsense/internal/type/converter.rbi +216 -0
- data/rbi/vatsense/internal/type/enum.rbi +82 -0
- data/rbi/vatsense/internal/type/file_input.rbi +59 -0
- data/rbi/vatsense/internal/type/hash_of.rbi +104 -0
- data/rbi/vatsense/internal/type/request_parameters.rbi +29 -0
- data/rbi/vatsense/internal/type/union.rbi +128 -0
- data/rbi/vatsense/internal/type/unknown.rbi +58 -0
- data/rbi/vatsense/internal/util.rbi +507 -0
- data/rbi/vatsense/internal.rbi +16 -0
- data/rbi/vatsense/models/country.rbi +111 -0
- data/rbi/vatsense/models/country_list_params.rbi +59 -0
- data/rbi/vatsense/models/country_list_provinces_params.rbi +43 -0
- data/rbi/vatsense/models/country_list_provinces_response.rbi +177 -0
- data/rbi/vatsense/models/country_list_response.rbi +55 -0
- data/rbi/vatsense/models/create_invoice.rbi +240 -0
- data/rbi/vatsense/models/currency_calculate_vat_price_params.rbi +100 -0
- data/rbi/vatsense/models/currency_calculate_vat_price_response.rbi +51 -0
- data/rbi/vatsense/models/currency_convert_params.rbi +81 -0
- data/rbi/vatsense/models/currency_convert_response.rbi +190 -0
- data/rbi/vatsense/models/currency_list_params.rbi +79 -0
- data/rbi/vatsense/models/currency_list_response.rbi +174 -0
- data/rbi/vatsense/models/find_rate.rbi +50 -0
- data/rbi/vatsense/models/invoice/invoice_item.rbi +129 -0
- data/rbi/vatsense/models/invoice/invoice_item_input.rbi +79 -0
- data/rbi/vatsense/models/invoice/item_add_params.rbi +45 -0
- data/rbi/vatsense/models/invoice/item_delete_params.rbi +48 -0
- data/rbi/vatsense/models/invoice/item_retrieve_params.rbi +48 -0
- data/rbi/vatsense/models/invoice/item_retrieve_response.rbi +57 -0
- data/rbi/vatsense/models/invoice/item_update_params.rbi +48 -0
- data/rbi/vatsense/models/invoice.rbi +481 -0
- data/rbi/vatsense/models/invoice_business_input.rbi +113 -0
- data/rbi/vatsense/models/invoice_conversion_input.rbi +35 -0
- data/rbi/vatsense/models/invoice_create_params.rbi +27 -0
- data/rbi/vatsense/models/invoice_customer_input.rbi +93 -0
- data/rbi/vatsense/models/invoice_delete_params.rbi +35 -0
- data/rbi/vatsense/models/invoice_delete_response.rbi +31 -0
- data/rbi/vatsense/models/invoice_list_params.rbi +68 -0
- data/rbi/vatsense/models/invoice_list_response.rbi +55 -0
- data/rbi/vatsense/models/invoice_response.rbi +48 -0
- data/rbi/vatsense/models/invoice_retrieve_params.rbi +35 -0
- data/rbi/vatsense/models/invoice_update_params.rbi +35 -0
- data/rbi/vatsense/models/rate.rbi +119 -0
- data/rbi/vatsense/models/rate_calculate_price_params.rbi +144 -0
- data/rbi/vatsense/models/rate_calculate_price_response.rbi +184 -0
- data/rbi/vatsense/models/rate_details_params.rbi +109 -0
- data/rbi/vatsense/models/rate_find_params.rbi +109 -0
- data/rbi/vatsense/models/rate_list_params.rbi +83 -0
- data/rbi/vatsense/models/rate_list_response.rbi +48 -0
- data/rbi/vatsense/models/rate_list_types_params.rbi +27 -0
- data/rbi/vatsense/models/rate_list_types_response.rbi +51 -0
- data/rbi/vatsense/models/rate_with_tax_rate.rbi +94 -0
- data/rbi/vatsense/models/sandbox_generate_key_params.rbi +27 -0
- data/rbi/vatsense/models/sandbox_generate_key_response.rbi +135 -0
- data/rbi/vatsense/models/tax_rate.rbi +109 -0
- data/rbi/vatsense/models/usage_retrieve_params.rbi +27 -0
- data/rbi/vatsense/models/usage_retrieve_response.rbi +155 -0
- data/rbi/vatsense/models/validate_check_params.rbi +82 -0
- data/rbi/vatsense/models/validate_check_response.rbi +285 -0
- data/rbi/vatsense/models/vat_price.rbi +136 -0
- data/rbi/vatsense/models.rbi +66 -0
- data/rbi/vatsense/request_options.rbi +59 -0
- data/rbi/vatsense/resources/countries.rbi +49 -0
- data/rbi/vatsense/resources/currency.rbi +82 -0
- data/rbi/vatsense/resources/invoice/item.rbi +97 -0
- data/rbi/vatsense/resources/invoice.rbi +191 -0
- data/rbi/vatsense/resources/rates.rbi +164 -0
- data/rbi/vatsense/resources/sandbox.rbi +24 -0
- data/rbi/vatsense/resources/usage.rbi +22 -0
- data/rbi/vatsense/resources/validate.rbi +51 -0
- data/rbi/vatsense/version.rbi +5 -0
- data/sig/vatsense/client.rbs +45 -0
- data/sig/vatsense/errors.rbs +117 -0
- data/sig/vatsense/file_part.rbs +21 -0
- data/sig/vatsense/internal/transport/base_client.rbs +135 -0
- data/sig/vatsense/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/vatsense/internal/type/array_of.rbs +48 -0
- data/sig/vatsense/internal/type/base_model.rbs +102 -0
- data/sig/vatsense/internal/type/base_page.rbs +24 -0
- data/sig/vatsense/internal/type/boolean.rbs +26 -0
- data/sig/vatsense/internal/type/converter.rbs +79 -0
- data/sig/vatsense/internal/type/enum.rbs +32 -0
- data/sig/vatsense/internal/type/file_input.rbs +25 -0
- data/sig/vatsense/internal/type/hash_of.rbs +48 -0
- data/sig/vatsense/internal/type/request_parameters.rbs +17 -0
- data/sig/vatsense/internal/type/union.rbs +52 -0
- data/sig/vatsense/internal/type/unknown.rbs +26 -0
- data/sig/vatsense/internal/util.rbs +195 -0
- data/sig/vatsense/internal.rbs +9 -0
- data/sig/vatsense/models/country.rbs +76 -0
- data/sig/vatsense/models/country_list_params.rbs +32 -0
- data/sig/vatsense/models/country_list_provinces_params.rbs +23 -0
- data/sig/vatsense/models/country_list_provinces_response.rbs +90 -0
- data/sig/vatsense/models/country_list_response.rbs +32 -0
- data/sig/vatsense/models/create_invoice.rbs +154 -0
- data/sig/vatsense/models/currency_calculate_vat_price_params.rbs +47 -0
- data/sig/vatsense/models/currency_calculate_vat_price_response.rbs +28 -0
- data/sig/vatsense/models/currency_convert_params.rbs +47 -0
- data/sig/vatsense/models/currency_convert_response.rbs +104 -0
- data/sig/vatsense/models/currency_list_params.rbs +45 -0
- data/sig/vatsense/models/currency_list_response.rbs +90 -0
- data/sig/vatsense/models/find_rate.rbs +32 -0
- data/sig/vatsense/models/invoice/invoice_item.rbs +85 -0
- data/sig/vatsense/models/invoice/invoice_item_input.rbs +46 -0
- data/sig/vatsense/models/invoice/item_add_params.rbs +33 -0
- data/sig/vatsense/models/invoice/item_delete_params.rbs +30 -0
- data/sig/vatsense/models/invoice/item_retrieve_params.rbs +30 -0
- data/sig/vatsense/models/invoice/item_retrieve_response.rbs +36 -0
- data/sig/vatsense/models/invoice/item_update_params.rbs +34 -0
- data/sig/vatsense/models/invoice.rbs +332 -0
- data/sig/vatsense/models/invoice_business_input.rbs +72 -0
- data/sig/vatsense/models/invoice_conversion_input.rbs +15 -0
- data/sig/vatsense/models/invoice_create_params.rbs +15 -0
- data/sig/vatsense/models/invoice_customer_input.rbs +62 -0
- data/sig/vatsense/models/invoice_delete_params.rbs +23 -0
- data/sig/vatsense/models/invoice_delete_response.rbs +15 -0
- data/sig/vatsense/models/invoice_list_params.rbs +38 -0
- data/sig/vatsense/models/invoice_list_response.rbs +34 -0
- data/sig/vatsense/models/invoice_response.rbs +32 -0
- data/sig/vatsense/models/invoice_retrieve_params.rbs +23 -0
- data/sig/vatsense/models/invoice_update_params.rbs +25 -0
- data/sig/vatsense/models/rate.rbs +79 -0
- data/sig/vatsense/models/rate_calculate_price_params.rbs +77 -0
- data/sig/vatsense/models/rate_calculate_price_response.rbs +104 -0
- data/sig/vatsense/models/rate_details_params.rbs +63 -0
- data/sig/vatsense/models/rate_find_params.rbs +63 -0
- data/sig/vatsense/models/rate_list_params.rbs +44 -0
- data/sig/vatsense/models/rate_list_response.rbs +32 -0
- data/sig/vatsense/models/rate_list_types_params.rbs +15 -0
- data/sig/vatsense/models/rate_list_types_response.rbs +28 -0
- data/sig/vatsense/models/rate_with_tax_rate.rbs +62 -0
- data/sig/vatsense/models/sandbox_generate_key_params.rbs +15 -0
- data/sig/vatsense/models/sandbox_generate_key_response.rbs +85 -0
- data/sig/vatsense/models/tax_rate.rbs +72 -0
- data/sig/vatsense/models/usage_retrieve_params.rbs +15 -0
- data/sig/vatsense/models/usage_retrieve_response.rbs +81 -0
- data/sig/vatsense/models/validate_check_params.rbs +38 -0
- data/sig/vatsense/models/validate_check_response.rbs +161 -0
- data/sig/vatsense/models/vat_price.rbs +89 -0
- data/sig/vatsense/models.rbs +63 -0
- data/sig/vatsense/request_options.rbs +34 -0
- data/sig/vatsense/resources/countries.rbs +18 -0
- data/sig/vatsense/resources/currency.rbs +27 -0
- data/sig/vatsense/resources/invoice/item.rbs +38 -0
- data/sig/vatsense/resources/invoice.rbs +69 -0
- data/sig/vatsense/resources/rates.rbs +50 -0
- data/sig/vatsense/resources/sandbox.rbs +11 -0
- data/sig/vatsense/resources/usage.rbs +11 -0
- data/sig/vatsense/resources/validate.rbs +14 -0
- data/sig/vatsense/version.rbs +3 -0
- metadata +316 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Internal
|
|
5
|
+
extend Vatsense::Internal::Util::SorbetRuntimeSupport
|
|
6
|
+
|
|
7
|
+
OMIT =
|
|
8
|
+
Object.new.tap do
|
|
9
|
+
_1.define_singleton_method(:inspect) { "#<#{Vatsense::Internal}::OMIT>" }
|
|
10
|
+
end
|
|
11
|
+
.freeze
|
|
12
|
+
|
|
13
|
+
define_sorbet_constant!(:AnyHash) do
|
|
14
|
+
T.type_alias { T::Hash[Symbol, T.anything] }
|
|
15
|
+
end
|
|
16
|
+
define_sorbet_constant!(:FileInput) do
|
|
17
|
+
T.type_alias { T.any(Pathname, StringIO, IO, String, Vatsense::FilePart) }
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
class Country < Vatsense::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute country_code
|
|
7
|
+
# 2-character ISO 3166-1 alpha-2 country code.
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :country_code, String
|
|
11
|
+
|
|
12
|
+
# @!attribute country_name
|
|
13
|
+
#
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
optional :country_name, String
|
|
16
|
+
|
|
17
|
+
# @!attribute eu
|
|
18
|
+
# Whether the country is subject to EU VAT.
|
|
19
|
+
#
|
|
20
|
+
# @return [Boolean, nil]
|
|
21
|
+
optional :eu, Vatsense::Internal::Type::Boolean
|
|
22
|
+
|
|
23
|
+
# @!attribute latitude
|
|
24
|
+
#
|
|
25
|
+
# @return [Float, nil]
|
|
26
|
+
optional :latitude, Float
|
|
27
|
+
|
|
28
|
+
# @!attribute longitude
|
|
29
|
+
#
|
|
30
|
+
# @return [Float, nil]
|
|
31
|
+
optional :longitude, Float
|
|
32
|
+
|
|
33
|
+
# @!attribute object
|
|
34
|
+
#
|
|
35
|
+
# @return [Symbol, Vatsense::Models::Country::Object, nil]
|
|
36
|
+
optional :object, enum: -> { Vatsense::Country::Object }
|
|
37
|
+
|
|
38
|
+
# @!attribute vat
|
|
39
|
+
# Whether the country is subject to VAT/GST.
|
|
40
|
+
#
|
|
41
|
+
# @return [Boolean, nil]
|
|
42
|
+
optional :vat, Vatsense::Internal::Type::Boolean
|
|
43
|
+
|
|
44
|
+
# @!method initialize(country_code: nil, country_name: nil, eu: nil, latitude: nil, longitude: nil, object: nil, vat: nil)
|
|
45
|
+
# @param country_code [String] 2-character ISO 3166-1 alpha-2 country code.
|
|
46
|
+
#
|
|
47
|
+
# @param country_name [String]
|
|
48
|
+
#
|
|
49
|
+
# @param eu [Boolean] Whether the country is subject to EU VAT.
|
|
50
|
+
#
|
|
51
|
+
# @param latitude [Float]
|
|
52
|
+
#
|
|
53
|
+
# @param longitude [Float]
|
|
54
|
+
#
|
|
55
|
+
# @param object [Symbol, Vatsense::Models::Country::Object]
|
|
56
|
+
#
|
|
57
|
+
# @param vat [Boolean] Whether the country is subject to VAT/GST.
|
|
58
|
+
|
|
59
|
+
# @see Vatsense::Models::Country#object
|
|
60
|
+
module Object
|
|
61
|
+
extend Vatsense::Internal::Type::Enum
|
|
62
|
+
|
|
63
|
+
COUNTRY = :country
|
|
64
|
+
|
|
65
|
+
# @!method self.values
|
|
66
|
+
# @return [Array<Symbol>]
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Countries#list
|
|
6
|
+
class CountryListParams < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
extend Vatsense::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Vatsense::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute country_code
|
|
11
|
+
# A 2-character ISO 3166-1 alpha-2 country code (e.g. "GB", "FR").
|
|
12
|
+
#
|
|
13
|
+
# @return [String, nil]
|
|
14
|
+
optional :country_code, String
|
|
15
|
+
|
|
16
|
+
# @!attribute ip_address
|
|
17
|
+
# An IPv4 or IPv6 address. If provided, the country will be determined from the IP
|
|
18
|
+
# address.
|
|
19
|
+
#
|
|
20
|
+
# @return [String, nil]
|
|
21
|
+
optional :ip_address, String
|
|
22
|
+
|
|
23
|
+
# @!method initialize(country_code: nil, ip_address: nil, request_options: {})
|
|
24
|
+
# Some parameter documentations has been truncated, see
|
|
25
|
+
# {Vatsense::Models::CountryListParams} for more details.
|
|
26
|
+
#
|
|
27
|
+
# @param country_code [String] A 2-character ISO 3166-1 alpha-2 country code (e.g. "GB", "FR").
|
|
28
|
+
#
|
|
29
|
+
# @param ip_address [String] An IPv4 or IPv6 address. If provided, the country will be determined from the IP
|
|
30
|
+
#
|
|
31
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Countries#list_provinces
|
|
6
|
+
class CountryListProvincesParams < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
extend Vatsense::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Vatsense::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute country_code
|
|
11
|
+
# A 2-character ISO 3166-1 alpha-2 country code (e.g. "CA").
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :country_code, String
|
|
15
|
+
|
|
16
|
+
# @!method initialize(country_code:, request_options: {})
|
|
17
|
+
# @param country_code [String] A 2-character ISO 3166-1 alpha-2 country code (e.g. "CA").
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Countries#list_provinces
|
|
6
|
+
class CountryListProvincesResponse < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute code
|
|
8
|
+
#
|
|
9
|
+
# @return [Integer, nil]
|
|
10
|
+
optional :code, Integer
|
|
11
|
+
|
|
12
|
+
# @!attribute data
|
|
13
|
+
#
|
|
14
|
+
# @return [Array<Vatsense::Models::CountryListProvincesResponse::Data>, nil]
|
|
15
|
+
optional :data,
|
|
16
|
+
-> { Vatsense::Internal::Type::ArrayOf[Vatsense::Models::CountryListProvincesResponse::Data] }
|
|
17
|
+
|
|
18
|
+
# @!attribute success
|
|
19
|
+
#
|
|
20
|
+
# @return [Boolean, nil]
|
|
21
|
+
optional :success, Vatsense::Internal::Type::Boolean
|
|
22
|
+
|
|
23
|
+
# @!method initialize(code: nil, data: nil, success: nil)
|
|
24
|
+
# @param code [Integer]
|
|
25
|
+
# @param data [Array<Vatsense::Models::CountryListProvincesResponse::Data>]
|
|
26
|
+
# @param success [Boolean]
|
|
27
|
+
|
|
28
|
+
class Data < Vatsense::Internal::Type::BaseModel
|
|
29
|
+
# @!attribute country_code
|
|
30
|
+
#
|
|
31
|
+
# @return [String, nil]
|
|
32
|
+
optional :country_code, String
|
|
33
|
+
|
|
34
|
+
# @!attribute object
|
|
35
|
+
#
|
|
36
|
+
# @return [Symbol, Vatsense::Models::CountryListProvincesResponse::Data::Object, nil]
|
|
37
|
+
optional :object, enum: -> { Vatsense::Models::CountryListProvincesResponse::Data::Object }
|
|
38
|
+
|
|
39
|
+
# @!attribute province_code
|
|
40
|
+
#
|
|
41
|
+
# @return [String, nil]
|
|
42
|
+
optional :province_code, String
|
|
43
|
+
|
|
44
|
+
# @!attribute province_name
|
|
45
|
+
#
|
|
46
|
+
# @return [String, nil]
|
|
47
|
+
optional :province_name, String
|
|
48
|
+
|
|
49
|
+
# @!method initialize(country_code: nil, object: nil, province_code: nil, province_name: nil)
|
|
50
|
+
# @param country_code [String]
|
|
51
|
+
# @param object [Symbol, Vatsense::Models::CountryListProvincesResponse::Data::Object]
|
|
52
|
+
# @param province_code [String]
|
|
53
|
+
# @param province_name [String]
|
|
54
|
+
|
|
55
|
+
# @see Vatsense::Models::CountryListProvincesResponse::Data#object
|
|
56
|
+
module Object
|
|
57
|
+
extend Vatsense::Internal::Type::Enum
|
|
58
|
+
|
|
59
|
+
PROVINCE = :province
|
|
60
|
+
|
|
61
|
+
# @!method self.values
|
|
62
|
+
# @return [Array<Symbol>]
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Countries#list
|
|
6
|
+
class CountryListResponse < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute code
|
|
8
|
+
#
|
|
9
|
+
# @return [Integer, nil]
|
|
10
|
+
optional :code, Integer
|
|
11
|
+
|
|
12
|
+
# @!attribute data
|
|
13
|
+
#
|
|
14
|
+
# @return [Array<Vatsense::Models::Country>, nil]
|
|
15
|
+
optional :data, -> { Vatsense::Internal::Type::ArrayOf[Vatsense::Country] }
|
|
16
|
+
|
|
17
|
+
# @!attribute success
|
|
18
|
+
#
|
|
19
|
+
# @return [Boolean, nil]
|
|
20
|
+
optional :success, Vatsense::Internal::Type::Boolean
|
|
21
|
+
|
|
22
|
+
# @!method initialize(code: nil, data: nil, success: nil)
|
|
23
|
+
# @param code [Integer]
|
|
24
|
+
# @param data [Array<Vatsense::Models::Country>]
|
|
25
|
+
# @param success [Boolean]
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
class CreateInvoice < Vatsense::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute business
|
|
7
|
+
#
|
|
8
|
+
# @return [Vatsense::Models::InvoiceBusinessInput]
|
|
9
|
+
required :business, -> { Vatsense::InvoiceBusinessInput }
|
|
10
|
+
|
|
11
|
+
# @!attribute currency_code
|
|
12
|
+
# The 3-character currency code the invoice is billed in.
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
required :currency_code, String
|
|
16
|
+
|
|
17
|
+
# @!attribute date
|
|
18
|
+
# The date the invoice was issued (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).
|
|
19
|
+
#
|
|
20
|
+
# @return [String]
|
|
21
|
+
required :date, String
|
|
22
|
+
|
|
23
|
+
# @!attribute items
|
|
24
|
+
#
|
|
25
|
+
# @return [Array<Vatsense::Models::Invoice::InvoiceItemInput>]
|
|
26
|
+
required :items, -> { Vatsense::Internal::Type::ArrayOf[Vatsense::Invoice::InvoiceItemInput] }
|
|
27
|
+
|
|
28
|
+
# @!attribute tax_point
|
|
29
|
+
# The tax point or "time of supply" (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).
|
|
30
|
+
#
|
|
31
|
+
# @return [String]
|
|
32
|
+
required :tax_point, String
|
|
33
|
+
|
|
34
|
+
# @!attribute conversion
|
|
35
|
+
#
|
|
36
|
+
# @return [Vatsense::Models::InvoiceConversionInput, nil]
|
|
37
|
+
optional :conversion, -> { Vatsense::InvoiceConversionInput }
|
|
38
|
+
|
|
39
|
+
# @!attribute customer
|
|
40
|
+
#
|
|
41
|
+
# @return [Vatsense::Models::InvoiceCustomerInput, nil]
|
|
42
|
+
optional :customer, -> { Vatsense::InvoiceCustomerInput }
|
|
43
|
+
|
|
44
|
+
# @!attribute has_vat
|
|
45
|
+
# Whether the invoice is subject to VAT.
|
|
46
|
+
#
|
|
47
|
+
# @return [Boolean, nil]
|
|
48
|
+
optional :has_vat, Vatsense::Internal::Type::Boolean
|
|
49
|
+
|
|
50
|
+
# @!attribute invoice_number
|
|
51
|
+
# A unique invoice number. If not provided, defaults to an auto-incremented
|
|
52
|
+
# number.
|
|
53
|
+
#
|
|
54
|
+
# @return [String, nil]
|
|
55
|
+
optional :invoice_number, String
|
|
56
|
+
|
|
57
|
+
# @!attribute is_copy
|
|
58
|
+
# Whether the invoice is a copy of a primary invoice.
|
|
59
|
+
#
|
|
60
|
+
# @return [Boolean, nil]
|
|
61
|
+
optional :is_copy, Vatsense::Internal::Type::Boolean
|
|
62
|
+
|
|
63
|
+
# @!attribute is_reverse_charge
|
|
64
|
+
# Whether the invoice is zero-rated due to reverse charge.
|
|
65
|
+
#
|
|
66
|
+
# @return [Boolean, nil]
|
|
67
|
+
optional :is_reverse_charge, Vatsense::Internal::Type::Boolean
|
|
68
|
+
|
|
69
|
+
# @!attribute notes
|
|
70
|
+
# Any additional notes for the invoice.
|
|
71
|
+
#
|
|
72
|
+
# @return [String, nil]
|
|
73
|
+
optional :notes, String
|
|
74
|
+
|
|
75
|
+
# @!attribute pad_invoice_number
|
|
76
|
+
# Pad the auto-generated invoice number with leading zeros to this length.
|
|
77
|
+
#
|
|
78
|
+
# @return [Integer, nil]
|
|
79
|
+
optional :pad_invoice_number, Integer
|
|
80
|
+
|
|
81
|
+
# @!attribute serial
|
|
82
|
+
# A serial prepended to the auto-generated invoice number. Each unique serial has
|
|
83
|
+
# its own auto-increment range.
|
|
84
|
+
#
|
|
85
|
+
# @return [String, nil]
|
|
86
|
+
optional :serial, String
|
|
87
|
+
|
|
88
|
+
# @!attribute tax_type
|
|
89
|
+
# Whether item prices include or exclude VAT.
|
|
90
|
+
#
|
|
91
|
+
# @return [Symbol, Vatsense::Models::CreateInvoice::TaxType, nil]
|
|
92
|
+
optional :tax_type, enum: -> { Vatsense::CreateInvoice::TaxType }
|
|
93
|
+
|
|
94
|
+
# @!attribute type
|
|
95
|
+
# The type of invoice.
|
|
96
|
+
#
|
|
97
|
+
# @return [Symbol, Vatsense::Models::CreateInvoice::Type, nil]
|
|
98
|
+
optional :type, enum: -> { Vatsense::CreateInvoice::Type }
|
|
99
|
+
|
|
100
|
+
# @!attribute zero_rated
|
|
101
|
+
# Whether the invoice has been zero-rated.
|
|
102
|
+
#
|
|
103
|
+
# @return [Boolean, nil]
|
|
104
|
+
optional :zero_rated, Vatsense::Internal::Type::Boolean
|
|
105
|
+
|
|
106
|
+
# @!method initialize(business:, currency_code:, date:, items:, tax_point:, conversion: nil, customer: nil, has_vat: nil, invoice_number: nil, is_copy: nil, is_reverse_charge: nil, notes: nil, pad_invoice_number: nil, serial: nil, tax_type: nil, type: nil, zero_rated: nil)
|
|
107
|
+
# Some parameter documentations has been truncated, see
|
|
108
|
+
# {Vatsense::Models::CreateInvoice} for more details.
|
|
109
|
+
#
|
|
110
|
+
# @param business [Vatsense::Models::InvoiceBusinessInput]
|
|
111
|
+
#
|
|
112
|
+
# @param currency_code [String] The 3-character currency code the invoice is billed in.
|
|
113
|
+
#
|
|
114
|
+
# @param date [String] The date the invoice was issued (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).
|
|
115
|
+
#
|
|
116
|
+
# @param items [Array<Vatsense::Models::Invoice::InvoiceItemInput>]
|
|
117
|
+
#
|
|
118
|
+
# @param tax_point [String] The tax point or "time of supply" (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS).
|
|
119
|
+
#
|
|
120
|
+
# @param conversion [Vatsense::Models::InvoiceConversionInput]
|
|
121
|
+
#
|
|
122
|
+
# @param customer [Vatsense::Models::InvoiceCustomerInput]
|
|
123
|
+
#
|
|
124
|
+
# @param has_vat [Boolean] Whether the invoice is subject to VAT.
|
|
125
|
+
#
|
|
126
|
+
# @param invoice_number [String] A unique invoice number. If not provided, defaults to an auto-incremented number
|
|
127
|
+
#
|
|
128
|
+
# @param is_copy [Boolean] Whether the invoice is a copy of a primary invoice.
|
|
129
|
+
#
|
|
130
|
+
# @param is_reverse_charge [Boolean] Whether the invoice is zero-rated due to reverse charge.
|
|
131
|
+
#
|
|
132
|
+
# @param notes [String] Any additional notes for the invoice.
|
|
133
|
+
#
|
|
134
|
+
# @param pad_invoice_number [Integer] Pad the auto-generated invoice number with leading zeros to this length.
|
|
135
|
+
#
|
|
136
|
+
# @param serial [String] A serial prepended to the auto-generated invoice number. Each unique serial has
|
|
137
|
+
#
|
|
138
|
+
# @param tax_type [Symbol, Vatsense::Models::CreateInvoice::TaxType] Whether item prices include or exclude VAT.
|
|
139
|
+
#
|
|
140
|
+
# @param type [Symbol, Vatsense::Models::CreateInvoice::Type] The type of invoice.
|
|
141
|
+
#
|
|
142
|
+
# @param zero_rated [Boolean] Whether the invoice has been zero-rated.
|
|
143
|
+
|
|
144
|
+
# Whether item prices include or exclude VAT.
|
|
145
|
+
#
|
|
146
|
+
# @see Vatsense::Models::CreateInvoice#tax_type
|
|
147
|
+
module TaxType
|
|
148
|
+
extend Vatsense::Internal::Type::Enum
|
|
149
|
+
|
|
150
|
+
INCL = :incl
|
|
151
|
+
EXCL = :excl
|
|
152
|
+
|
|
153
|
+
# @!method self.values
|
|
154
|
+
# @return [Array<Symbol>]
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
# The type of invoice.
|
|
158
|
+
#
|
|
159
|
+
# @see Vatsense::Models::CreateInvoice#type
|
|
160
|
+
module Type
|
|
161
|
+
extend Vatsense::Internal::Type::Enum
|
|
162
|
+
|
|
163
|
+
SALE = :sale
|
|
164
|
+
REFUND = :refund
|
|
165
|
+
|
|
166
|
+
# @!method self.values
|
|
167
|
+
# @return [Array<Symbol>]
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Currency#calculate_vat_price
|
|
6
|
+
class CurrencyCalculateVatPriceParams < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
extend Vatsense::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Vatsense::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute price
|
|
11
|
+
# The price to calculate on. Must be a string with exactly 2 decimal places (e.g.
|
|
12
|
+
# "30.00", "59.95").
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
required :price, String
|
|
16
|
+
|
|
17
|
+
# @!attribute tax_type
|
|
18
|
+
# Whether the provided price is inclusive or exclusive of VAT.
|
|
19
|
+
#
|
|
20
|
+
# @return [Symbol, Vatsense::Models::CurrencyCalculateVatPriceParams::TaxType]
|
|
21
|
+
required :tax_type, enum: -> { Vatsense::CurrencyCalculateVatPriceParams::TaxType }
|
|
22
|
+
|
|
23
|
+
# @!attribute vat_rate
|
|
24
|
+
# A percentage VAT rate to use for the calculation.
|
|
25
|
+
#
|
|
26
|
+
# @return [Float]
|
|
27
|
+
required :vat_rate, Float
|
|
28
|
+
|
|
29
|
+
# @!method initialize(price:, tax_type:, vat_rate:, request_options: {})
|
|
30
|
+
# Some parameter documentations has been truncated, see
|
|
31
|
+
# {Vatsense::Models::CurrencyCalculateVatPriceParams} for more details.
|
|
32
|
+
#
|
|
33
|
+
# @param price [String] The price to calculate on. Must be a string with exactly 2 decimal places (e.g.
|
|
34
|
+
#
|
|
35
|
+
# @param tax_type [Symbol, Vatsense::Models::CurrencyCalculateVatPriceParams::TaxType] Whether the provided price is inclusive or exclusive of VAT.
|
|
36
|
+
#
|
|
37
|
+
# @param vat_rate [Float] A percentage VAT rate to use for the calculation.
|
|
38
|
+
#
|
|
39
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}]
|
|
40
|
+
|
|
41
|
+
# Whether the provided price is inclusive or exclusive of VAT.
|
|
42
|
+
module TaxType
|
|
43
|
+
extend Vatsense::Internal::Type::Enum
|
|
44
|
+
|
|
45
|
+
INCL = :incl
|
|
46
|
+
EXCL = :excl
|
|
47
|
+
|
|
48
|
+
# @!method self.values
|
|
49
|
+
# @return [Array<Symbol>]
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Currency#calculate_vat_price
|
|
6
|
+
class CurrencyCalculateVatPriceResponse < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute code
|
|
8
|
+
#
|
|
9
|
+
# @return [Integer, nil]
|
|
10
|
+
optional :code, Integer
|
|
11
|
+
|
|
12
|
+
# @!attribute data
|
|
13
|
+
#
|
|
14
|
+
# @return [Vatsense::Models::VatPrice, nil]
|
|
15
|
+
optional :data, -> { Vatsense::VatPrice }
|
|
16
|
+
|
|
17
|
+
# @!attribute success
|
|
18
|
+
#
|
|
19
|
+
# @return [Boolean, nil]
|
|
20
|
+
optional :success, Vatsense::Internal::Type::Boolean
|
|
21
|
+
|
|
22
|
+
# @!method initialize(code: nil, data: nil, success: nil)
|
|
23
|
+
# @param code [Integer]
|
|
24
|
+
# @param data [Vatsense::Models::VatPrice]
|
|
25
|
+
# @param success [Boolean]
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Currency#convert
|
|
6
|
+
class CurrencyConvertParams < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
extend Vatsense::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Vatsense::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute amount
|
|
11
|
+
# The amount to convert. Must be a string with exactly 2 decimal places (e.g.
|
|
12
|
+
# "39.99").
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
required :amount, String
|
|
16
|
+
|
|
17
|
+
# @!attribute from
|
|
18
|
+
# The 3-character source currency code (e.g. "USD", "CAD").
|
|
19
|
+
#
|
|
20
|
+
# @return [String]
|
|
21
|
+
required :from, String
|
|
22
|
+
|
|
23
|
+
# @!attribute to
|
|
24
|
+
# The 3-character target currency code. Must be either "GBP" or "EUR".
|
|
25
|
+
#
|
|
26
|
+
# @return [Symbol, Vatsense::Models::CurrencyConvertParams::To]
|
|
27
|
+
required :to, enum: -> { Vatsense::CurrencyConvertParams::To }
|
|
28
|
+
|
|
29
|
+
# @!method initialize(amount:, from:, to:, request_options: {})
|
|
30
|
+
# Some parameter documentations has been truncated, see
|
|
31
|
+
# {Vatsense::Models::CurrencyConvertParams} for more details.
|
|
32
|
+
#
|
|
33
|
+
# @param amount [String] The amount to convert. Must be a string with exactly 2 decimal places (e.g. "39.
|
|
34
|
+
#
|
|
35
|
+
# @param from [String] The 3-character source currency code (e.g. "USD", "CAD").
|
|
36
|
+
#
|
|
37
|
+
# @param to [Symbol, Vatsense::Models::CurrencyConvertParams::To] The 3-character target currency code. Must be either "GBP" or "EUR".
|
|
38
|
+
#
|
|
39
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}]
|
|
40
|
+
|
|
41
|
+
# The 3-character target currency code. Must be either "GBP" or "EUR".
|
|
42
|
+
module To
|
|
43
|
+
extend Vatsense::Internal::Type::Enum
|
|
44
|
+
|
|
45
|
+
GBP = :GBP
|
|
46
|
+
EUR = :EUR
|
|
47
|
+
|
|
48
|
+
# @!method self.values
|
|
49
|
+
# @return [Array<Symbol>]
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Currency#convert
|
|
6
|
+
class CurrencyConvertResponse < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute code
|
|
8
|
+
#
|
|
9
|
+
# @return [Integer, nil]
|
|
10
|
+
optional :code, Integer
|
|
11
|
+
|
|
12
|
+
# @!attribute data
|
|
13
|
+
#
|
|
14
|
+
# @return [Vatsense::Models::CurrencyConvertResponse::Data, nil]
|
|
15
|
+
optional :data, -> { Vatsense::Models::CurrencyConvertResponse::Data }
|
|
16
|
+
|
|
17
|
+
# @!attribute success
|
|
18
|
+
#
|
|
19
|
+
# @return [Boolean, nil]
|
|
20
|
+
optional :success, Vatsense::Internal::Type::Boolean
|
|
21
|
+
|
|
22
|
+
# @!method initialize(code: nil, data: nil, success: nil)
|
|
23
|
+
# @param code [Integer]
|
|
24
|
+
# @param data [Vatsense::Models::CurrencyConvertResponse::Data]
|
|
25
|
+
# @param success [Boolean]
|
|
26
|
+
|
|
27
|
+
# @see Vatsense::Models::CurrencyConvertResponse#data
|
|
28
|
+
class Data < Vatsense::Internal::Type::BaseModel
|
|
29
|
+
# @!attribute amount
|
|
30
|
+
# The original amount.
|
|
31
|
+
#
|
|
32
|
+
# @return [Float, nil]
|
|
33
|
+
optional :amount, Float
|
|
34
|
+
|
|
35
|
+
# @!attribute converted
|
|
36
|
+
# The converted amount.
|
|
37
|
+
#
|
|
38
|
+
# @return [Float, nil]
|
|
39
|
+
optional :converted, Float
|
|
40
|
+
|
|
41
|
+
# @!attribute from
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :from, String
|
|
45
|
+
|
|
46
|
+
# @!attribute object
|
|
47
|
+
#
|
|
48
|
+
# @return [Symbol, Vatsense::Models::CurrencyConvertResponse::Data::Object, nil]
|
|
49
|
+
optional :object, enum: -> { Vatsense::Models::CurrencyConvertResponse::Data::Object }
|
|
50
|
+
|
|
51
|
+
# @!attribute rate
|
|
52
|
+
# The exchange rate used.
|
|
53
|
+
#
|
|
54
|
+
# @return [Float, nil]
|
|
55
|
+
optional :rate, Float
|
|
56
|
+
|
|
57
|
+
# @!attribute to
|
|
58
|
+
#
|
|
59
|
+
# @return [String, nil]
|
|
60
|
+
optional :to, String
|
|
61
|
+
|
|
62
|
+
# @!method initialize(amount: nil, converted: nil, from: nil, object: nil, rate: nil, to: nil)
|
|
63
|
+
# @param amount [Float] The original amount.
|
|
64
|
+
#
|
|
65
|
+
# @param converted [Float] The converted amount.
|
|
66
|
+
#
|
|
67
|
+
# @param from [String]
|
|
68
|
+
#
|
|
69
|
+
# @param object [Symbol, Vatsense::Models::CurrencyConvertResponse::Data::Object]
|
|
70
|
+
#
|
|
71
|
+
# @param rate [Float] The exchange rate used.
|
|
72
|
+
#
|
|
73
|
+
# @param to [String]
|
|
74
|
+
|
|
75
|
+
# @see Vatsense::Models::CurrencyConvertResponse::Data#object
|
|
76
|
+
module Object
|
|
77
|
+
extend Vatsense::Internal::Type::Enum
|
|
78
|
+
|
|
79
|
+
CONVERSION = :conversion
|
|
80
|
+
|
|
81
|
+
# @!method self.values
|
|
82
|
+
# @return [Array<Symbol>]
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Vatsense
|
|
4
|
+
module Models
|
|
5
|
+
# @see Vatsense::Resources::Currency#list
|
|
6
|
+
class CurrencyListParams < Vatsense::Internal::Type::BaseModel
|
|
7
|
+
extend Vatsense::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Vatsense::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute from
|
|
11
|
+
# The 3-character currency code(s) to convert from (e.g. "USD", "CAD"). Can be a
|
|
12
|
+
# comma-separated list without spaces (e.g. "USD,CAD,AUD").
|
|
13
|
+
#
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
optional :from, String
|
|
16
|
+
|
|
17
|
+
# @!attribute to
|
|
18
|
+
# The 3-character target currency code. Must be either "GBP" or "EUR".
|
|
19
|
+
#
|
|
20
|
+
# @return [Symbol, Vatsense::Models::CurrencyListParams::To, nil]
|
|
21
|
+
optional :to, enum: -> { Vatsense::CurrencyListParams::To }
|
|
22
|
+
|
|
23
|
+
# @!method initialize(from: nil, to: nil, request_options: {})
|
|
24
|
+
# Some parameter documentations has been truncated, see
|
|
25
|
+
# {Vatsense::Models::CurrencyListParams} for more details.
|
|
26
|
+
#
|
|
27
|
+
# @param from [String] The 3-character currency code(s) to convert from (e.g. "USD", "CAD").
|
|
28
|
+
#
|
|
29
|
+
# @param to [Symbol, Vatsense::Models::CurrencyListParams::To] The 3-character target currency code. Must be either "GBP" or "EUR".
|
|
30
|
+
#
|
|
31
|
+
# @param request_options [Vatsense::RequestOptions, Hash{Symbol=>Object}]
|
|
32
|
+
|
|
33
|
+
# The 3-character target currency code. Must be either "GBP" or "EUR".
|
|
34
|
+
module To
|
|
35
|
+
extend Vatsense::Internal::Type::Enum
|
|
36
|
+
|
|
37
|
+
GBP = :GBP
|
|
38
|
+
EUR = :EUR
|
|
39
|
+
|
|
40
|
+
# @!method self.values
|
|
41
|
+
# @return [Array<Symbol>]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|