Module: Facter::Util::Parser
- Defined in:
- lib/facter/util/parser.rb
Defined Under Namespace
Modules: KeyValuePairOutputFormat
Classes: Base, JsonParser, NothingParser, PowershellParser, ScriptParser, TextParser, YamlParser
Class Method Summary
collapse
Class Method Details
.extension_matches?(filename, ext) ⇒ Boolean
For support mutliple extensions you can pass an array of extensions as ext
.
13
14
15
16
17
18
19
20
21
|
# File 'lib/facter/util/parser.rb', line 13
def self.extension_matches?(filename, ext)
extension = case ext
when String
ext.downcase
when Enumerable
ext.collect {|x| x.downcase }
end
[extension].flatten.to_a.include?(file_extension(filename).downcase)
end
|
.file_extension(filename) ⇒ Object
23
24
25
|
# File 'lib/facter/util/parser.rb', line 23
def self.file_extension(filename)
File.extname(filename).sub(".", '')
end
|
.parser_for(filename) ⇒ Object
31
32
33
34
35
36
37
38
39
|
# File 'lib/facter/util/parser.rb', line 31
def self.parser_for(filename)
registration = @parsers.detect { |k| k[1].call(filename) }
if registration.nil?
NothingParser.new
else
registration[0].new(filename)
end
end
|
.register(klass, &suitable) ⇒ Object
27
28
29
|
# File 'lib/facter/util/parser.rb', line 27
def self.register(klass, &suitable)
@parsers << [klass, suitable]
end
|