module Phantomjs
Constants
- VERSION
Public Class Methods
available_platforms()
click to toggle source
# File lib/phantomjs.rb, line 8 def available_platforms @available_platforms ||= [] end
base_dir()
click to toggle source
# File lib/phantomjs.rb, line 12 def base_dir @base_dir ||= File.join(File.expand_path('~'), '.phantomjs', version) end
base_dir=(dir)
click to toggle source
# File lib/phantomjs.rb, line 16 def base_dir=(dir) @base_dir = dir end
implode!()
click to toggle source
Removes the local phantomjs copy
# File lib/phantomjs.rb, line 38 def implode! FileUtils.rm_rf File.join(File.expand_path('~'), '.phantomjs') end
path()
click to toggle source
# File lib/phantomjs.rb, line 24 def path @path ||= platform.phantomjs_path end
platform()
click to toggle source
# File lib/phantomjs.rb, line 28 def platform if platform = available_platforms.find {|p| p.useable? } platform.ensure_installed! platform else raise UnknownPlatform, "Could not find an appropriate PhantomJS library for your platform (#{RUBY_PLATFORM} :( Please install manually." end end
reset!()
click to toggle source
Clears cached state. Primarily useful for testing.
# File lib/phantomjs.rb, line 43 def reset! @base_dir = @path = nil end
run(*args, &block)
click to toggle source
Run phantomjs with the given arguments, and either return the stdout or yield each line to the passed block.
# File lib/phantomjs.rb, line 49 def run(*args, &block) IO.popen([path, *args]) do |io| block ? io.each(&block) : io.read end end
version()
click to toggle source
# File lib/phantomjs.rb, line 20 def version Phantomjs::VERSION.split('.')[0..-2].join('.') end