Class: Coradoc::Visitor::Finder

Inherits:
Base
  • Object
show all
Defined in:
lib/coradoc/visitor.rb

Overview

Visitor that searches for elements matching criteria

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#visit_abbreviation, #visit_annotation_block, #visit_array, #visit_bibliography, #visit_bibliography_entry, #visit_block, #visit_definition_item, #visit_definition_list, #visit_element_attribute, #visit_footnote, #visit_footnote_reference, #visit_image, #visit_inline_element, #visit_list_block, #visit_list_item, #visit_metadata, #visit_metadata_entry, #visit_structural_element, #visit_table, #visit_table_cell, #visit_table_row, #visit_term, #visit_toc, #visit_toc_entry, #visit_unknown

Constructor Details

#initialize(&block) ⇒ Finder

Returns a new instance of Finder.



235
236
237
238
# File 'lib/coradoc/visitor.rb', line 235

def initialize(&block)
  @predicate = block
  @results = []
end

Instance Attribute Details

#resultsObject (readonly)

Returns the value of attribute results.



233
234
235
# File 'lib/coradoc/visitor.rb', line 233

def results
  @results
end

Instance Method Details

#allObject



249
250
251
# File 'lib/coradoc/visitor.rb', line 249

def all
  @results
end

#firstObject



245
246
247
# File 'lib/coradoc/visitor.rb', line 245

def first
  @results.first
end

#visit(element) ⇒ Object



240
241
242
243
# File 'lib/coradoc/visitor.rb', line 240

def visit(element)
  @results << element if @predicate&.call(element)
  super
end