abide_dev_utils 0.2.2 → 0.2.3

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: 368f622d5a56407f757e47a212edaf4279afb6a5e36f075b0f1ce2e283463d53
4
- data.tar.gz: 329f00503b626b086375c1b725d72758e90fb32a18cec37028348a1613d8bac3
3
+ metadata.gz: 5e19e043b233c6842331d4c4883a74d8557b163739e041d910b60b953acddc85
4
+ data.tar.gz: cf425a2b3a0c83ecd5e41cbee5d476fc7444e8984f4f03df12f91b36ad8aeee8
5
5
  SHA512:
6
- metadata.gz: 170f8389cc8a0c27e0bd6cb152ef3a1b314203b2e970ac838e2eb514728f1faec11ed0e057d81cbb8a26acccfc7a23299673bdf814e5e60f35eaddf91c6446b3
7
- data.tar.gz: 5077c372590de6d0f40931f69f4d70a35be289440ad5e26f93730c4fab171f38262ec81d13616b2f7fba01ccba4c14cc6e82e2ca3a186f09207f7918e624aaca
6
+ metadata.gz: 52e685b3d446b7c6256fd0e45d0542dccc77490b75ccc6408e2ba66e8edbc49d76267446940b997a0e3ab6a7449e1c5a03323c98cc66dd34ca58fa87178d4602
7
+ data.tar.gz: 558295f45b37110781fcd22bc4cac8a450c520f706933ddc0fe908c4f2ef863b63029603ab3e1df09142a17c6238f3f5514f20e4fefcc1ed6e2a5531abc5a479
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Helper library and CLI app for Abide development.
4
4
 
5
+ Issues and pull requests are welcome!
6
+
5
7
  ## Features
6
8
 
7
9
  ### CLI
@@ -206,6 +208,15 @@ class test_module::utils::test_new_util (
206
208
 
207
209
  #### to_hiera
208
210
 
211
+ NOTE: When converting XCCDF files to Hiera, control names are sanitized. This means that some characters will be changed to ensure the resulting control names in the Hiera file are valid for both YAML and Puppet class names. Here's what gets changed:
212
+
213
+ * All letters are coverted to lower case
214
+ * The first and last characters of the control name is dropped if they are not letters (a-z)
215
+ * If a control name has a prefix of `l1_`, `l2_`, or `ng_`, that prefix is dropped
216
+ * Differentiation between profile level occurs outside of control names
217
+ * The characters `/` and `\` are deleted. This means that paths are smashed together
218
+ * Whitespace and the characters `(`, `)`, `.`, and `-` are substituted with underscores (`_`)
219
+
209
220
  * Required positional parameters:
210
221
  * `XCCDF_FILE` - Path to an XCCDF XML file
211
222
  * Options:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AbideDevUtils
4
- VERSION = "0.2.2"
4
+ VERSION = "0.2.3"
5
5
  end
@@ -13,6 +13,7 @@ module AbideDevUtils
13
13
  # @!attribute [r] yaml_title
14
14
  class Hiera
15
15
  CONTROL_PREFIX = /^[\d.]+_/.freeze
16
+ UNDERSCORED = /(\s|\(|\)|-|\.)/.freeze
16
17
  XPATHS = {
17
18
  benchmark: {
18
19
  all: 'xccdf:Benchmark',
@@ -89,7 +90,7 @@ module AbideDevUtils
89
90
 
90
91
  private
91
92
 
92
- attr_accessor :doc, :parent_key, :hash, :profiles
93
+ attr_accessor :doc, :hash, :parent_key, :profiles
93
94
 
94
95
  def parse(xccdf_file)
95
96
  raise AbideDevUtils::Errors::FileNotFoundError, xccdf_file unless File.file?(xccdf_file)
@@ -116,8 +117,8 @@ module AbideDevUtils
116
117
  nstr.gsub!(/[^a-z]$/, '')
117
118
  nstr.gsub!(/^[^a-z]/, '')
118
119
  nstr.gsub!(/^(l1_|l2_|ng_)/, '')
119
- nstr.delete!('-')
120
- nstr.gsub!(/(\s|\(|\))/, '_')
120
+ nstr.delete!('(/|\\)')
121
+ nstr.gsub!(UNDERSCORED, '_')
121
122
  nstr
122
123
  end
123
124
 
@@ -129,7 +130,7 @@ module AbideDevUtils
129
130
 
130
131
  def normalize_ctrl_name(ctrl)
131
132
  new_ctrl = ctrl.split('_rule_')[-1].gsub(CONTROL_PREFIX, '')
132
- normalize_str(new_ctrl.gsub(/\./, '_'))
133
+ normalize_str(new_ctrl)
133
134
  end
134
135
 
135
136
  def make_parent_key(doc, prefix)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abide_dev_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Heston Snodgrass
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-23 00:00:00.000000000 Z
11
+ date: 2021-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri