kafo_parsers 0.1.0 → 0.1.1
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad4ca00907177c84240bc1832eb04c82d69a142c
|
4
|
+
data.tar.gz: 8e6451116fa04f7187efb91912bd5ca08bdbe62c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b06502487c36d81eb9115bbad6abd8dc8da1fe382389f93c268ff00c057d01ea74383338ba7be06608018f87ad5c2d99df2fdc996b0655b4655e026d7adb9623
|
7
|
+
data.tar.gz: edbdcd0c69878f1d540a4a62386c302196799f491e0885f12b220ffc3b5889190edb7d241250fa71d6d492c7f332603ad5604f6a143c0ef88280a4fad9bdcc6c
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
require 'kafo_parsers/doc_parser'
|
3
|
+
require 'kafo_parsers/validation'
|
3
4
|
|
4
5
|
module KafoParsers
|
5
6
|
# Based on ideas from puppet-parse by Johan van den Dorpe
|
@@ -44,7 +45,7 @@ module KafoParsers
|
|
44
45
|
else
|
45
46
|
Puppet.parse_config
|
46
47
|
end
|
47
|
-
Encoding.default_external = Encoding::UTF_8 if defined?(Encoding)
|
48
|
+
Encoding.default_external = Encoding::UTF_8 if defined?(Encoding)
|
48
49
|
@@puppet_initialized = true
|
49
50
|
end
|
50
51
|
|
@@ -75,7 +76,9 @@ module KafoParsers
|
|
75
76
|
|
76
77
|
def validations(param = nil)
|
77
78
|
return [] if @object.code.nil?
|
78
|
-
@object.code.select { |stmt| stmt.is_a?(Puppet::Parser::AST::Function) && stmt.name =~ /^validate_/ }
|
79
|
+
@object.code.select { |stmt| stmt.is_a?(Puppet::Parser::AST::Function) && stmt.name =~ /^validate_/ }.map do |v|
|
80
|
+
Validation.new(v.name, interpret_validation_args(v.arguments))
|
81
|
+
end
|
79
82
|
end
|
80
83
|
|
81
84
|
# returns data in following form
|
@@ -100,5 +103,23 @@ module KafoParsers
|
|
100
103
|
end
|
101
104
|
data
|
102
105
|
end
|
106
|
+
|
107
|
+
private
|
108
|
+
|
109
|
+
def interpret_validation_args(args)
|
110
|
+
args.map do |arg|
|
111
|
+
if arg.is_a?(Puppet::Parser::AST::Variable)
|
112
|
+
arg.to_s
|
113
|
+
elsif arg.is_a?(Puppet::Parser::AST::ASTArray)
|
114
|
+
interpret_validation_args(arg.to_a)
|
115
|
+
elsif arg.is_a?(Puppet::Parser::AST::Concat)
|
116
|
+
interpret_validation_args(arg.value).join
|
117
|
+
elsif arg.respond_to? :value
|
118
|
+
arg.value
|
119
|
+
else
|
120
|
+
arg
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
103
124
|
end
|
104
125
|
end
|
@@ -24,7 +24,7 @@ module KafoParsers
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.available?
|
27
|
-
`#{puppet_bin} help strings`
|
27
|
+
`#{puppet_bin} help strings 2>&1`
|
28
28
|
if $?.success?
|
29
29
|
return true
|
30
30
|
else
|
@@ -42,6 +42,7 @@ module KafoParsers
|
|
42
42
|
raise KafoParsers::ParseError, "'#{command}' returned error\n#{@raw_json}"
|
43
43
|
end
|
44
44
|
|
45
|
+
Encoding.default_external = Encoding::UTF_8 if defined?(Encoding)
|
45
46
|
begin
|
46
47
|
@complete_hash = ::JSON.parse(@raw_json)
|
47
48
|
rescue ::JSON::ParserError => e
|
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.1
|
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-05-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,20 +80,6 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 1.9.0
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: puppet
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "<"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: 5.0.0
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "<"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 5.0.0
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: rdoc
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,6 +125,7 @@ files:
|
|
139
125
|
- lib/kafo_parsers/parsers.rb
|
140
126
|
- lib/kafo_parsers/puppet_module_parser.rb
|
141
127
|
- lib/kafo_parsers/puppet_strings_module_parser.rb
|
128
|
+
- lib/kafo_parsers/validation.rb
|
142
129
|
- lib/kafo_parsers/version.rb
|
143
130
|
homepage: https://github.com/theforeman/kafo_parsers
|
144
131
|
licenses:
|