Module: MetaParse

Included in:
FunctionMatcher
Defined in:
lib/meta_parse.rb

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

Begin Interface



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