class Weneedfeed::Page

Attributes

description[R]

@return [String, nil]

title[R]

@return [String]

url[R]

@return [String]

Public Class Methods

new( description:, item_description_selector:, item_image_selector:, item_link_selector:, item_time_selector:, item_title_selector:, item_selector:, node:, 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 [Nokogiri::Node] node @param [String] title @param [String] url

# File lib/weneedfeed/page.rb, line 24
def initialize(
  description:,
  item_description_selector:,
  item_image_selector:,
  item_link_selector:,
  item_time_selector:,
  item_title_selector:,
  item_selector:,
  node:,
  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
  @node = node
  @title = title
  @url = url
end

Public Instance Methods

items() click to toggle source

@return [Array<Weneedfeed::Item>]

# File lib/weneedfeed/page.rb, line 49
def items
  @node.search(@item_selector).map do |node|
    ::Weneedfeed::Item.new(
      description_selector: @item_description_selector,
      image_selector: @item_image_selector,
      link_selector: @item_link_selector,
      node: node,
      time_selector: @item_time_selector,
      title_selector: @item_title_selector,
      url: @url
    )
  end
end