gobl 0.1.2 → 0.2.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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ext/hashme.rb +28 -0
  3. data/lib/gobl/bill/advances.rb +1 -77
  4. data/lib/gobl/bill/charge.rb +11 -65
  5. data/lib/gobl/bill/delivery.rb +5 -47
  6. data/lib/gobl/bill/discount.rb +11 -65
  7. data/lib/gobl/bill/exchange_rates.rb +1 -77
  8. data/lib/gobl/bill/invoice.rb +28 -104
  9. data/lib/gobl/bill/invoice_type.rb +3 -134
  10. data/lib/gobl/bill/line.rb +13 -65
  11. data/lib/gobl/bill/line_charge.rb +5 -47
  12. data/lib/gobl/bill/line_discount.rb +5 -47
  13. data/lib/gobl/bill/ordering.rb +2 -38
  14. data/lib/gobl/bill/outlay.rb +11 -59
  15. data/lib/gobl/bill/payment.rb +5 -47
  16. data/lib/gobl/bill/preceding.rb +12 -62
  17. data/lib/gobl/bill/scheme_keys.rb +1 -77
  18. data/lib/gobl/bill/tax.rb +4 -44
  19. data/lib/gobl/bill/totals.rb +17 -71
  20. data/lib/gobl/cal/date.rb +1 -90
  21. data/lib/gobl/cal/period.rb +5 -41
  22. data/lib/gobl/currency/code.rb +3 -134
  23. data/lib/gobl/currency/exchange_rate.rb +5 -41
  24. data/lib/gobl/document.rb +1 -58
  25. data/lib/gobl/dsig/digest.rb +5 -41
  26. data/lib/gobl/dsig/signature.rb +1 -90
  27. data/lib/gobl/enum.rb +81 -0
  28. data/lib/gobl/envelope.rb +9 -48
  29. data/lib/gobl/header.rb +10 -56
  30. data/lib/gobl/i18n/string.rb +1 -58
  31. data/lib/gobl/l10n/code.rb +1 -90
  32. data/lib/gobl/l10n/country_code.rb +3 -134
  33. data/lib/gobl/map.rb +62 -0
  34. data/lib/gobl/note/message.rb +5 -44
  35. data/lib/gobl/num/amount.rb +6 -35
  36. data/lib/gobl/object.rb +21 -0
  37. data/lib/gobl/operations.rb +3 -3
  38. data/lib/gobl/org/address.rb +18 -80
  39. data/lib/gobl/org/code.rb +1 -90
  40. data/lib/gobl/org/coordinates.rb +5 -47
  41. data/lib/gobl/org/email.rb +6 -47
  42. data/lib/gobl/org/inbox.rb +8 -50
  43. data/lib/gobl/org/item.rb +13 -65
  44. data/lib/gobl/org/item_code.rb +4 -41
  45. data/lib/gobl/org/key.rb +1 -90
  46. data/lib/gobl/org/meta.rb +1 -58
  47. data/lib/gobl/org/name.rb +12 -62
  48. data/lib/gobl/org/note.rb +6 -47
  49. data/lib/gobl/org/note_key.rb +3 -134
  50. data/lib/gobl/org/party.rb +14 -71
  51. data/lib/gobl/org/person.rb +9 -56
  52. data/lib/gobl/org/registration.rb +9 -59
  53. data/lib/gobl/org/source_key.rb +3 -134
  54. data/lib/gobl/org/tax_identity.rb +8 -53
  55. data/lib/gobl/org/telephone.rb +5 -44
  56. data/lib/gobl/org/unit.rb +1 -136
  57. data/lib/gobl/pay/advance.rb +11 -59
  58. data/lib/gobl/pay/card.rb +5 -41
  59. data/lib/gobl/pay/credit_transfer.rb +6 -50
  60. data/lib/gobl/pay/direct_debit.rb +4 -44
  61. data/lib/gobl/pay/due_date.rb +8 -50
  62. data/lib/gobl/pay/instructions.rb +11 -62
  63. data/lib/gobl/pay/method_key.rb +3 -134
  64. data/lib/gobl/pay/online.rb +4 -41
  65. data/lib/gobl/pay/term_key.rb +3 -134
  66. data/lib/gobl/pay/terms.rb +6 -47
  67. data/lib/gobl/stamp.rb +5 -41
  68. data/lib/gobl/struct.rb +15 -15
  69. data/lib/gobl/tax/category.rb +9 -50
  70. data/lib/gobl/tax/category_total.rb +11 -53
  71. data/lib/gobl/tax/combo.rb +6 -47
  72. data/lib/gobl/tax/localities.rb +1 -77
  73. data/lib/gobl/tax/locality.rb +6 -44
  74. data/lib/gobl/tax/rate.rb +8 -47
  75. data/lib/gobl/tax/rate_total.rb +9 -50
  76. data/lib/gobl/tax/rate_total_surcharge.rb +5 -41
  77. data/lib/gobl/tax/rate_value.rb +6 -47
  78. data/lib/gobl/tax/region.rb +12 -56
  79. data/lib/gobl/tax/scheme.rb +8 -50
  80. data/lib/gobl/tax/schemes.rb +1 -77
  81. data/lib/gobl/tax/set.rb +1 -77
  82. data/lib/gobl/tax/total.rb +4 -41
  83. data/lib/gobl/uuid/uuid.rb +1 -90
  84. data/lib/gobl/value.rb +58 -0
  85. data/lib/gobl/version.rb +1 -1
  86. data/lib/gobl.rb +3 -1
  87. data/lib/gobl_extensions/document_helper.rb +3 -3
  88. data/lib/gobl_extensions/envelope_helper.rb +5 -0
  89. data/lib/gobl_extensions/i18n/value_keys_helper.rb +3 -3
  90. data/lib/gobl_extensions/tax/region_helper.rb +3 -9
  91. metadata +11 -36
  92. data/home/cavalle/workspace/invopop/gobl.ruby/gobl.gemspec +0 -30
  93. data/lib/gobl/types.rb +0 -17
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'dry/files'
4
-
5
3
  module GOBLExtensions
6
4
  module Tax
7
5
  # Additional methods for the generated {GOBL::Tax::Region} class
@@ -18,21 +16,17 @@ module GOBLExtensions
18
16
 
19
17
  protected
20
18
 
21
- def files
22
- @files ||= Dry::Files.new
23
- end
24
-
25
19
  # map of region ID to region instance
26
20
  def regions
27
21
  @regions ||= {}
28
22
  end
29
23
 
30
24
  def load_region(code)
31
- path = files.join("#{__dir__}/../../../data/tax", "#{code}.json")
25
+ path = File.join("#{__dir__}/../../../data/tax", "#{code}.json")
32
26
  msg = "region definition for #{code} does not exist at #{path}"
33
- raise StandardError, msg unless files.exist?(path)
27
+ raise StandardError, msg unless File.exist?(path)
34
28
 
35
- data = files.read(path)
29
+ data = File.read(path)
36
30
  from_json!(data)
37
31
  end
38
32
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gobl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Lilue
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-10-05 00:00:00.000000000 Z
13
+ date: 2022-10-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -27,47 +27,19 @@ dependencies:
27
27
  - !ruby/object:Gem::Version
28
28
  version: '6.1'
29
29
  - !ruby/object:Gem::Dependency
30
- name: dry-files
30
+ name: hashme
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: 0.1.0
35
+ version: 0.2.6
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: 0.1.0
43
- - !ruby/object:Gem::Dependency
44
- name: dry-struct
45
- requirement: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: 1.4.0
50
- type: :runtime
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - "~>"
55
- - !ruby/object:Gem::Version
56
- version: 1.4.0
57
- - !ruby/object:Gem::Dependency
58
- name: dry-types
59
- requirement: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - "~>"
62
- - !ruby/object:Gem::Version
63
- version: 1.5.1
64
- type: :runtime
65
- prerelease: false
66
- version_requirements: !ruby/object:Gem::Requirement
67
- requirements:
68
- - - "~>"
69
- - !ruby/object:Gem::Version
70
- version: 1.5.1
42
+ version: 0.2.6
71
43
  - !ruby/object:Gem::Dependency
72
44
  name: json
73
45
  requirement: !ruby/object:Gem::Requirement
@@ -102,11 +74,11 @@ executables: []
102
74
  extensions: []
103
75
  extra_rdoc_files: []
104
76
  files:
105
- - "/home/cavalle/workspace/invopop/gobl.ruby/gobl.gemspec"
106
77
  - data/tax/ES.json
107
78
  - data/tax/FR.json
108
79
  - data/tax/GB.json
109
80
  - data/tax/NL.json
81
+ - lib/ext/hashme.rb
110
82
  - lib/extensions.rb
111
83
  - lib/gobl.rb
112
84
  - lib/gobl/bill/advances.rb
@@ -134,15 +106,18 @@ files:
134
106
  - lib/gobl/document.rb
135
107
  - lib/gobl/dsig/digest.rb
136
108
  - lib/gobl/dsig/signature.rb
109
+ - lib/gobl/enum.rb
137
110
  - lib/gobl/envelope.rb
138
111
  - lib/gobl/header.rb
139
112
  - lib/gobl/i18n/string.rb
140
113
  - lib/gobl/id.rb
141
114
  - lib/gobl/l10n/code.rb
142
115
  - lib/gobl/l10n/country_code.rb
116
+ - lib/gobl/map.rb
143
117
  - lib/gobl/note/message.rb
144
118
  - lib/gobl/num/amount.rb
145
119
  - lib/gobl/num/percentage.rb
120
+ - lib/gobl/object.rb
146
121
  - lib/gobl/operations.rb
147
122
  - lib/gobl/operations/service_error.rb
148
123
  - lib/gobl/operations/validation_result.rb
@@ -191,8 +166,8 @@ files:
191
166
  - lib/gobl/tax/schemes.rb
192
167
  - lib/gobl/tax/set.rb
193
168
  - lib/gobl/tax/total.rb
194
- - lib/gobl/types.rb
195
169
  - lib/gobl/uuid/uuid.rb
170
+ - lib/gobl/value.rb
196
171
  - lib/gobl/version.rb
197
172
  - lib/gobl_extensions/document_helper.rb
198
173
  - lib/gobl_extensions/envelope_helper.rb
@@ -218,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
193
  - !ruby/object:Gem::Version
219
194
  version: 3.1.4
220
195
  requirements: []
221
- rubygems_version: 3.3.7
196
+ rubygems_version: 3.1.4
222
197
  signing_key:
223
198
  specification_version: 4
224
199
  summary: Minimalist ruby version of the GOBL library
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'lib/gobl/version'
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = 'gobl'
7
- spec.version = GOBL::VERSION
8
- spec.platform = Gem::Platform::RUBY
9
- spec.summary = 'Minimalist ruby version of the GOBL library'
10
- spec.homepage = 'https://github.com/invopop/gobl.ruby'
11
- spec.license = 'Apache-2.0'
12
- spec.authors = ['David Lilue', 'Sam Lown', 'Juanjo Molinero']
13
-
14
- spec.required_ruby_version = '>= 2.7'
15
- spec.required_rubygems_version = '>= 3.1.4'
16
-
17
- spec.files = Dir['lib/**/*', 'data/tax/**/*'] + [__FILE__]
18
- spec.require_path = 'lib'
19
-
20
- spec.metadata = {
21
- 'rubygems_mfa_required' => 'true'
22
- }
23
-
24
- spec.add_dependency('activesupport', '~> 6.1')
25
- spec.add_dependency('dry-files', '~> 0.1.0')
26
- spec.add_dependency('dry-struct', '~> 1.4.0')
27
- spec.add_dependency('dry-types', '~> 1.5.1')
28
- spec.add_dependency('json', '~> 2.6.1')
29
- spec.add_dependency('zeitwerk', '~> 2.5.1')
30
- end
data/lib/gobl/types.rb DELETED
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module GOBL
4
- # Types used by the generated GOBL code.
5
- # @api private
6
- module Types
7
- include Dry.Types()
8
-
9
- Nil = Strict::Nil
10
- Int = Strict::Integer # deprecated, use Integer
11
- Integer = Strict::Integer
12
- Bool = Strict::Bool
13
- Hash = Strict::Hash
14
- String = Strict::String
15
- Double = Strict::Float | Strict::Integer
16
- end
17
- end