adf_builder 1.3.0 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d362b1ad0b8a252bd6e941a5c1c2572b098d1b0fb98da0eed415fa3074297fff
4
- data.tar.gz: 8319bcc2fd7289ac3e0dfd46be7deb46166b1b2b1cbea247ad1b5eeac2f86b87
3
+ metadata.gz: c0e75f097adeb0e0f73541ee79c693ae5de334a55b9330eb49130037fd6fbbe5
4
+ data.tar.gz: 78c32bb06e602c81270ce30b97ed526fb9449d9bc5aa6b6ddf19ac22593c8596
5
5
  SHA512:
6
- metadata.gz: f49bb434697231563e420d4da2123b38370b61ac8b83ae5e6e6d7ad3517c6308acdd7a4db70e7a3866f5c578c4f2bd012a7830d94a69dc0ca8aacd6c941f9dbc
7
- data.tar.gz: 5441957e0585459da711b7943e8e5d0eca3b4d596c54159178a71656c6a532c185dcf5395765eae75dbe46c3a6df5d8c80eb02a8e9101f1cc25b09698c32549f
6
+ metadata.gz: c00a8c760bac13e7347f7a365e9598f6c2993ccf72c3adeaf1ef498e3092b6eab70bcd65b8c31e5bc0594014c012339b2653d4017b09716e20fc5364f174d587
7
+ data.tar.gz: 1c2a4588b945d2cc5275e1a583dea5da1fffc6fa7c6d9004c3466bf984d905bbc9bdfe49496073191a025f5c99efbc0ba503042ce587e2cf97380290336869bb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## [1.3.1] - 2026-01-19
2
+ - **Validation Refinement**: `Address` now strictly enforces 1 to 5 `street` lines.
3
+
1
4
  ## [1.3.0] - 2026-01-19
2
5
  - **Customer & Contact Validations**:
3
6
  - `Contact`: Requires Name and at least one Phone or Email.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- adf_builder (1.2.2)
4
+ adf_builder (1.3.0)
5
5
  ox (~> 2.14)
6
6
 
7
7
  GEM
@@ -66,10 +66,16 @@ module AdfBuilder
66
66
  @attributes[:type] = type if type
67
67
  end
68
68
 
69
- def street(value, line: nil)
70
- # Line validation 1-5
71
- raise AdfBuilder::Error, "Street line must be 1-5" if line && !line.to_s.match?(/^[1-5]$/)
69
+ def validate!
70
+ super
71
+ streets = @children.select { |c| c.tag_name == :street }
72
+ raise AdfBuilder::Error, "Address must have at least one street line" if streets.empty?
73
+ return unless streets.size > 5
72
74
 
75
+ raise AdfBuilder::Error, "Address can have at most 5 street lines"
76
+ end
77
+
78
+ def street(value, line: nil)
73
79
  node = GenericNode.new(:street, { line: line }.compact, value)
74
80
  add_child(node)
75
81
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AdfBuilder
4
- VERSION = "1.3.0"
4
+ VERSION = "1.3.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adf_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - marcus.salinas