Sha256: cb50094063143cb7fddebc28d3c8b92ca722888fec9a5978141fd9cc2041e749

Contents?: true

Size: 510 Bytes

Versions: 4

Compression:

Stored size: 510 Bytes

Contents

# frozen_string_literal: true

module Juknife
  module Scraping
    # A context object keeps a state of scraping.
    class Context
      attr_reader :node, :result

      def initialize(node, result = {})
        @node = node
        @result = result
      end

      def find(selector)
        node.at_css(selector)
      end

      def find_all(selector)
        node.css(selector)
      end

      def text(selector)
        find(selector)&.text&.strip&.gsub(/(\s)(\s*)/, '\1')
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
juknife-0.2.0 lib/juknife/scraping/context.rb
juknife-0.1.3 lib/juknife/scraping/context.rb
juknife-0.1.2 lib/juknife/scraping/context.rb
juknife-0.1.1 lib/juknife/scraping/context.rb