gobl 0.4.1 → 0.5.1

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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/data/regimes/co.json +14696 -0
  3. data/data/{tax/ES.json → regimes/es.json} +57 -57
  4. data/data/{tax/FR.json → regimes/fr.json} +1 -1
  5. data/data/{tax/GB.json → regimes/gb.json} +1 -1
  6. data/data/{tax/NL.json → regimes/nl.json} +1 -1
  7. data/lib/extensions.rb +1 -1
  8. data/lib/gobl/bill/advances.rb +1 -1
  9. data/lib/gobl/bill/charge.rb +3 -3
  10. data/lib/gobl/bill/delivery.rb +1 -1
  11. data/lib/gobl/bill/discount.rb +3 -3
  12. data/lib/gobl/bill/exchange_rates.rb +1 -1
  13. data/lib/gobl/bill/invoice.rb +5 -5
  14. data/lib/gobl/bill/invoice_type.rb +1 -1
  15. data/lib/gobl/bill/line.rb +3 -3
  16. data/lib/gobl/bill/line_charge.rb +1 -1
  17. data/lib/gobl/bill/line_discount.rb +1 -1
  18. data/lib/gobl/bill/ordering.rb +1 -1
  19. data/lib/gobl/bill/outlay.rb +1 -1
  20. data/lib/gobl/bill/payment.rb +1 -1
  21. data/lib/gobl/bill/preceding.rb +5 -5
  22. data/lib/gobl/bill/scheme_keys.rb +2 -2
  23. data/lib/gobl/bill/tax.rb +5 -5
  24. data/lib/gobl/bill/totals.rb +1 -1
  25. data/lib/gobl/cal/date.rb +1 -1
  26. data/lib/gobl/cal/period.rb +1 -1
  27. data/lib/gobl/{org → cbc}/code.rb +3 -3
  28. data/lib/gobl/{org → cbc}/key.rb +3 -3
  29. data/lib/gobl/{org → cbc}/meta.rb +2 -2
  30. data/lib/gobl/{org → cbc}/note.rb +3 -3
  31. data/lib/gobl/{org → cbc}/note_key.rb +3 -3
  32. data/lib/gobl/{org → cbc}/stamp.rb +5 -5
  33. data/lib/gobl/currency/code.rb +1 -1
  34. data/lib/gobl/currency/exchange_rate.rb +1 -1
  35. data/lib/gobl/document.rb +1 -1
  36. data/lib/gobl/dsig/digest.rb +1 -1
  37. data/lib/gobl/dsig/signature.rb +1 -1
  38. data/lib/gobl/envelope.rb +1 -1
  39. data/lib/gobl/header.rb +5 -5
  40. data/lib/gobl/i18n/string.rb +1 -1
  41. data/lib/gobl/l10n/code.rb +1 -1
  42. data/lib/gobl/l10n/country_code.rb +1 -1
  43. data/lib/gobl/note/message.rb +3 -3
  44. data/lib/gobl/org/address.rb +5 -6
  45. data/lib/gobl/org/coordinates.rb +1 -1
  46. data/lib/gobl/org/email.rb +3 -3
  47. data/lib/gobl/org/inbox.rb +5 -5
  48. data/lib/gobl/org/item.rb +3 -3
  49. data/lib/gobl/org/item_code.rb +1 -1
  50. data/lib/gobl/org/name.rb +3 -3
  51. data/lib/gobl/org/party.rb +5 -5
  52. data/lib/gobl/org/person.rb +3 -3
  53. data/lib/gobl/org/registration.rb +1 -1
  54. data/lib/gobl/org/telephone.rb +1 -1
  55. data/lib/gobl/org/unit.rb +1 -1
  56. data/lib/gobl/pay/advance.rb +1 -1
  57. data/lib/gobl/pay/card.rb +1 -1
  58. data/lib/gobl/pay/credit_transfer.rb +1 -1
  59. data/lib/gobl/pay/direct_debit.rb +1 -1
  60. data/lib/gobl/pay/due_date.rb +1 -1
  61. data/lib/gobl/pay/instructions.rb +3 -3
  62. data/lib/gobl/pay/method_key.rb +1 -1
  63. data/lib/gobl/pay/online.rb +1 -1
  64. data/lib/gobl/pay/term_key.rb +1 -1
  65. data/lib/gobl/pay/terms.rb +1 -1
  66. data/lib/gobl/tax/category.rb +4 -4
  67. data/lib/gobl/tax/category_total.rb +3 -3
  68. data/lib/gobl/tax/combo.rb +5 -5
  69. data/lib/gobl/{org/tax_identity.rb → tax/identity.rb} +11 -11
  70. data/lib/gobl/tax/rate.rb +4 -4
  71. data/lib/gobl/tax/rate_total.rb +3 -3
  72. data/lib/gobl/tax/rate_total_surcharge.rb +1 -1
  73. data/lib/gobl/tax/rate_value.rb +2 -2
  74. data/lib/gobl/tax/{region.rb → regime.rb} +14 -14
  75. data/lib/gobl/tax/scheme.rb +8 -8
  76. data/lib/gobl/tax/schemes.rb +1 -1
  77. data/lib/gobl/tax/set.rb +1 -1
  78. data/lib/gobl/{org → tax}/source_key.rb +3 -3
  79. data/lib/gobl/tax/total.rb +1 -1
  80. data/lib/gobl/tax/zone.rb +43 -0
  81. data/lib/gobl/uuid/uuid.rb +1 -1
  82. data/lib/gobl/version.rb +1 -1
  83. data/lib/gobl.rb +2 -1
  84. data/lib/gobl_extensions/tax/regime_helper.rb +35 -0
  85. metadata +18 -19
  86. data/data/tax/CO.json +0 -10212
  87. data/lib/gobl/tax/localities.rb +0 -14
  88. data/lib/gobl/tax/locality.rb +0 -34
  89. data/lib/gobl_extensions/tax/region_helper.rb +0 -35
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- ## DO NOT EDIT - This file was generated automatically.
5
- ##
6
- ## Generated with GOBL v0.32.0
7
- ##
8
-
9
- module GOBL
10
- module Tax
11
- # Localities stores an array of locality objects used to describe areas sub-divisions inside a region.
12
- Localities = [Locality] # rubocop:disable Naming/ConstantName, Style/MutableConstant
13
- end
14
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- ## DO NOT EDIT - This file was generated automatically.
5
- ##
6
- ## Generated with GOBL v0.32.0
7
- ##
8
-
9
- module GOBL
10
- module Tax
11
- # Locality represents an area inside a region, like a province or a state, which shares the basic definitions of the region, but may vary in some validation rules.
12
- class Locality < GOBL::Object
13
- # The Schema ID of the GOBL Locality structure
14
- SCHEMA_ID = 'https://gobl.org/draft-0/tax/region#/$defs/Locality'
15
-
16
- # @!attribute [r] code
17
- # Code
18
- # @return [GOBL::L10n::Code]
19
- property :code, GOBL::L10n::Code
20
- validates :code, presence: true
21
-
22
- # @!attribute [r] name
23
- # Name of the locality with local and hopefully international translations.
24
- # @return [GOBL::I18n::String]
25
- property :name, GOBL::I18n::String
26
- validates :name, presence: true
27
-
28
- # @!attribute [r] meta
29
- # Any additional information
30
- # @return [GOBL::Org::Meta]
31
- property :meta, GOBL::Org::Meta
32
- end
33
- end
34
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GOBLExtensions
4
- module Tax
5
- # Additional methods for the generated {GOBL::Tax::Region} class
6
- module RegionHelper
7
- module ClassMethods
8
- # Loads a {GOBL::Tax::Region} object identified by the given code with all its data
9
- #
10
- # @param code [String] the code of the region to load
11
- #
12
- # @return [Region] the requested region
13
- def fetch(code)
14
- regions[code] ||= load_region(code)
15
- end
16
-
17
- protected
18
-
19
- # map of region ID to region instance
20
- def regions
21
- @regions ||= {}
22
- end
23
-
24
- def load_region(code)
25
- path = File.join("#{__dir__}/../../../data/tax", "#{code}.json")
26
- msg = "region definition for #{code} does not exist at #{path}"
27
- raise StandardError, msg unless File.exist?(path)
28
-
29
- data = File.read(path)
30
- from_json!(data)
31
- end
32
- end
33
- end
34
- end
35
- end