Class: Fast::FindWithCapture
Overview
Allow use previous captures while searching in the AST.
Use \\1 to point the match to the first captured element
or sequential numbers considering the order of the captures.
Instance Attribute Summary collapse
-
#previous_captures ⇒ Object
writeonly
Sets the attribute previous_captures.
Attributes inherited from Find
Instance Method Summary collapse
-
#initialize(token) ⇒ FindWithCapture
constructor
A new instance of FindWithCapture.
- #match?(node) ⇒ Boolean
- #to_s ⇒ Object
Methods inherited from Find
#==, #compare_symbol_or_head, #debug, #debug_match_recursive, #match_recursive
Constructor Details
#initialize(token) ⇒ FindWithCapture
Returns a new instance of FindWithCapture.
527 528 529 530 531 532 |
# File 'lib/fast.rb', line 527 def initialize(token) token = token.token if token.respond_to?(:token) raise 'You must use captures!' unless token @capture_index = token.to_i end |
Instance Attribute Details
#previous_captures=(value) ⇒ Object (writeonly)
Sets the attribute previous_captures
525 526 527 |
# File 'lib/fast.rb', line 525 def previous_captures=(value) @previous_captures = value end |
Instance Method Details
#match?(node) ⇒ Boolean
534 535 536 |
# File 'lib/fast.rb', line 534 def match?(node) node == @previous_captures[@capture_index - 1] end |
#to_s ⇒ Object
538 539 540 |
# File 'lib/fast.rb', line 538 def to_s "fc[\\#{@capture_index}]" end |