gobl 0.8.0 → 0.10.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/data/regimes/co.json +55 -1
  3. data/data/regimes/es.json +570 -64
  4. data/data/regimes/it.json +1182 -0
  5. data/lib/gobl/bill/charge.rb +1 -1
  6. data/lib/gobl/bill/delivery.rb +1 -1
  7. data/lib/gobl/bill/discount.rb +1 -1
  8. data/lib/gobl/bill/document_reference.rb +1 -1
  9. data/lib/gobl/bill/invoice.rb +19 -8
  10. data/lib/gobl/bill/line.rb +3 -3
  11. data/lib/gobl/bill/line_charge.rb +1 -1
  12. data/lib/gobl/bill/line_discount.rb +1 -1
  13. data/lib/gobl/bill/ordering.rb +1 -1
  14. data/lib/gobl/bill/outlay.rb +3 -3
  15. data/lib/gobl/bill/payment.rb +1 -1
  16. data/lib/gobl/bill/preceding.rb +23 -23
  17. data/lib/gobl/bill/tax.rb +4 -4
  18. data/lib/gobl/bill/totals.rb +5 -5
  19. data/lib/gobl/cal/date.rb +2 -2
  20. data/lib/gobl/cal/period.rb +3 -3
  21. data/lib/gobl/cbc/code.rb +3 -3
  22. data/lib/gobl/cbc/key.rb +2 -2
  23. data/lib/gobl/cbc/meta.rb +1 -1
  24. data/lib/gobl/cbc/note.rb +6 -6
  25. data/lib/gobl/cbc/stamp.rb +3 -3
  26. data/lib/gobl/currency/code.rb +4 -3
  27. data/lib/gobl/currency/exchange_rate.rb +3 -3
  28. data/lib/gobl/document.rb +5 -2
  29. data/lib/gobl/dsig/digest.rb +3 -3
  30. data/lib/gobl/dsig/signature.rb +2 -2
  31. data/lib/gobl/enum.rb +9 -67
  32. data/lib/gobl/envelope.rb +5 -5
  33. data/lib/gobl/header.rb +4 -4
  34. data/lib/gobl/i18n/string.rb +1 -1
  35. data/lib/gobl/l10n/code.rb +2 -2
  36. data/lib/gobl/l10n/country_code.rb +4 -3
  37. data/lib/gobl/note/message.rb +4 -4
  38. data/lib/gobl/org/address.rb +2 -2
  39. data/lib/gobl/org/coordinates.rb +1 -1
  40. data/lib/gobl/org/email.rb +2 -2
  41. data/lib/gobl/org/identity.rb +38 -0
  42. data/lib/gobl/org/image.rb +1 -1
  43. data/lib/gobl/org/inbox.rb +3 -3
  44. data/lib/gobl/org/item.rb +10 -10
  45. data/lib/gobl/org/name.rb +3 -3
  46. data/lib/gobl/org/party.rb +7 -7
  47. data/lib/gobl/org/person.rb +2 -7
  48. data/lib/gobl/org/registration.rb +1 -1
  49. data/lib/gobl/org/telephone.rb +2 -2
  50. data/lib/gobl/org/unit.rb +8 -3
  51. data/lib/gobl/org/website.rb +2 -2
  52. data/lib/gobl/pay/advance.rb +3 -3
  53. data/lib/gobl/pay/card.rb +3 -3
  54. data/lib/gobl/pay/credit_transfer.rb +1 -1
  55. data/lib/gobl/pay/direct_debit.rb +1 -1
  56. data/lib/gobl/pay/due_date.rb +3 -3
  57. data/lib/gobl/pay/instructions.rb +19 -4
  58. data/lib/gobl/pay/online.rb +2 -2
  59. data/lib/gobl/pay/terms.rb +19 -4
  60. data/lib/gobl/tax/category.rb +14 -4
  61. data/lib/gobl/tax/category_total.rb +5 -5
  62. data/lib/gobl/tax/combo.rb +7 -2
  63. data/lib/gobl/tax/identity.rb +16 -6
  64. data/lib/gobl/tax/key_definition.rb +38 -0
  65. data/lib/gobl/tax/preceding_definitions.rb +27 -0
  66. data/lib/gobl/tax/rate.rb +11 -4
  67. data/lib/gobl/tax/rate_total.rb +4 -4
  68. data/lib/gobl/tax/rate_total_surcharge.rb +3 -3
  69. data/lib/gobl/tax/rate_value.rb +2 -2
  70. data/lib/gobl/tax/regime.rb +19 -9
  71. data/lib/gobl/tax/scenario.rb +37 -0
  72. data/lib/gobl/tax/scenario_set.rb +29 -0
  73. data/lib/gobl/tax/set.rb +1 -1
  74. data/lib/gobl/tax/tag.rb +33 -0
  75. data/lib/gobl/tax/total.rb +2 -2
  76. data/lib/gobl/tax/zone.rb +2 -2
  77. data/lib/gobl/uuid/uuid.rb +2 -2
  78. data/lib/gobl/version.rb +1 -1
  79. metadata +10 -11
  80. data/lib/gobl/bill/invoice_type.rb +0 -32
  81. data/lib/gobl/cbc/note_key.rb +0 -50
  82. data/lib/gobl/org/item_code.rb +0 -28
  83. data/lib/gobl/pay/method_key.rb +0 -32
  84. data/lib/gobl/pay/term_key.rb +0 -35
  85. data/lib/gobl/tax/scheme.rb +0 -44
  86. data/lib/gobl/tax/source_key.rb +0 -30
  87. data/lib/gobl/value.rb +0 -77
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -27,18 +27,29 @@ module GOBL
27
27
  # Sequential code used to identify this invoice in tax declarations.
28
28
  # @return [String]
29
29
  property :code, String
30
- validates :code, presence: true
30
+ validates_presence_of :code
31
+
32
+ # Enumeration of possible values for {#type} with their corresponding descriptions
33
+ TYPE_ENUM = {
34
+ 'standard' => 'A regular commercial invoice document between a supplier and customer.',
35
+ 'proforma' => 'For a clients validation before sending a final invoice.',
36
+ 'corrective' => 'Corrected invoice that completely replaces the preceding document.',
37
+ 'credit-note' => 'Reflects a refund either partial or complete of the preceding document.',
38
+ 'debit-note' => 'An additional set of charges to be added to the preceding document.'
39
+ }.freeze
31
40
 
32
41
  # @!attribute [r] type
33
- # Optional invoice type, leave empty unless needed for a specific situation.
34
- # @return [InvoiceType]
35
- property :type, InvoiceType
42
+ # Type of invoice document subject to the requirements of the local tax regime.
43
+ # @return [GOBL::CBC::Key]
44
+ property :type, GOBL::CBC::Key
45
+ validates_presence_of :type
46
+ validates_inclusion_of :type, in: TYPE_ENUM.keys
36
47
 
37
48
  # @!attribute [r] currency
38
49
  # Currency for all invoice totals.
39
50
  # @return [GOBL::Currency::Code]
40
51
  property :currency, GOBL::Currency::Code
41
- validates :currency, presence: true
52
+ validates_presence_of :currency
42
53
 
43
54
  # @!attribute [r] exchange_rates
44
55
  # Exchange rates to be used when converting the invoices monetary values into other currencies.
@@ -59,7 +70,7 @@ module GOBL
59
70
  # When the invoice was created.
60
71
  # @return [GOBL::Cal::Date]
61
72
  property :issue_date, GOBL::Cal::Date
62
- validates :issue_date, presence: true
73
+ validates_presence_of :issue_date
63
74
 
64
75
  # @!attribute [r] op_date
65
76
  # Date when the operation defined by the invoice became effective.
@@ -75,7 +86,7 @@ module GOBL
75
86
  # The taxable entity supplying the goods or services.
76
87
  # @return [GOBL::Org::Party]
77
88
  property :supplier, GOBL::Org::Party
78
- validates :supplier, presence: true
89
+ validates_presence_of :supplier
79
90
 
80
91
  # @!attribute [r] customer
81
92
  # Legal entity receiving the goods or services, may be empty in certain circumstances such as simplified invoices.
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -27,13 +27,13 @@ module GOBL
27
27
  # Number of items
28
28
  # @return [GOBL::Num::Amount]
29
29
  property :quantity, GOBL::Num::Amount
30
- validates :quantity, presence: true
30
+ validates_presence_of :quantity
31
31
 
32
32
  # @!attribute [r] item
33
33
  # Details about what is being sold
34
34
  # @return [GOBL::Org::Item]
35
35
  property :item, GOBL::Org::Item
36
- validates :item, presence: true
36
+ validates_presence_of :item
37
37
 
38
38
  # @!attribute [r] sum
39
39
  # Result of quantity multiplied by the item's price (calculated)
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -42,7 +42,7 @@ module GOBL
42
42
  # Details on what the outlay was.
43
43
  # @return [String]
44
44
  property :desc, String
45
- validates :desc, presence: true
45
+ validates_presence_of :desc
46
46
 
47
47
  # @!attribute [r] supplier
48
48
  # Who was the supplier of the outlay
@@ -53,7 +53,7 @@ module GOBL
53
53
  # Amount paid by the supplier.
54
54
  # @return [GOBL::Num::Amount]
55
55
  property :amount, GOBL::Num::Amount
56
- validates :amount, presence: true
56
+ validates_presence_of :amount
57
57
  end
58
58
  end
59
59
  end
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -3,12 +3,12 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
10
10
  module Bill
11
- # Preceding allows for information to be provided about a previous invoice that this one will replace or subtract from.
11
+ # Preceding allows for information to be provided about a previous invoice that this one will replace, subtract from, or add to.
12
12
  class Preceding < GOBL::Object
13
13
  # The Schema ID of the GOBL Preceding structure
14
14
  SCHEMA_ID = 'https://gobl.org/draft-0/bill/invoice#/$defs/Preceding'
@@ -27,38 +27,38 @@ module GOBL
27
27
  # Code of the previous document.
28
28
  # @return [String]
29
29
  property :code, String
30
- validates :code, presence: true
30
+ validates_presence_of :code
31
31
 
32
32
  # @!attribute [r] issue_date
33
- # The issue date if the previous document.
33
+ # The issue date of the previous document.
34
34
  # @return [GOBL::Cal::Date]
35
35
  property :issue_date, GOBL::Cal::Date
36
- validates :issue_date, presence: true
36
+ validates_presence_of :issue_date
37
37
 
38
- # @!attribute [r] period
39
- # Tax period in which the previous invoice had an effect.
40
- # @return [GOBL::Cal::Period]
41
- property :period, GOBL::Cal::Period
42
-
43
- # @!attribute [r] corrections
44
- # Specific codes for the corrections made.
45
- # @return [Array<String>]
46
- property :corrections, [String]
47
-
48
- # @!attribute [r] correction_method
49
- # How has the previous invoice been corrected?
38
+ # @!attribute [r] reason
39
+ # Human readable description on why the preceding invoice is being replaced.
50
40
  # @return [String]
51
- property :correction_method, String
41
+ property :reason, String
52
42
 
53
43
  # @!attribute [r] stamps
54
- # Seals of approval from other organisations.
44
+ # Seals of approval from other organisations that may need to be listed.
55
45
  # @return [Array<GOBL::CBC::Stamp>]
56
46
  property :stamps, [GOBL::CBC::Stamp]
57
47
 
58
- # @!attribute [r] notes
59
- # Additional details regarding preceding invoice
60
- # @return [String]
61
- property :notes, String
48
+ # @!attribute [r] corrections
49
+ # Tax regime specific keys reflecting why the preceding invoice is being replaced.
50
+ # @return [Array<GOBL::CBC::Key>]
51
+ property :corrections, [GOBL::CBC::Key]
52
+
53
+ # @!attribute [r] correction_method
54
+ # Tax regime specific keys reflecting the method used to correct the preceding invoice.
55
+ # @return [GOBL::CBC::Key]
56
+ property :correction_method, GOBL::CBC::Key
57
+
58
+ # @!attribute [r] period
59
+ # Tax period in which the previous invoice had an effect required by some tax regimes and formats.
60
+ # @return [GOBL::Cal::Period]
61
+ property :period, GOBL::Cal::Period
62
62
 
63
63
  # @!attribute [r] meta
64
64
  # Additional semi-structured data that may be useful in specific regions
data/lib/gobl/bill/tax.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -18,10 +18,10 @@ module GOBL
18
18
  # @return [GOBL::CBC::Code]
19
19
  property :prices_include, GOBL::CBC::Code
20
20
 
21
- # @!attribute [r] schemes
22
- # Special tax schemes that apply to this invoice according to local requirements.
21
+ # @!attribute [r] tags
22
+ # Special tax tags that apply to this invoice according to local requirements.
23
23
  # @return [Array<GOBL::CBC::Key>]
24
- property :schemes, [GOBL::CBC::Key]
24
+ property :tags, [GOBL::CBC::Key]
25
25
 
26
26
  # @!attribute [r] meta
27
27
  # Any additional data that may be required for processing, but should never be relied upon by recipients.
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -17,7 +17,7 @@ module GOBL
17
17
  # Sum of all line item sums
18
18
  # @return [GOBL::Num::Amount]
19
19
  property :sum, GOBL::Num::Amount
20
- validates :sum, presence: true
20
+ validates_presence_of :sum
21
21
 
22
22
  # @!attribute [r] discount
23
23
  # Sum of all document level discounts
@@ -38,7 +38,7 @@ module GOBL
38
38
  # Sum of all line sums minus the discounts, plus the charges, without tax.
39
39
  # @return [GOBL::Num::Amount]
40
40
  property :total, GOBL::Num::Amount
41
- validates :total, presence: true
41
+ validates_presence_of :total
42
42
 
43
43
  # @!attribute [r] taxes
44
44
  # Summary of all the taxes included in the invoice.
@@ -54,7 +54,7 @@ module GOBL
54
54
  # Grand total after all taxes have been applied.
55
55
  # @return [GOBL::Num::Amount]
56
56
  property :total_with_tax, GOBL::Num::Amount
57
- validates :total_with_tax, presence: true
57
+ validates_presence_of :total_with_tax
58
58
 
59
59
  # @!attribute [r] outlays
60
60
  # Total paid in outlays that need to be reimbursed
@@ -65,7 +65,7 @@ module GOBL
65
65
  # Total amount to be paid after applying taxes and outlays.
66
66
  # @return [GOBL::Num::Amount]
67
67
  property :payable, GOBL::Num::Amount
68
- validates :payable, presence: true
68
+ validates_presence_of :payable
69
69
 
70
70
  # @!attribute [r] advance
71
71
  # Total amount already paid in advance.
data/lib/gobl/cal/date.rb CHANGED
@@ -3,13 +3,13 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
10
10
  module Cal
11
11
  # Civil date in simplified ISO format, like 2021-05-26
12
- class Date < GOBL::Value
12
+ class Date < String
13
13
  # The Schema ID of the GOBL Date structure
14
14
  SCHEMA_ID = 'https://gobl.org/draft-0/cal/date'
15
15
  end
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -16,12 +16,12 @@ module GOBL
16
16
  # @!attribute [r] start
17
17
  # @return [GOBL::Cal::Date]
18
18
  property :start, GOBL::Cal::Date
19
- validates :start, presence: true
19
+ validates_presence_of :start
20
20
 
21
21
  # @!attribute [r] end
22
22
  # @return [GOBL::Cal::Date]
23
23
  property :end, GOBL::Cal::Date
24
- validates :end, presence: true
24
+ validates_presence_of :end
25
25
  end
26
26
  end
27
27
  end
data/lib/gobl/cbc/code.rb CHANGED
@@ -3,13 +3,13 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
10
10
  module CBC
11
- # Short upper-case identifier.
12
- class Code < GOBL::Value
11
+ # Alphanumerical text identifier with upper-case letters, no whitespace, nor symbols.
12
+ class Code < String
13
13
  # The Schema ID of the GOBL Code structure
14
14
  SCHEMA_ID = 'https://gobl.org/draft-0/cbc/code'
15
15
  end
data/lib/gobl/cbc/key.rb CHANGED
@@ -3,13 +3,13 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
10
10
  module CBC
11
11
  # Text identifier to be used instead of a code for a more verbose but readable identifier.
12
- class Key < GOBL::Value
12
+ class Key < String
13
13
  # The Schema ID of the GOBL Key structure
14
14
  SCHEMA_ID = 'https://gobl.org/draft-0/cbc/key'
15
15
  end
data/lib/gobl/cbc/meta.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
data/lib/gobl/cbc/note.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -15,8 +15,8 @@ module GOBL
15
15
 
16
16
  # @!attribute [r] key
17
17
  # Key specifying subject of the text
18
- # @return [NoteKey]
19
- property :key, NoteKey
18
+ # @return [GOBL::CBC::Key]
19
+ property :key, GOBL::CBC::Key
20
20
 
21
21
  # @!attribute [r] code
22
22
  # Code used for additional data that may be required to identify the note.
@@ -25,14 +25,14 @@ module GOBL
25
25
 
26
26
  # @!attribute [r] src
27
27
  # Source of this note, especially useful when auto-generated.
28
- # @return [String]
29
- property :src, String
28
+ # @return [GOBL::CBC::Key]
29
+ property :src, GOBL::CBC::Key
30
30
 
31
31
  # @!attribute [r] text
32
32
  # The contents of the note
33
33
  # @return [String]
34
34
  property :text, String
35
- validates :text, presence: true
35
+ validates_presence_of :text
36
36
  end
37
37
  end
38
38
  end
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -17,13 +17,13 @@ module GOBL
17
17
  # Identity of the agency used to create the stamp usually defined by each region.
18
18
  # @return [GOBL::CBC::Key]
19
19
  property :prv, GOBL::CBC::Key
20
- validates :prv, presence: true
20
+ validates_presence_of :prv
21
21
 
22
22
  # @!attribute [r] val
23
23
  # The serialized stamp value generated for or by the external agency
24
24
  # @return [String]
25
25
  property :val, String
26
- validates :val, presence: true
26
+ validates_presence_of :val
27
27
  end
28
28
  end
29
29
  end
@@ -3,17 +3,18 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
10
10
  module Currency
11
11
  # ISO Currency Code
12
- class Code < GOBL::Enum
12
+ class Code < String
13
13
  # The Schema ID of the GOBL Code structure
14
14
  SCHEMA_ID = 'https://gobl.org/draft-0/currency/code'
15
15
 
16
- # The enumeration of values of the object and their descriptions (Values different to these are not allowed)
16
+ include GOBL::Enum
17
+
17
18
  ENUM = {
18
19
  'AED' => 'UAE Dirham',
19
20
  'AFN' => 'Afghani',
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -17,13 +17,13 @@ module GOBL
17
17
  # ISO currency code this rate represents.
18
18
  # @return [GOBL::Currency::Code]
19
19
  property :currency, GOBL::Currency::Code
20
- validates :currency, presence: true
20
+ validates_presence_of :currency
21
21
 
22
22
  # @!attribute [r] amount
23
23
  # How much is 1.00 of this currency worth in the documents currency.
24
24
  # @return [GOBL::Num::Amount]
25
25
  property :amount, GOBL::Num::Amount
26
- validates :amount, presence: true
26
+ validates_presence_of :amount
27
27
  end
28
28
  end
29
29
  end
data/lib/gobl/document.rb CHANGED
@@ -3,11 +3,14 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
10
- # Contents of the envelope that must contain a $schema.
10
+ # Contains the document payload to be included inside an Envelope.
11
+ #
12
+ # The document must contain a `$schema` property that identifies
13
+ # the data's structure otherwise it will be rejected.
11
14
  class Document < GOBL::Map
12
15
  end
13
16
  end
@@ -3,7 +3,7 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
@@ -17,13 +17,13 @@ module GOBL
17
17
  # Algorithm stores the algorithm key that was used to generate the value.
18
18
  # @return [String]
19
19
  property :alg, String
20
- validates :alg, presence: true
20
+ validates_presence_of :alg
21
21
 
22
22
  # @!attribute [r] val
23
23
  # Value contains the Hexadecimal representation of the resulting hash generated by the algorithm.
24
24
  # @return [String]
25
25
  property :val, String
26
- validates :val, presence: true
26
+ validates_presence_of :val
27
27
  end
28
28
  end
29
29
  end
@@ -3,13 +3,13 @@
3
3
  ##
4
4
  ## DO NOT EDIT - This file was generated automatically.
5
5
  ##
6
- ## Generated with GOBL v0.36.0
6
+ ## Generated with GOBL v0.38.0
7
7
  ##
8
8
 
9
9
  module GOBL
10
10
  module DSig
11
11
  # JSON Web Signature in compact form.
12
- class Signature < GOBL::Value
12
+ class Signature < String
13
13
  # The Schema ID of the GOBL Signature structure
14
14
  SCHEMA_ID = 'https://gobl.org/draft-0/dsig/signature'
15
15
  end