Class: Comma::Extractor

Inherits:
Object show all
Defined in:
lib/comma/extractor.rb

Direct Known Subclasses

DataExtractor, HeaderExtractor

Instance Method Summary collapse

Constructor Details

#initialize(instance, style, formats) ⇒ Extractor

Returns a new instance of Extractor.



5
6
7
8
9
10
# File 'lib/comma/extractor.rb', line 5

def initialize(instance, style, formats)
  @instance = instance
  @style = style
  @formats = formats
  @results = []
end

Instance Method Details

#__use__(style) ⇒ Object



21
22
23
24
# File 'lib/comma/extractor.rb', line 21

def __use__(style)
  # TODO: prevent infinite recursion
  instance_eval(&@formats[style])
end

#id(*args, &block) ⇒ Object



17
18
19
# File 'lib/comma/extractor.rb', line 17

def id(*args, &block)
  method_missing(:id, *args, &block)
end

#resultsObject



12
13
14
15
# File 'lib/comma/extractor.rb', line 12

def results
  instance_eval(&@formats[@style])
  @results.map { |r| convert_to_data_value(r) }
end