abide-data-processor 1.0.1 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3e7c05a1569fd1f40b4ee3474364ea6928a77b7cd34e7eb6432672c374d11517
4
- data.tar.gz: 6b5fa97224644b96c61432c6b80a65e40e31c0593d77dee04d9914658d1e0b08
3
+ metadata.gz: 0fb3fd8f80e90db869d7f0230ecead72fe3fa500c0c6046aad010b6fea953cbd
4
+ data.tar.gz: d44ec5bc9e68724c0f0cae4a2acfb4d8fd39fd59118774bceb3ac47f8e36b625
5
5
  SHA512:
6
- metadata.gz: fc161a33e338ab7c85140abaddf4488dde3f1dd5a65d84dfd20057f99acc01e8f70f5c3819f4d5f3bd68a2d0c53effd1741ccfa605c18a25138688b01b64a89c
7
- data.tar.gz: bd65068b4582730d4f6406ce806e78d298d9e78ff6998c73abdfc600e1cfd83beab568fc47090ccd680da21fc7ed200e8e9da8998d454ff930dd11e64bd75f89
6
+ metadata.gz: c7ef4cbcc7e1862f2a6ecf3e9fb33df5b972de5b2fcbe1ee3f2297478510fdaa7666995a3065d139bbb087c3beb167a26ffb92e8d0db9572341eb10753c391ce
7
+ data.tar.gz: 411bc8d6084ebac6345cc4625160d689e3d277d3ff6c892b048bf787c264f2665c53e8b8b8761b739b9cfde8e2eb2c06ed11d5fdfc34869e295d96dfe83e85d7
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- abide-data-processor (1.0.1)
4
+ abide-data-processor (1.1.0)
5
5
  deep_merge (~> 1.2)
6
6
  rgl (~> 0.5)
7
7
 
@@ -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
- value, bool_value = parse_metaparam(data[param], control_maps)
358
- raw_value, raw_bool_value = parse_raw_metaparam(data, param)
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.map { |cname, cdata| AbideDataProcessor::Parser.new_control(cname, cdata, @control_maps) }
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
 
@@ -1,3 +1,3 @@
1
1
  module AbideDataProcessor
2
- VERSION = "1.0.1"
2
+ VERSION = "1.1.0"
3
3
  end
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.1
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-18 00:00:00.000000000 Z
11
+ date: 2022-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: deep_merge