abide-data-processor 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/abide-data-processor/parser.rb +17 -6
- data/lib/abide-data-processor/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fb3fd8f80e90db869d7f0230ecead72fe3fa500c0c6046aad010b6fea953cbd
|
4
|
+
data.tar.gz: d44ec5bc9e68724c0f0cae4a2acfb4d8fd39fd59118774bceb3ac47f8e36b625
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7ef4cbcc7e1862f2a6ecf3e9fb33df5b972de5b2fcbe1ee3f2297478510fdaa7666995a3065d139bbb087c3beb167a26ffb92e8d0db9572341eb10753c391ce
|
7
|
+
data.tar.gz: 411bc8d6084ebac6345cc4625160d689e3d277d3ff6c892b048bf787c264f2665c53e8b8b8761b739b9cfde8e2eb2c06ed11d5fdfc34869e295d96dfe83e85d7
|
data/Gemfile.lock
CHANGED
@@ -33,6 +33,8 @@ module AbideDataProcessor
|
|
33
33
|
# @return [Hash] The Hiera data to be parsed.
|
34
34
|
# @raise [ArgumentError] If the hiera_data parameter is not a non-empty Hash.
|
35
35
|
def validate_hiera_data(hiera_data)
|
36
|
+
return hiera_data if hiera_data == :no_params
|
37
|
+
|
36
38
|
unless not_nil_or_empty?(hiera_data) && hiera_data.is_a?(Hash)
|
37
39
|
raise ArgumentError, 'hiera_data must be a non-nil, non-empty Hash'
|
38
40
|
end
|
@@ -354,8 +356,10 @@ module AbideDataProcessor
|
|
354
356
|
# @param control_maps [Array] The control maps to be used.
|
355
357
|
def initialize_metaparams(data, control_maps)
|
356
358
|
METAPARAMS.each do |param|
|
357
|
-
|
358
|
-
|
359
|
+
metaparam_data = data == :no_params ? {} : data[param]
|
360
|
+
raw_mdata = data == :no_params ? {} : data
|
361
|
+
value, bool_value = parse_metaparam(metaparam_data, control_maps)
|
362
|
+
raw_value, raw_bool_value = parse_raw_metaparam(raw_mdata, param)
|
359
363
|
set_metaparam_instance_vars(param, value, raw_value)
|
360
364
|
define_metaparam_bool_methods(param, raw_bool_value, bool_value)
|
361
365
|
end
|
@@ -494,9 +498,9 @@ module AbideDataProcessor
|
|
494
498
|
def initialize(name, data, control_maps)
|
495
499
|
super(name, data, control_maps)
|
496
500
|
@mapped_names = find_mapped_names(@name)
|
497
|
-
@params = @data
|
498
|
-
@resource_params = @data.reject { |k, _v| METAPARAMS.include?(k) }
|
499
|
-
@param_names = Set.new(@params.keys)
|
501
|
+
@params = @data == :no_params ? {} : @data
|
502
|
+
@resource_params = @data == :no_params ? {} : @data.reject { |k, _v| METAPARAMS.include?(k) }
|
503
|
+
@param_names = @data == :no_params ? Set.new : Set.new(@params.keys)
|
500
504
|
end
|
501
505
|
|
502
506
|
def name?(name)
|
@@ -654,7 +658,14 @@ module AbideDataProcessor
|
|
654
658
|
# does not already exist in the cache.
|
655
659
|
# @param control_data [Array] The control data of the resource from the Hiera data.
|
656
660
|
def create_control_classes(control_data)
|
657
|
-
control_data.
|
661
|
+
case control_data.class.to_s
|
662
|
+
when 'Hash'
|
663
|
+
control_data.map { |cname, cdata| AbideDataProcessor::Parser.new_control(cname, cdata, @control_maps) }
|
664
|
+
when 'Array'
|
665
|
+
control_data.map { |cname| AbideDataProcessor::Parser.new_control(cname, :no_params, @control_maps) }
|
666
|
+
else
|
667
|
+
raise ArgumentError, "Cannot create control because control data is not the expected type. Data type is #{control_data.class}"
|
668
|
+
end
|
658
669
|
end
|
659
670
|
end
|
660
671
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abide-data-processor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- abide-team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deep_merge
|