Class: ProxyFetcher::Document::AbstractAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/proxy_fetcher/document/adapters/abstract_adapter.rb

Direct Known Subclasses

NokogiriAdapter, OgaAdapter

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(document) ⇒ AbstractAdapter

Returns a new instance of AbstractAdapter.



6
7
8
# File 'lib/proxy_fetcher/document/adapters/abstract_adapter.rb', line 6

def initialize(document)
  @document = document
end

Instance Attribute Details

#documentObject (readonly)

Returns the value of attribute document.



4
5
6
# File 'lib/proxy_fetcher/document/adapters/abstract_adapter.rb', line 4

def document
  @document
end

Class Method Details

.setup!(*args) ⇒ Object



24
25
26
27
28
# File 'lib/proxy_fetcher/document/adapters/abstract_adapter.rb', line 24

def self.setup!(*args)
  install_requirements!(*args)
rescue LoadError => error
  raise Exceptions::AdapterSetupError.new(name, error.message)
end

Instance Method Details

#css(selector) ⇒ Object

You can override this method in your own adapter class



16
17
18
# File 'lib/proxy_fetcher/document/adapters/abstract_adapter.rb', line 16

def css(selector)
  document.css(selector)
end

#proxy_nodeObject



20
21
22
# File 'lib/proxy_fetcher/document/adapters/abstract_adapter.rb', line 20

def proxy_node
  self.class.const_get('Node')
end

#xpath(selector) ⇒ Object

You can override this method in your own adapter class



11
12
13
# File 'lib/proxy_fetcher/document/adapters/abstract_adapter.rb', line 11

def xpath(selector)
  document.xpath(selector)
end