kafo_parsers 0.1.3 → 0.1.4
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/README.md +3 -1
- data/lib/kafo_parsers/puppet_strings_module_parser.rb +18 -6
- data/lib/kafo_parsers/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0c3926a766e0ebd3f3d156451176f9d02e68a21
|
4
|
+
data.tar.gz: 98db6338da1c9acf47304c93dc4d56a75a07d6bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d23d9e3fc141268358563fef5ccf804d9b073a37b093cefb287652aff56a792c67c6fa222a3e42a48add29c5910fb053fd3fb7a6c66b255a755c728974ffb24b
|
7
|
+
data.tar.gz: 4ab94d2975ca76e8e634e655cb08d41816006539de778af31550af18f12d5973dc0dfa04d9b1c93be371beb51aa82fe60ad5c103a30257ecfe050f4a4cb1c47b
|
data/README.md
CHANGED
@@ -60,7 +60,9 @@ Add `gem 'puppet', '< 4'` to your application's Gemfile to use this.
|
|
60
60
|
#### PuppetStringsModuleParser
|
61
61
|
|
62
62
|
If you use Puppet 4 you prefer PuppetStringsModuleParser which leverages
|
63
|
-
puppet-strings to parse puppet manifests.
|
63
|
+
puppet-strings to parse puppet manifests. This requires puppet-strings 0.99 or
|
64
|
+
higher and may be installed either as a gem in the same environment, or in a
|
65
|
+
Puppet AIO installation.
|
64
66
|
|
65
67
|
```ruby
|
66
68
|
require 'kafo_parsers/puppet_strings_module_parser'
|
@@ -36,7 +36,7 @@ module KafoParsers
|
|
36
36
|
@file = file
|
37
37
|
raise KafoParsers::ModuleName, "File not found #{file}, check your answer file" unless File.exists?(file)
|
38
38
|
|
39
|
-
command = "#{self.class.puppet_bin} strings
|
39
|
+
command = "#{self.class.puppet_bin} strings generate --emit-json-stdout #{file}"
|
40
40
|
@raw_json = `#{command}`
|
41
41
|
unless $?.success?
|
42
42
|
raise KafoParsers::ParseError, "'#{command}' returned error\n#{@raw_json}"
|
@@ -60,7 +60,7 @@ module KafoParsers
|
|
60
60
|
binary = File.join(path, 'puppet')
|
61
61
|
binary if File.executable?(binary)
|
62
62
|
end
|
63
|
-
File.join(found_puppet_path, 'puppet')
|
63
|
+
found_puppet_path.nil? ? 'puppet' : File.join(found_puppet_path, 'puppet')
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
@@ -77,7 +77,11 @@ module KafoParsers
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def values
|
80
|
-
Hash[
|
80
|
+
Hash[
|
81
|
+
# combine known parameters (from tags) with any defaults provided
|
82
|
+
tag_params.select { |param| !param['types'].nil? }.map { |param| [ param['name'], nil ] } +
|
83
|
+
@parsed_hash.fetch('defaults', {}).map { |name, value| [ name, value.nil? ? nil : sanitize(value) ] }
|
84
|
+
]
|
81
85
|
end
|
82
86
|
|
83
87
|
# unsupported in puppet strings parser
|
@@ -96,8 +100,8 @@ module KafoParsers
|
|
96
100
|
data = { :docs => {}, :types => {}, :groups => {}, :conditions => {} }
|
97
101
|
if @parsed_hash.nil?
|
98
102
|
raise KafoParsers::DocParseError, "no documentation found for manifest #{@file}, parsing error?"
|
99
|
-
elsif !@parsed_hash['docstring'].nil?
|
100
|
-
parser = DocParser.new(@parsed_hash['docstring']).parse
|
103
|
+
elsif !@parsed_hash['docstring'].nil? && !@parsed_hash['docstring']['text'].nil?
|
104
|
+
parser = DocParser.new(@parsed_hash['docstring']['text']).parse
|
101
105
|
data[:docs] = parser.docs
|
102
106
|
data[:groups] = parser.groups
|
103
107
|
data[:types] = merge_doc_types(parser.types)
|
@@ -125,7 +129,15 @@ module KafoParsers
|
|
125
129
|
end
|
126
130
|
|
127
131
|
def merge_doc_types(types)
|
128
|
-
Hash[
|
132
|
+
Hash[tag_params.select { |param| !param['types'].nil? }.map { |param| [ param['name'], param['types'].first ] }].merge(types)
|
133
|
+
end
|
134
|
+
|
135
|
+
def tag_params
|
136
|
+
if @parsed_hash['docstring']['tags']
|
137
|
+
@parsed_hash['docstring']['tags'].select { |tag| tag['tag_name'] == 'param' }
|
138
|
+
else
|
139
|
+
[]
|
140
|
+
end
|
129
141
|
end
|
130
142
|
|
131
143
|
end
|
data/lib/kafo_parsers/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kafo_parsers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marek Hulan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|