Sha256: 002a843500e82bfc0177ce19daf0b2e22cc71867f5b179e500699c07d154f070

Contents?: true

Size: 1.67 KB

Versions: 18

Compression:

Stored size: 1.67 KB

Contents

# frozen_string_literal: true

module Weneedfeed
  class Page
    # @return [String, nil]
    attr_reader :description

    # @return [String]
    attr_reader :title

    # @return [String]
    attr_reader :url

    # @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
    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

    # @return [Array<Weneedfeed::Item>]
    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
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
weneedfeed-0.20.0 lib/weneedfeed/page.rb
weneedfeed-0.19.3 lib/weneedfeed/page.rb
weneedfeed-0.19.2 lib/weneedfeed/page.rb
weneedfeed-0.19.1 lib/weneedfeed/page.rb
weneedfeed-0.19.0 lib/weneedfeed/page.rb
weneedfeed-0.18.0 lib/weneedfeed/page.rb
weneedfeed-0.17.0 lib/weneedfeed/page.rb
weneedfeed-0.16.1 lib/weneedfeed/page.rb
weneedfeed-0.16.0 lib/weneedfeed/page.rb
weneedfeed-0.15.0 lib/weneedfeed/page.rb
weneedfeed-0.14.0 lib/weneedfeed/page.rb
weneedfeed-0.13.0 lib/weneedfeed/page.rb
weneedfeed-0.12.0 lib/weneedfeed/page.rb
weneedfeed-0.11.0 lib/weneedfeed/page.rb
weneedfeed-0.10.0 lib/weneedfeed/page.rb
weneedfeed-0.9.2 lib/weneedfeed/page.rb
weneedfeed-0.9.1 lib/weneedfeed/page.rb
weneedfeed-0.9.0 lib/weneedfeed/page.rb