Method: ExtraLoop::ExtractorBase#initialize

Defined in:
lib/extraloop/extractor_base.rb

#initialize(field_name, environment, *args) ⇒ ExtractorBase

Public: Initialises a Data extractor.

Parameters:

field_name  - The machine readable field name
environment - The object within which the extractor callback will be run (using run).
selector:   - The css3 selector to be used to match a specific portion of a document (optional).
callback    - A block of code to which the extracted node/attribute will be passed (optional).
attribute:  - A node attribute. If provided, the attribute value will be returned (optional).

Returns itself



26
27
28
29
30
31
32
33
34
35
# File 'lib/extraloop/extractor_base.rb', line 26

def initialize(field_name, environment, *args)
  @field_name = field_name
  @environment = environment

  @selector = args.find { |arg| arg.is_a?(String)}
  args.delete(@selector) if @selector
  @attribute = args.find { |arg| arg.is_a?(String) || arg.is_a?(Symbol) }
  @callback = args.find { |arg| arg.respond_to?(:call) }
  self
end