class Rangefinder::Parser::Puppet
Public Class Methods
new(filename)
click to toggle source
# File lib/rangefinder/parser/puppet.rb, line 5 def initialize(filename) @filename = filename @parser = Puppet::Pops::Parser::EvaluatingParser.new end
Public Instance Methods
evaluate!()
click to toggle source
# File lib/rangefinder/parser/puppet.rb, line 10 def evaluate! source = Puppet::FileSystem.read(@filename) result = @parser.parse_string(source, @filename).definitions element = result.first $logger.error "The manifest contains multiple definitions; ignoring extras." unless result.size == 1 [simpletype(element), element.name] end
simpletype(element)
click to toggle source
# File lib/rangefinder/parser/puppet.rb, line 20 def simpletype(element) case element when Puppet::Pops::Model::HostClassDefinition :class when Puppet::Pops::Model::ResourceTypeDefinition :type when Puppet::Pops::Model::FunctionDefinition :function else $logger.info "Unknown element definition: #{element.class}" nil end end