gastly 0.2.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +1 -7
- data/CHANGELOG.md +6 -0
- data/gastly.gemspec +1 -1
- data/lib/gastly.rb +1 -0
- data/lib/gastly/phantomjs_patch.rb +79 -0
- data/lib/gastly/version.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61481db693dd21bbbe481bc40e94cda224eeb786
|
4
|
+
data.tar.gz: 406d4be2fa87cb64536a8e687a1935b965e3227a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6350109f7427759e9ea898cd7caa9965efb869ce2bfd2f3c4b7dfbf02b58a9a49aaf9d94d35fc7ec387f5db9b51693d1d6ef91eb8dc7f953430b388057c153a1
|
7
|
+
data.tar.gz: adac8e9e13cd50ccd1b8a3bc4c1ae44a20c39057e18c7ed078116dc24bc3a3cf9fc80e2bc65cf25fcc16444d1b64ab5350bc788450ff4894d32afd691ed5c56d
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.2.
|
1
|
+
2.2.4
|
data/.travis.yml
CHANGED
@@ -1,11 +1,5 @@
|
|
1
|
-
dist: trusty
|
2
1
|
language: ruby
|
3
2
|
rvm:
|
4
3
|
- 2.1.7
|
5
|
-
- 2.2.
|
4
|
+
- 2.2.4
|
6
5
|
- 2.3.0
|
7
|
-
before_install:
|
8
|
-
- mkdir travis-phantomjs
|
9
|
-
- wget https://s3.amazonaws.com/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2 -O $PWD/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2
|
10
|
-
- tar -xvf $PWD/travis-phantomjs/phantomjs-2.0.0-ubuntu-12.04.tar.bz2 -C $PWD/travis-phantomjs
|
11
|
-
- export PATH=$PWD/travis-phantomjs:$PATH
|
data/CHANGELOG.md
CHANGED
data/gastly.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency 'rubocop'
|
24
24
|
spec.add_development_dependency 'rspec', '~> 3.4.0'
|
25
25
|
|
26
|
-
spec.add_dependency '
|
26
|
+
spec.add_dependency 'phantomjs', '~> 2.1.1'
|
27
27
|
spec.add_dependency 'mini_magick', '~> 4.2'
|
28
28
|
spec.add_dependency 'activesupport', '>= 3.1'
|
29
29
|
end
|
data/lib/gastly.rb
CHANGED
@@ -3,6 +3,7 @@ require 'mini_magick'
|
|
3
3
|
require 'active_support/core_ext/hash/keys'
|
4
4
|
require 'active_support/core_ext/object/blank'
|
5
5
|
|
6
|
+
require_relative 'gastly/phantomjs_patch'
|
6
7
|
require_relative 'gastly/image'
|
7
8
|
require_relative 'gastly/screenshot'
|
8
9
|
require_relative 'gastly/exceptions'
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Phantomjs
|
2
|
+
class << self
|
3
|
+
attr_accessor :proxy_host, :proxy_port
|
4
|
+
end
|
5
|
+
|
6
|
+
class Platform
|
7
|
+
class << self
|
8
|
+
def install!
|
9
|
+
STDERR.puts "Phantomjs does not appear to be installed in #{phantomjs_path}, installing!"
|
10
|
+
FileUtils.mkdir_p Phantomjs.base_dir
|
11
|
+
|
12
|
+
# Purge temporary directory if it is still hanging around from previous installs,
|
13
|
+
# then re-create it.
|
14
|
+
temp_dir = File.join(temp_path, 'phantomjs_install')
|
15
|
+
FileUtils.rm_rf temp_dir
|
16
|
+
FileUtils.mkdir_p temp_dir
|
17
|
+
|
18
|
+
Dir.chdir temp_dir do
|
19
|
+
unless download_via_curl or download_via_wget
|
20
|
+
raise "\n\nFailed to load phantomjs! :(\nYou need to have cURL or wget installed on your system.\nIf you have, the source of phantomjs might be unavailable: #{package_url}\n\n"
|
21
|
+
end
|
22
|
+
|
23
|
+
case package_url.split('.').last
|
24
|
+
when 'bz2'
|
25
|
+
system "bunzip2 #{File.basename(package_url)}"
|
26
|
+
system "tar xf #{File.basename(package_url).sub(/\.bz2$/, '')}"
|
27
|
+
when 'zip'
|
28
|
+
system "unzip #{File.basename(package_url)}"
|
29
|
+
else
|
30
|
+
raise "Unknown compression format for #{File.basename(package_url)}"
|
31
|
+
end
|
32
|
+
|
33
|
+
# Find the phantomjs build we just extracted
|
34
|
+
extracted_dir = Dir['phantomjs*'].find { |path| File.directory?(path) }
|
35
|
+
|
36
|
+
if extracted_dir.nil?
|
37
|
+
# Move the executable file
|
38
|
+
FileUtils.mkdir_p File.join(Phantomjs.base_dir, platform, 'bin')
|
39
|
+
if FileUtils.mv 'phantomjs', File.join(Phantomjs.base_dir, platform, 'bin')
|
40
|
+
STDOUT.puts "\nSuccessfully installed phantomjs. Yay!"
|
41
|
+
end
|
42
|
+
else
|
43
|
+
# Move the extracted phantomjs build to $HOME/.phantomjs/version/platform
|
44
|
+
if FileUtils.mv extracted_dir, File.join(Phantomjs.base_dir, platform)
|
45
|
+
STDOUT.puts "\nSuccessfully installed phantomjs. Yay!"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# Clean up remaining files in tmp
|
50
|
+
if FileUtils.rm_rf temp_dir
|
51
|
+
STDOUT.puts 'Removed temporarily downloaded files.'
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
raise 'Failed to install phantomjs. Sorry :(' unless File.exist?(phantomjs_path)
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def download_via_curl
|
61
|
+
system "curl -L -O #{package_url} #{curl_proxy_options}"
|
62
|
+
end
|
63
|
+
|
64
|
+
def download_via_wget
|
65
|
+
system "wget #{package_url} #{wget_proxy_options}"
|
66
|
+
end
|
67
|
+
|
68
|
+
def curl_proxy_options
|
69
|
+
return '' if Phantomjs.proxy_host.nil? && Phantomjs.proxy_port.nil?
|
70
|
+
"-x #{Phantomjs.proxy_host}:#{Phantomjs.proxy_port}"
|
71
|
+
end
|
72
|
+
|
73
|
+
def wget_proxy_options
|
74
|
+
return '' if Phantomjs.proxy_host.nil? && Phantomjs.proxy_port.nil?
|
75
|
+
"-e use_proxy=yes -e http_proxy=#{Phantomjs.proxy_host}:#{Phantomjs.proxy_port}"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
data/lib/gastly/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gastly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mikhail Grachev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,19 +67,19 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 3.4.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: phantomjs
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 2.1.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 2.1.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: mini_magick
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,6 +132,7 @@ files:
|
|
132
132
|
- lib/gastly.rb
|
133
133
|
- lib/gastly/exceptions.rb
|
134
134
|
- lib/gastly/image.rb
|
135
|
+
- lib/gastly/phantomjs_patch.rb
|
135
136
|
- lib/gastly/screenshot.rb
|
136
137
|
- lib/gastly/script.js
|
137
138
|
- lib/gastly/version.rb
|