Class: Spidy::Connector::Xml
- Inherits:
-
Object
- Object
- Spidy::Connector::Xml
- Includes:
- StaticAccessor
- Defined in:
- lib/spidy/connector/xml.rb
Overview
xml
Instance Method Summary collapse
- #call(url) ⇒ Object
- #connect(url) ⇒ Object
-
#initialize(user_agent:) ⇒ Xml
constructor
A new instance of Xml.
Constructor Details
#initialize(user_agent:) ⇒ Xml
Returns a new instance of Xml.
21 22 23 |
# File 'lib/spidy/connector/xml.rb', line 21 def initialize(user_agent:) @user_agent = user_agent end |
Instance Method Details
#call(url) ⇒ Object
7 8 9 10 11 |
# File 'lib/spidy/connector/xml.rb', line 7 def call(url, &) fail 'URL is undefined' if url.blank? connect(url, &) end |
#connect(url) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/spidy/connector/xml.rb', line 13 def connect(url) OpenURI.open_uri(url, 'User-Agent' => @user_agent) do |body| yield Nokogiri::XML(body.read.gsub(/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/, ''), url) end rescue OpenURI::HTTPError => e raise Spidy::Connector::Retry.new(error: e, response_code: e.io.status[0]) end |