Sha256: e8a041922a8fb4e6535253881ae7a4fc1f08d9179c2c1ebb6e182864eeeee7ba

Contents?: true

Size: 618 Bytes

Versions: 7

Compression:

Stored size: 618 Bytes

Contents

require 'nokogiri'

module Wagon
  class Page
    attr_reader :connection, :source
    
    def initialize(connection, url, parent = nil)
      @connection, @url, @parent = connection, url, parent
      @source = Future(@url) do |url|
        Nokogiri::HTML(get(url))
      end
    end
    
    def get(*args)
      connection.get(*args)
    end
    
    def post(*args)
      connection.post(*args)
    end
    
    def method_missing(method, *args, &block)
      unless source.respond_to?(method)
        super(method, *args, &block)
      else
        source.send(method, *args, &block)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
wagon-2.0.2 lib/wagon/page.rb
wagon-2.0.1 lib/wagon/page.rb
wagon-2.0.0 lib/wagon/page.rb
wagon-1.1.1 lib/wagon/page.rb
wagon-1.1.0 lib/wagon/page.rb
wagon-1.0.1 lib/wagon/page.rb
wagon-1.0.0 lib/wagon/page.rb