Sha256: 24672549e60cfcdec31d3eaaf05438149d5b4d59ffa699fe9146e69ac966d203

Contents?: true

Size: 720 Bytes

Versions: 4

Compression:

Stored size: 720 Bytes

Contents

require 'wait'
module PageMagic
  class Session
    attr_reader :browser
    attr_accessor :current_page

    def initialize browser
      @browser = browser
    end

    def visit page
      @browser.visit page.url
      @current_page = page.new self
      self
    end

    def current_url
      @browser.current_url
    end

    def move_to page_class
      page_class = eval(page_class) if page_class.is_a?(String)
      @current_page = page_class.new self
      wait_until { browser.current_url == page_class.url }
    end

    def wait_until &block
      @wait ||= Wait.new
      @wait.until &block
    end

    def method_missing name, *args, &block
      @current_page.send(name, *args, &block)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
page_magic-0.10.0 lib/page_magic/session.rb
page_magic-0.9.6 lib/page_magic/session.rb
page_magic-0.9.5 lib/page_magic/session.rb
page_magic-0.9.4 lib/page_magic/session.rb