Sha256: f502a1294c2bbb7b094450907ba41d1d245bf7aef6b199d0f40fa8b437079ef5
Contents?: true
Size: 1.43 KB
Versions: 9
Compression:
Stored size: 1.43 KB
Contents
require 'akephalos/configuration' if RUBY_PLATFORM != "java" require 'akephalos/remote_client' Akephalos::Client = Akephalos::RemoteClient else require 'akephalos/htmlunit' require 'akephalos/htmlunit/ext/http_method' require 'akephalos/page' require 'akephalos/node' require 'akephalos/client/filter' require 'akephalos/client/listener' module Akephalos class Client java_import 'com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController' java_import 'com.gargoylesoftware.htmlunit.SilentCssErrorHandler' attr_reader :page def initialize @_client = java.util.concurrent.FutureTask.new do client = WebClient.new Filter.new(client) client.addWebWindowListener(Listener.new(self)) client.setAjaxController(NicelyResynchronizingAjaxController.new) client.setCssErrorHandler(SilentCssErrorHandler.new) client end Thread.new { @_client.run } end def configuration=(config) Akephalos.configuration = config end def visit(url) client.getPage(url) page end def page=(_page) if @page != _page @page = Page.new(_page) end @page end private def client @client ||= @_client.get.tap do |client| client.getCurrentWindow.getHistory.ignoreNewPages_.set(true) end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems