kafo_parsers 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: 7317ced24d434141968dbe2d6a7587562c1315ee
4
- data.tar.gz: fad877075b7f49f78959329081cb69649b20f1d3
3
+ metadata.gz: ad4ca00907177c84240bc1832eb04c82d69a142c
4
+ data.tar.gz: 8e6451116fa04f7187efb91912bd5ca08bdbe62c
5
5
  SHA512:
6
- metadata.gz: 7eef567e4e770c4d00a2f12ef2cc3a7bc71554d647695f9d286fc07f463798836d61572fb434c781bcff3a729f7244d10ee7ffd68389b25de1f7524aa3b27e50
7
- data.tar.gz: 7df4289db02589fc951d7f421be6995fc97e788420d2de4878ef547d3f9816b398b8f3142fc99439c80d6ac3291b43c71e7653ea0ce02bd028805577e1ea1643
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) && Encoding.respond_to?(:default_external=)
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
@@ -0,0 +1,10 @@
1
+ module KafoParsers
2
+ class Validation
3
+ attr_reader :name, :arguments
4
+
5
+ def initialize(name, arguments)
6
+ @name = name
7
+ @arguments = arguments
8
+ end
9
+ end
10
+ end
@@ -1,3 +1,3 @@
1
1
  module KafoParsers
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
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.0
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-04-11 00:00:00.000000000 Z
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: