adf_builder 1.4.0 → 1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile.lock +1 -1
- data/lib/adf_builder/nodes/prospect.rb +15 -1
- data/lib/adf_builder/nodes/provider.rb +1 -0
- data/lib/adf_builder/nodes/shared.rb +1 -1
- data/lib/adf_builder/serializer.rb +1 -0
- data/lib/adf_builder/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 498b59240d859155a6a93ef798668699d07974e4d6becdc9357b2891e96cc0ad
|
|
4
|
+
data.tar.gz: cd4fed17c3054b3645234aa09bd05e5ec793f13fdb14ba18149866c8d0ccd343
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0ea341099d5916fb3105f1ec221e6daaa2a401dcd8392f0c2dda2967fac7c44331671907aabee22807f0165aae7d438ecba9d5bc414b9b9aa397b7e51a14f716
|
|
7
|
+
data.tar.gz: dcd42416ed477dc055827ee59affa4df3dee65d7b81fb602a24c20f1005b7a60e5db257bbcb55322a3d8eaa77287d7e7f573ce521b617c0db11017da0bb32154
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [1.5.0] - 2026-01-19
|
|
2
|
+
- **Provider Node Support**:
|
|
3
|
+
- Implemented `Provider` node with support for `name`, `service`, `url`, `email`, `phone`, and `contact`.
|
|
4
|
+
- Enforced `name` presence for `Provider`.
|
|
5
|
+
- **Validation Improvements**:
|
|
6
|
+
- `Phone`: Updated allowed types to include `:voice` and removed `:phone` (strictly following spec).
|
|
7
|
+
- `Serializer`: Fixed `primarycontact` being serialized as a child element instead of an attribute.
|
|
8
|
+
|
|
1
9
|
## [1.4.0] - 2026-01-19
|
|
2
10
|
- **Vendor & Customer Validation Improvements**:
|
|
3
11
|
- `Vendor`: Now requires `vendorname` and `contact`.
|
data/Gemfile.lock
CHANGED
|
@@ -3,8 +3,22 @@
|
|
|
3
3
|
module AdfBuilder
|
|
4
4
|
module Nodes
|
|
5
5
|
class Prospect < Node
|
|
6
|
+
def validate!
|
|
7
|
+
super
|
|
8
|
+
# DTD: (id*, requestdate, vehicle+, customer, vendor, provider?)
|
|
9
|
+
unless @children.any? { |c| c.tag_name == :requestdate }
|
|
10
|
+
raise AdfBuilder::Error, "Prospect must have a requestdate"
|
|
11
|
+
end
|
|
12
|
+
unless @children.any? { |c| c.is_a?(Vehicle) }
|
|
13
|
+
raise AdfBuilder::Error, "Prospect must have at least one vehicle"
|
|
14
|
+
end
|
|
15
|
+
raise AdfBuilder::Error, "Prospect must have a customer" unless @children.any? { |c| c.is_a?(Customer) }
|
|
16
|
+
raise AdfBuilder::Error, "Prospect must have a vendor" unless @children.any? { |c| c.is_a?(Vendor) }
|
|
17
|
+
end
|
|
18
|
+
|
|
6
19
|
def request_date(date)
|
|
7
|
-
|
|
20
|
+
remove_children(:requestdate)
|
|
21
|
+
add_child(GenericNode.new(:requestdate, {}, date))
|
|
8
22
|
end
|
|
9
23
|
|
|
10
24
|
def vehicle(&block)
|
|
@@ -18,7 +18,7 @@ module AdfBuilder
|
|
|
18
18
|
ISO_3166 = %w[US CA MX GB DE FR GR IT ES JP CN IN BR RU ZA AU NZ KR SE NO FI DK NL BE CH].freeze
|
|
19
19
|
|
|
20
20
|
class Phone < Node
|
|
21
|
-
validates_inclusion_of :type, in: %i[
|
|
21
|
+
validates_inclusion_of :type, in: %i[voice fax cellphone pager]
|
|
22
22
|
validates_inclusion_of :time, in: %i[morning afternoon evening nopreference day]
|
|
23
23
|
validates_inclusion_of :preferredcontact, in: [0, 1, "0", "1"]
|
|
24
24
|
|
data/lib/adf_builder/version.rb
CHANGED