Class: Crabfarm::BaseParser

Inherits:
Delegator
  • Object
show all
Includes:
Assertion::Context
Defined in:
lib/crabfarm/base_parser.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Assertion::Context

#assert

Constructor Details

#initialize(_target, _params) ⇒ BaseParser

Returns a new instance of BaseParser.



13
14
15
16
17
18
19
# File 'lib/crabfarm/base_parser.rb', line 13

def initialize(_target, _params)
  engine_class = Strategies.load(:parser_engine, class_engine || Crabfarm.config.parser_engine)
  @document = engine_class.parse _target
  @params = _params

  super @document
end

Instance Attribute Details

#documentObject (readonly)

Returns the value of attribute document.



7
8
9
# File 'lib/crabfarm/base_parser.rb', line 7

def document
  @document
end

#paramsObject (readonly)

Returns the value of attribute params.



7
8
9
# File 'lib/crabfarm/base_parser.rb', line 7

def params
  @params
end

Class Method Details

.engine(_engine) ⇒ Object



9
10
11
# File 'lib/crabfarm/base_parser.rb', line 9

def self.engine(_engine)
  @engine = _engine
end

Instance Method Details

#__getobj__Object



25
26
27
# File 'lib/crabfarm/base_parser.rb', line 25

def __getobj__
  @document
end

#__setobj__(obj) ⇒ Object



29
30
31
# File 'lib/crabfarm/base_parser.rb', line 29

def __setobj__(obj)
  @document = obj
end

#parseObject

Raises:

  • (NotImplementedError)


21
22
23
# File 'lib/crabfarm/base_parser.rb', line 21

def parse
  raise NotImplementedError.new
end