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: 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: