class Knocker::Parser
Public Class Methods
new(config)
click to toggle source
# File lib/knocker/parser.rb, line 3 def initialize(config) @config = config.lines.reject { |line| line.start_with? "#" }.join("") end
Public Instance Methods
find(name)
click to toggle source
# File lib/knocker/parser.rb, line 9 def find(name) has_pattern! name Pattern.new name, extract(name) end
Private Instance Methods
extract(name)
click to toggle source
# File lib/knocker/parser.rb, line 21 def extract(name) start = @config.split("\n").index("pattern #{name}") start+= 1 @config.split("\n")[start..-1].collect { |line| break if line.empty? line }.join("\n") end
has_pattern!(name)
click to toggle source
# File lib/knocker/parser.rb, line 16 def has_pattern!(name) raise Knocker::Errors::PatternNotFound unless @config.include? "pattern #{name}" end