adf_builder 0.0.4 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d008819843612af5533e3967bcd340b078b9d72a8616bd9ae53cd0ef00b8a483
4
- data.tar.gz: d5c4308aff6683a815f1afda34e5fbaf3efcc617c2738a9ce2cd702ad4cc67d9
3
+ metadata.gz: 8a2725ac72b47a548355664e21014fd434ead3aa0829f0dfd3d8c506dd12c1db
4
+ data.tar.gz: 584cabe276de7ef15cecc2e50911005e6a7100468582934f3efa97107d5d576b
5
5
  SHA512:
6
- metadata.gz: 73b81965ecfa689d8b107dcbdea47e6c7d75b49efed0bb589bdd677a7b417c1b71002d0e25e3772aa5a5f3b26b881470fef752493f9dc476145d0715448157a3
7
- data.tar.gz: 1784480ea361713eafcd0caba178558d97c02b66b30657b28154185cc59160cdcd8dd6d53d74147396f773fe9e6ad22ef4e4189554bfedd2bf194ee19c07467a
6
+ metadata.gz: 5a4e274b4ea6af2af31d0cec8c6c452ff8da5db67b8f4c3b9442a0d44449dbf912e6b6ad1146649f12b7b8a20017716598e56b01e19f5ebb17020aa94ee57faf
7
+ data.tar.gz: b7c13eab73118e95fe03af6c1428c01f18a69c895ef2d48d4eda9731289353857d210328f08150818d27141e332bace07ff6c991c482d6063526939beca3e492
data/CHANGELOG.md CHANGED
@@ -1,21 +1,29 @@
1
1
  ## [Unreleased]
2
- - Vehicle Structure
3
- - Remaining Optional Tags that are not free text
4
- - odometer
5
- - condition
6
- - colorcombination
7
- - imagetag
2
+ - Vehicle Structure - Remaining Optional Tags that are not free text
8
3
  - price
9
4
  - option
10
5
  - finance
11
6
  - Expand Structures for all parameters
12
7
  - Customer
13
- - Vehicle
14
8
  - Contact
9
+ - Vehicle
10
+ - Price
11
+
12
+
13
+ ## [0.0.8] - 2021-08-12
14
+ - Added all of Provider structure
15
+
16
+ ## [0.0.7] - 2021-08-08
17
+ - Much refactoring so that we can reuse functions
18
+ - Added more functionality to the Vehicle structure including all free text, all same level tags with params, and Color Combination and ImageTag
19
+
20
+
21
+ ## [0.0.6] - 2021-08-08
22
+ - minimal_lead function will remove all previous adf nodes
23
+ - Created ability to reset doc
15
24
 
16
- ### In many moons
17
- - Add Provider structure
18
- - Add Price structure
25
+ ## [0.0.5] - 2021-08-08
26
+ - Fixed bug that kept us from using the library
19
27
 
20
28
  ## [0.0.4] - 2021-08-08
21
29
  - Added Customer, Contact, Vendor basic structure
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- adf_builder (0.0.4)
4
+ adf_builder (0.0.8)
5
5
  ox (~> 2.14)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -108,15 +108,28 @@ Outputs
108
108
  </prospect>
109
109
  </adf>
110
110
  ```
111
- Add Vehicle with tags
111
+
112
+ Vehicle with different operations
112
113
 
113
114
  ```ruby
114
115
  builder = AdfBuilder::Builder.new
115
116
  builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
116
- interest: :sell,
117
117
  status: :used,
118
- vin: 'XXXXXXXXXX',
119
118
  })
119
+ builder.prospect.vehicles.update_tags_with_free_text(0, {
120
+ bodystyle: 'howdy',
121
+ year: '2000'
122
+ })
123
+ builder.prospect.vehicles.update_odometer(0, 9000, {
124
+ units: 'km'
125
+ })
126
+ builder.prospect.vehicles.update_condition(0, 'ffff')
127
+ builder.prospect.vehicles.update_imagetag(0, 'http://adfxml.info/adf_spec.pdf', {
128
+ width: 400,
129
+ height: 500,
130
+ alttext: 'Howdy'
131
+ })
132
+ puts builder.to_xml
120
133
  ```
121
134
 
122
135
  Outputs
@@ -127,16 +140,55 @@ Outputs
127
140
  <?xml version="1.0"?>
128
141
  <adf>
129
142
  <prospect status="new">
130
- <requestdate>2021-08-04T18:16:31+04:00</requestdate>
131
- <vehicle interest="sell" status="used">
132
- <year>2021</year>
143
+ <requestdate>2021-08-09T00:53:59+04:00</requestdate>
144
+ <customer/>
145
+ <vendor/>
146
+ <vehicle status="used">
147
+ <year>2000</year>
133
148
  <make>Toyota</make>
134
149
  <model>Prius</model>
135
- <vin>XXXXXXXXXX</vin>
150
+ <bodystyle>howdy</bodystyle>
151
+ <odometer units="km">9000</odometer>
152
+ <imagetag width="400" height="500" alttext="Howdy">http://adfxml.info/adf_spec.pdf</imagetag>
136
153
  </vehicle>
137
154
  </prospect>
138
155
  </adf>
156
+ ```
157
+
158
+ Color Combination
159
+
160
+ ```ruby
161
+ builder = AdfBuilder::Builder.new
162
+ builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
163
+ status: :used,
164
+ })
165
+ builder.prospect.vehicles.add_color_combination(0, 'black', 'yellow', 1)
166
+ puts builder.to_xml
167
+ ```
139
168
 
169
+ Outputs
170
+
171
+ ```xml
172
+ <?ADF version="1.0"?>
173
+
174
+ <?xml version="1.0"?>
175
+ <adf>
176
+ <prospect status="new">
177
+ <requestdate>2021-08-09T00:56:07+04:00</requestdate>
178
+ <customer/>
179
+ <vendor/>
180
+ <vehicle status="used">
181
+ <year>2021</year>
182
+ <make>Toyota</make>
183
+ <model>Prius</model>
184
+ <colorcombination>
185
+ <interiorcolor>black</interiorcolor>
186
+ <exteriorcolor>yellow</exteriorcolor>
187
+ <preference>1</preference>
188
+ </colorcombination>
189
+ </vehicle>
190
+ </prospect>
191
+ </adf>
140
192
  ```
141
193
 
142
194
  Add Vendor
@@ -199,6 +251,49 @@ Outputs
199
251
  </prospect>
200
252
  </adf>
201
253
  ```
254
+ A complex Provider
255
+
256
+ ```ruby
257
+ builder = AdfBuilder::Builder.new
258
+ provider = builder.prospect.provider
259
+ provider.add('Testing', {part: 'full', type: 'business'})
260
+ provider.update_tags_with_free_text({
261
+ url: 'howdy',
262
+ service: "Nice"
263
+ })
264
+ provider.add_email("test@test.com", {preferredcontact: 0})
265
+ provider.add_phone("+14445556666", {
266
+ type: 'fax',
267
+ time: 'day'
268
+ })
269
+ provider.add_contact("Mr Sir")
270
+ provider.contact.add_phone("+132435523424")
271
+ ```
272
+
273
+ ```xml
274
+ <?ADF version="1.0"?>
275
+
276
+ <?xml version="1.0"?>
277
+ <adf>
278
+ <prospect status="new">
279
+ <requestdate>2021-08-12T18:56:41+04:00</requestdate>
280
+ <customer/>
281
+ <vendor/>
282
+ <provider>
283
+ <name part="full" type="business">Testing</name>
284
+ <url>howdy</url>
285
+ <service>Nice</service>
286
+ <email preferredcontact="0">test@test.com</email>
287
+ <phone type="fax" time="day">+14445556666</phone>
288
+ <contact>
289
+ <name>Mr Sir</name>
290
+ <phone>+132435523424</phone>
291
+ </contact>
292
+ </provider>
293
+ </prospect>
294
+ </adf>
295
+ ```
296
+
202
297
  ## Development
203
298
 
204
299
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/lib/adf_builder.rb CHANGED
@@ -11,14 +11,18 @@ require_relative 'adf_builder/base/base'
11
11
  require_relative 'adf_builder/base/prospect'
12
12
  require_relative 'adf_builder/base/request_date'
13
13
 
14
+ # PROVIDER
15
+ require_relative 'adf_builder/provider/provider'
16
+
14
17
  # SHARED
15
18
  require_relative 'adf_builder/shared/id'
16
19
  require_relative 'adf_builder/shared/contact'
17
20
 
18
21
  # VEHICLES
19
22
  require_relative 'adf_builder/vehicles/vehicles'
23
+ require_relative 'adf_builder/vehicles/colorcombinations'
20
24
 
21
- # VENDER
25
+ # VENDOR
22
26
  require_relative 'adf_builder/vendor/vendor'
23
27
 
24
28
  module AdfBuilder
@@ -40,8 +44,6 @@ module AdfBuilder
40
44
 
41
45
  # def an example of minimal XML taken from ADF spec file http://adfxml.info/adf_spec.pdf
42
46
  def minimal_lead
43
- adf = Ox::Element.new("adf")
44
-
45
47
  prospect = Ox::Element.new("prospect")
46
48
 
47
49
  request_date = Ox::Element.new("requestdate")
@@ -84,16 +86,15 @@ module AdfBuilder
84
86
  vendor << contact
85
87
 
86
88
  prospect << request_date << vehicle << customer << vendor
87
- adf << prospect
88
- @doc << adf
89
+ @doc.remove_children_by_path("adf/prospect")
90
+ @doc.adf << prospect
89
91
  Ox.dump(@doc, {})
90
92
  end
91
93
 
92
-
93
-
94
-
95
- private
96
-
94
+ # go back to the initial structure
95
+ def reset_doc
96
+ @doc.adf.prospect.remove_children_by_path("*")
97
+ end
97
98
 
98
99
  # all the files will start with this same header
99
100
  def init_doc
@@ -109,5 +110,42 @@ module AdfBuilder
109
110
  doc << adf
110
111
  doc
111
112
  end
113
+
114
+ # we will either create a new node with the value or replace the one if it is available
115
+ def self.update_node(parent_node, key, value, params={})
116
+ key = key.to_s
117
+ value = value.to_s
118
+ if parent_node.locate(key).size > 0
119
+ node = parent_node.locate(key).first
120
+ node.replace_text(value)
121
+ else
122
+ node = (Ox::Element.new(key) << value)
123
+ parent_node << node
124
+ end
125
+
126
+ AdfBuilder::Builder.update_params(node, key, params)
127
+ end
128
+
129
+ # update the params by first checking if they are valid params and then checking if the values are valid if necessary
130
+ def self.update_params(node, key, params)
131
+ return true if params.empty?
132
+ key = key.to_sym
133
+ valid_values = params[:valid_values]
134
+ valid_parameters = params[:valid_parameters]
135
+ _params = AdfBuilder::Builder.whitelabel_params(params,valid_parameters, key)
136
+ _params.each do |k,v|
137
+ node[k] = v if valid_values[key][k] == true or valid_values[key][k].include? v.to_s
138
+ end
139
+ end
140
+
141
+ # clear out the opts that don't match valid keys
142
+ def self.whitelabel_params(opts, valid_parameters, key)
143
+ opts.slice(*valid_parameters[key])
144
+ end
145
+
146
+ def self.valid_child?(parent, tag_name, index)
147
+ child = parent.locate(tag_name)[index]
148
+ return !child.nil?,child
149
+ end
112
150
  end
113
151
  end
@@ -16,6 +16,7 @@ module AdfBuilder
16
16
  @vehicles = Vehicles.new(@prospect)
17
17
  @customer = Customer.new(@prospect)
18
18
  @vendor = Vendor.new(@prospect)
19
+ @provider = Provider.new(@prospect)
19
20
  end
20
21
 
21
22
  def request_date
@@ -34,6 +35,10 @@ module AdfBuilder
34
35
  @vendor
35
36
  end
36
37
 
38
+ def provider
39
+ @provider
40
+ end
41
+
37
42
  # set status to renew
38
43
  def set_renew
39
44
  @prospect[:status] = STATUSES[:resend]
@@ -0,0 +1,55 @@
1
+ module AdfBuilder
2
+ class Provider
3
+
4
+
5
+ FREE_TEXT_OPTIONAL_TAGS = [:service, :url]
6
+
7
+ def initialize(prospect)
8
+ @prospect = prospect
9
+ @provider = nil
10
+ @contact = nil
11
+ end
12
+
13
+ def contact
14
+ @contact
15
+ end
16
+
17
+
18
+ def add(name, params={})
19
+ @provider = Ox::Element.new('provider')
20
+ params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
21
+ AdfBuilder::Builder.update_node(@provider, :name, name, params)
22
+ @prospect << @provider
23
+ end
24
+
25
+ def add_contact(name, opts={})
26
+ @contact = Contact.new(@provider, name, opts)
27
+ end
28
+
29
+ def add_phone(phone, params={})
30
+ params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
31
+ AdfBuilder::Builder.update_node(@provider, :phone, phone, params)
32
+ end
33
+
34
+ def add_email(email, params={})
35
+ params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
36
+ AdfBuilder::Builder.update_node(@provider, :email, email, params)
37
+ end
38
+
39
+ def update_tags_with_free_text(tags)
40
+ tags.each do |key, value|
41
+ if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
42
+ AdfBuilder::Builder.update_node(@provider, key, value)
43
+ end
44
+ end
45
+ end
46
+
47
+ def add_id(index, value, source=nil, sequence=1)
48
+ if @prospect.locate("provider").empty?
49
+ false
50
+ else
51
+ Id.new.add(@prospect.provider(index), value, source, sequence)
52
+ end
53
+ end
54
+ end
55
+ end
@@ -6,50 +6,37 @@ module AdfBuilder
6
6
  phone: [:type, :time, :preferredcontact]
7
7
  }
8
8
 
9
- PHONE_TYPES = [:phone, :fax, :cellphone, :pager]
9
+ VALID_VALUES = {
10
+ name: {
11
+ part: %w[first middle suffix last full],
12
+ type: %w[individual business],
13
+ primarycontact: %w[0 1]
14
+ },
15
+ email: {
16
+ preferredcontact: %w[0 1],
17
+ },
18
+ phone: {
19
+ preferredcontact: %w[0 1],
20
+ type: %w[phone fax cellphone pager],
21
+ time: %w[morning afternoon evening nopreference day]
22
+ }
23
+ }
10
24
 
11
- def initialize(parent_node, name, opts={})
12
- @contact = Ox::Element.new('contact') << (Ox::Element.new('name') << name)
25
+ def initialize(parent_node, name, params={})
26
+ @contact = Ox::Element.new('contact')
27
+ params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
28
+ AdfBuilder::Builder.update_node(@contact, :name, name, params)
13
29
  parent_node << @contact
14
-
15
- opts = whitelabel_opts(opts, :name)
16
-
17
- if opts[:primary_contact]
18
- @contact[:primarycontact] = opts[:primary_contact].to_s
19
- end
20
-
21
- opts.each do |k,v|
22
- @contact.locate("name")[0][k] = v.to_s
23
- end
24
-
25
30
  end
26
31
 
27
- def add_email(email, opts={})
28
- @contact << (Ox::Element.new('email') << email)
29
- opts = whitelabel_opts(opts, :phone)
30
-
31
- opts.each do |k,v|
32
- @contact.email[k] = v.to_s
33
- end
32
+ def add_phone(phone, params={})
33
+ params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
34
+ AdfBuilder::Builder.update_node(@contact, :phone, phone, params)
34
35
  end
35
36
 
36
- def add_phone(phone, opts={})
37
- @contact << (Ox::Element.new('phone') << phone)
38
- opts = whitelabel_opts(opts, :phone)
39
-
40
- opts.each do |k,v|
41
- @contact.phone[k] = v.to_s
42
- end
43
- end
44
-
45
-
46
-
47
-
48
- private
49
-
50
- # clear out the opts that don't match valid keys
51
- def whitelabel_opts(opts, key)
52
- opts.slice(*VALID_PARAMETERS[key])
37
+ def add_email(email, params={})
38
+ params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
39
+ AdfBuilder::Builder.update_node(@contact, :email, email, params)
53
40
  end
54
41
  end
55
42
  end
@@ -0,0 +1,31 @@
1
+ module AdfBuilder
2
+ class ColorCombinations
3
+
4
+ FREE_TEXT_OPTIONAL_TAGS = [:interiorcolor, :exteriorcolor, :preference]
5
+
6
+ def initialize(vehicle)
7
+ @vehicle = vehicle
8
+ @color_combination = nil
9
+ end
10
+
11
+ def add(interior_color, exterior_color, preference)
12
+ @color_combination = Ox::Element.new('colorcombination')
13
+ @color_combination <<
14
+ (Ox::Element.new('interiorcolor') << interior_color) <<
15
+ (Ox::Element.new('exteriorcolor') << exterior_color) <<
16
+ (Ox::Element.new('preference') << preference.to_s)
17
+ @vehicle << @color_combination
18
+ end
19
+
20
+ def update_tags(index, tags)
21
+ valid, vehicle = AdfBuilder::Builder.valid_child?(@vehicle,'colorcombination', index)
22
+ if valid
23
+ tags.each do |key, value|
24
+ if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
25
+ AdfBuilder::Builder.update_node(vehicle, key, value)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,60 +1,95 @@
1
1
  module AdfBuilder
2
2
  class Vehicles
3
- INTEREST_VALUES = {
4
- buy: 'buy',
5
- lease: 'lease',
6
- sell: 'sell',
7
- trade_in: 'trade-in',
8
- test_drive: 'test-drive'
3
+ VALID_PARAMETERS = {
4
+ vehicle: [:interest, :status],
5
+ odometer: [:status, :units],
6
+ imagetag: [:width, :height, :alttext],
9
7
  }
10
8
 
11
- STATUS_VALUES = {
12
- new: 'new',
13
- used: 'used'
9
+ VALID_VALUES = {
10
+ vehicle: {
11
+ interest: %w[buy lease sell trade-in test-drive],
12
+ status: %w[new used]
13
+ },
14
+ odometer: {
15
+ status: %w[unknown rolledover replaced original],
16
+ units: %w[km mi]
17
+ },
18
+ imagetag: {
19
+ width: true,
20
+ height: true,
21
+ alttext: true
22
+ }
14
23
  }
15
24
 
16
- FREE_TEXT_OPTIONAL_TAGS = {
17
- vin: :vin,
18
- stock: :stock,
19
- trim: :trim,
20
- doors: :doors,
21
- bodystyle: :bodystyle,
22
- transmission: :transmission,
23
- pricecomments: :pricecomments,
24
- comments: :comments
25
- }
25
+ FREE_TEXT_OPTIONAL_TAGS = [:year, :make, :model, :vin, :stock,
26
+ :trim, :doors, :bodystyle, :transmission, :pricecomments, :comments]
27
+
28
+ CONDITIONS = %w[excellent good fair poor unknown]
26
29
 
27
30
  def initialize(prospect)
28
31
  @prospect = prospect
32
+ @color_combinations = []
29
33
  end
30
34
 
31
- def add(year, make, model, tags={})
32
- vehicle = Ox::Element.new('vehicle')
33
-
34
- if tags[:interest]
35
- interest = INTEREST_VALUES[tags[:interest].to_sym]
36
- tags.delete(:interest)
37
- vehicle[:interest] = interest
35
+ def add_color_combination(v_index, interior_color, exterior_color, preference)
36
+ valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', v_index)
37
+ if valid
38
+ cc = ColorCombinations.new(vehicle)
39
+ cc.add(interior_color, exterior_color, preference)
40
+ @color_combinations.push(cc)
38
41
  end
42
+ end
39
43
 
40
- if tags[:status]
41
- status = STATUS_VALUES[tags[:status].to_sym]
42
- tags.delete(:status)
43
- vehicle[:status] = status
44
- end
44
+ def color_combinations
45
+ @color_combinations
46
+ end
47
+
48
+ def add(year, make, model, params={})
49
+ vehicle = Ox::Element.new('vehicle')
45
50
 
51
+ params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
52
+ AdfBuilder::Builder.update_params(vehicle, :vehicle, params)
46
53
 
47
54
  vehicle << (Ox::Element.new('year') << year.to_s)
48
55
  vehicle << (Ox::Element.new('make') << make)
49
56
  vehicle << (Ox::Element.new('model') << model)
50
57
 
51
- tags.each do |key, value|
52
- if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
53
- vehicle << (Ox::Element.new(key.to_s) << value)
54
- end
58
+ @prospect << vehicle
59
+ end
60
+
61
+ def update_odometer(index, value, params={})
62
+ valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
63
+ if valid
64
+ params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
65
+ AdfBuilder::Builder.update_node(vehicle, 'odometer', value, params)
55
66
  end
67
+ end
56
68
 
57
- @prospect << vehicle
69
+ def update_condition(index, value)
70
+ valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
71
+ if valid and CONDITIONS.include? value
72
+ AdfBuilder::Builder.update_node(vehicle, 'condition', value)
73
+ end
74
+ end
75
+
76
+ def update_imagetag(index, value, params={})
77
+ valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
78
+ if valid
79
+ params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
80
+ AdfBuilder::Builder.update_node(vehicle, 'imagetag', value, params)
81
+ end
82
+ end
83
+
84
+ def update_tags_with_free_text(index, tags)
85
+ valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
86
+ if valid
87
+ tags.each do |key, value|
88
+ if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
89
+ AdfBuilder::Builder.update_node(vehicle, key, value)
90
+ end
91
+ end
92
+ end
58
93
  end
59
94
 
60
95
  def add_id(index, value, source=nil, sequence=1)
@@ -64,6 +99,5 @@ module AdfBuilder
64
99
  Id.new.add(@prospect.vehicle(index), value, source, sequence)
65
100
  end
66
101
  end
67
-
68
102
  end
69
103
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AdfBuilder
4
- VERSION = "0.0.4"
4
+ VERSION = "0.0.8"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adf_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - marcus.salinas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-08 00:00:00.000000000 Z
11
+ date: 2021-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ox
@@ -49,8 +49,10 @@ files:
49
49
  - lib/adf_builder/base/prospect.rb
50
50
  - lib/adf_builder/base/request_date.rb
51
51
  - lib/adf_builder/customer/customer.rb
52
+ - lib/adf_builder/provider/provider.rb
52
53
  - lib/adf_builder/shared/contact.rb
53
54
  - lib/adf_builder/shared/id.rb
55
+ - lib/adf_builder/vehicles/colorcombinations.rb
54
56
  - lib/adf_builder/vehicles/vehicles.rb
55
57
  - lib/adf_builder/vendor/vendor.rb
56
58
  - lib/adf_builder/version.rb