Module: LegacyFacter::Util::Parser
- Defined in:
- lib/custom_facts/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
.
16
17
18
19
20
21
22
23
24
|
# File 'lib/custom_facts/util/parser.rb', line 16
def self.extension_matches?(filename, ext)
extension = case ext
when String
ext.downcase
when Enumerable
ext.collect(&:downcase)
end
[extension].flatten.to_a.include?(file_extension(filename).downcase)
end
|
.file_extension(filename) ⇒ Object
26
27
28
|
# File 'lib/custom_facts/util/parser.rb', line 26
def self.file_extension(filename)
File.extname(filename).sub('.', '')
end
|
.parser_for(filename) ⇒ Object
34
35
36
37
38
39
40
41
42
|
# File 'lib/custom_facts/util/parser.rb', line 34
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
30
31
32
|
# File 'lib/custom_facts/util/parser.rb', line 30
def self.register(klass, &suitable)
@parsers << [klass, suitable]
end
|