lib/grok/pile.rb in jls-grok-0.2.3104 vs lib/grok/pile.rb in jls-grok-0.3.3209
- old
+ new
@@ -1,54 +1,56 @@
require "grok"
# A grok pile is an easy way to have multiple patterns together so
# that you can try to match against each one.
-# The API provided should be similar to the normal Grok
+# The API provided should be similar to the normal Grok
# interface, but you can compile multiple patterns and match will
# try each one until a match is found.
-class Grok::Pile
- def initialize
- @groks = []
- @patterns = {}
- @pattern_files = []
- end # def initialize
+class Grok
+ class Pile
+ def initialize
+ @groks = []
+ @patterns = {}
+ @pattern_files = []
+ end # def initialize
- # see Grok#add_pattern
- def add_pattern(name, string)
- @patterns[name] = string
- end # def add_pattern
+ # see Grok#add_pattern
+ def add_pattern(name, string)
+ @patterns[name] = string
+ end # def add_pattern
- # see Grok#add_patterns_from_file
- def add_patterns_from_file(path)
- if !File.exists?(path)
- raise "File does not exist: #{path}"
- end
- @pattern_files << path
- end # def add_patterns_from_file
+ # see Grok#add_patterns_from_file
+ def add_patterns_from_file(path)
+ if !File.exists?(path)
+ raise "File does not exist: #{path}"
+ end
+ @pattern_files << path
+ end # def add_patterns_from_file
- # see Grok#compile
- def compile(pattern)
- grok = Grok.new
- @patterns.each do |name, value|
- grok.add_patterne(name, value)
- end
- @pattern_files.each do |path|
- grok.add_patterns_from_file(path)
- end
- grok.compile(pattern)
- @groks << grok
- end # def compile
+ # see Grok#compile
+ def compile(pattern)
+ grok = Grok.new
+ @patterns.each do |name, value|
+ grok.add_patterne(name, value)
+ end
+ @pattern_files.each do |path|
+ grok.add_patterns_from_file(path)
+ end
+ grok.compile(pattern)
+ @groks << grok
+ end # def compile
- # Slight difference from Grok#match in that it returns
- # the Grok instance that matched successfully in addition
- # to the GrokMatch result.
- # See also: Grok#match
- def match(string)
- @groks.each do |grok|
- match = grok.match(string)
- if match
- return [grok, match]
+ # Slight difference from Grok#match in that it returns
+ # the Grok instance that matched successfully in addition
+ # to the GrokMatch result.
+ # See also: Grok#match
+ def match(string)
+ @groks.each do |grok|
+ match = grok.match(string)
+ if match
+ return [grok, match]
+ end
end
- end
- return false
- end # def match
-end # class Grok::Pile
+ return false
+ end # def match
+ end # class Pile
+end # class Grok