Module: MetaParse
Defined Under Namespace
Modules: ClassMethods
Classes: AlternativeMatcher, FunctionMatcher, Matcher, MetaScanner, RepetitionMatcher, SequentialMatcher
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
5
6
7
|
# File 'lib/meta_parse.rb', line 5
def self.included(base)
base.extend ClassMethods
end
|
Instance Method Details
#all_matches(scanner, context) ⇒ Object
301
302
303
304
305
|
# File 'lib/meta_parse.rb', line 301
def all_matches(scanner, context)
matches_so_far = context.matches
context.matches = []
matches_so_far
end
|
#all_matches_joined(scanner, context) ⇒ Object
307
308
309
|
# File 'lib/meta_parse.rb', line 307
def all_matches_joined(scanner, context)
all_matches(scanner,context).join
end
|
#collapse(&block) ⇒ Object
315
316
317
318
319
320
321
322
|
# File 'lib/meta_parse.rb', line 315
def collapse(&block)
lambda { |scanner, context|
stack = context.matches
result = block.call(stack)
context.clear
result
}
end
|
#join_strings(array, *args) ⇒ Object
311
312
313
|
# File 'lib/meta_parse.rb', line 311
def join_strings(array, *args)
array.join(*args)
end
|
#parse_with_method(method_name, string) ⇒ Object
11
12
13
|
# File 'lib/meta_parse.rb', line 11
def parse_with_method(method_name, string)
self.send(method_name, string.meta(self), self)
end
|