Module: Phantomjs
- Defined in:
- lib/phantomjs.rb,
lib/phantomjs/version.rb,
lib/phantomjs/platform.rb
Defined Under Namespace
Classes: Platform, UnknownPlatform
Constant Summary
collapse
- VERSION =
"2.0.0.0"
Class Method Summary
collapse
Class Method Details
8
9
10
|
# File 'lib/phantomjs.rb', line 8
def available_platforms
@available_platforms ||= []
end
|
.base_dir ⇒ Object
12
13
14
|
# File 'lib/phantomjs.rb', line 12
def base_dir
@base_dir ||= File.join(File.expand_path('~'), '.phantomjs', version)
end
|
.base_dir=(dir) ⇒ Object
16
17
18
|
# File 'lib/phantomjs.rb', line 16
def base_dir=(dir)
@base_dir = dir
end
|
.implode! ⇒ Object
Removes the local phantomjs copy
38
39
40
|
# File 'lib/phantomjs.rb', line 38
def implode!
FileUtils.rm_rf File.join(File.expand_path('~'), '.phantomjs')
end
|
.path ⇒ Object
24
25
26
|
# File 'lib/phantomjs.rb', line 24
def path
@path ||= platform.phantomjs_path
end
|
28
29
30
31
32
33
34
35
|
# 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! ⇒ Object
Clears cached state. Primarily useful for testing.
43
44
45
|
# File 'lib/phantomjs.rb', line 43
def reset!
@base_dir = @path = nil
end
|
.run(*args, &block) ⇒ Object
Run phantomjs with the given arguments, and either return the stdout or yield each line to the passed block.
49
50
51
52
53
|
# 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 ⇒ Object
20
21
22
|
# File 'lib/phantomjs.rb', line 20
def version
Phantomjs::VERSION.split('.')[0..-2].join('.')
end
|