Sha256: b4dc98d2139751261cec3cfa8dde0fb55776a4a8608a30644f68014665b8a6be

Contents?: true

Size: 691 Bytes

Versions: 76

Compression:

Stored size: 691 Bytes

Contents

# frozen_string_literal: true

require 'aranha/parsers/html/base'

module Aranha
  module Parsers
    module Html
      class ItemList < Base
        def data
          items_data
        end

        def item_data(item)
          item
        end

        def items_data
          count = 0
          @data ||= nokogiri.xpath(items_xpath).map do |m|
            count += 1
            item_data(node_parser.parse(m))
          end
        rescue StandardError => e
          raise StandardError, "#{e.message} (Count: #{count})"
        end

        def items_xpath
          raise "Class #{self.class} has no method \"#{__method__}\". Implement it"
        end
      end
    end
  end
end

Version data entries

76 entries across 76 versions & 2 rubygems

Version Path
eac_tools-0.45.0 sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb
eac_tools-0.44.0 sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb
eac_tools-0.43.0 sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb
eac_tools-0.42.0 sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb
eac_tools-0.41.0 sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb
eac_tools-0.40.0 sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb
eac_tools-0.39.0 sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb
aranha-parsers-0.14.4 lib/aranha/parsers/html/item_list.rb
eac_tools-0.38.0 sub/aranha-parsers/lib/aranha/parsers/html/item_list.rb
aranha-parsers-0.14.3 lib/aranha/parsers/html/item_list.rb
aranha-parsers-0.14.2 lib/aranha/parsers/html/item_list.rb
aranha-parsers-0.14.1 lib/aranha/parsers/html/item_list.rb
aranha-parsers-0.14.0 lib/aranha/parsers/html/item_list.rb
aranha-parsers-0.13.0 lib/aranha/parsers/html/item_list.rb
aranha-parsers-0.12.1 lib/aranha/parsers/html/item_list.rb
aranha-parsers-0.12.0 lib/aranha/parsers/html/item_list.rb