class Weneedfeed::Scraping
Public Class Methods
faraday_connection()
click to toggle source
@return [Faraday::Connection]
# File lib/weneedfeed/scraping.rb, line 10 def faraday_connection @faraday_connection ||= ::Faraday.new do |connection| connection.use ::Weneedfeed::FaradayResponseMiddleware end end
new( description:, item_description_selector:, item_image_selector:, item_link_selector:, item_time_selector:, item_title_selector:, item_selector:, title:, url: )
click to toggle source
@param [String, nil] description @param [String, nil] item_description_selector @param [String, nil] item_image_selector @param [String] item_link_selector @param [String, nil] item_time_selector @param [String] item_title_selector @param [String] item_selector @param [String] title @param [String] url
# File lib/weneedfeed/scraping.rb, line 26 def initialize( description:, item_description_selector:, item_image_selector:, item_link_selector:, item_time_selector:, item_title_selector:, item_selector:, title:, url: ) @description = description @item_description_selector = item_description_selector @item_image_selector = item_image_selector @item_link_selector = item_link_selector @item_time_selector = item_time_selector @item_title_selector = item_title_selector @item_selector = item_selector @title = title @url = url end
Public Instance Methods
call()
click to toggle source
@return [Weneedfeed::Page]
# File lib/weneedfeed/scraping.rb, line 49 def call ::Weneedfeed::Page.new( description: @description, node: parsed_body, item_description_selector: @item_description_selector, item_image_selector: @item_image_selector, item_selector: @item_selector, item_link_selector: @item_link_selector, item_time_selector: @item_time_selector, item_title_selector: @item_title_selector, title: @title, url: @url ) end
Private Instance Methods
parsed_body()
click to toggle source
@return [Nokogiri::Node]
# File lib/weneedfeed/scraping.rb, line 67 def parsed_body if response.headers['Content-Type']&.include?('application/json') ::Nokogiri::XML.parse(response.body) else ::Nokogiri::HTML.parse(response.body) end end
response()
click to toggle source
@return [Faraday::Response]
# File lib/weneedfeed/scraping.rb, line 76 def response @response ||= self.class.faraday_connection.get(@url) end