commitshots 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/commitshots.rb +7 -30
- data/lib/commitshots/backends/git.rb +14 -0
- data/lib/commitshots/backends/hg.rb +14 -0
- data/lib/commitshots/commits.rb +6 -2
- data/lib/commitshots/options.rb +41 -0
- data/lib/commitshots/version.rb +1 -1
- metadata +4 -1
data/lib/commitshots.rb
CHANGED
@@ -1,45 +1,22 @@
|
|
1
|
-
require '
|
1
|
+
require 'commitshots/options'
|
2
|
+
require 'commitshots/backends/git'
|
3
|
+
require 'commitshots/backends/hg'
|
2
4
|
require 'commitshots/commits'
|
3
5
|
|
4
|
-
options =
|
5
|
-
|
6
|
-
optparse = OptionParser.new do|opts|
|
7
|
-
# Set a banner, displayed at the top
|
8
|
-
# of the help screen.
|
9
|
-
opts.banner = "Usage: commitshots [OPTIONS] url"
|
10
|
-
|
11
|
-
|
12
|
-
options[:width] = 800
|
13
|
-
opts.on( '--width WIDTH', 'Width of the browser window' ) do |width|
|
14
|
-
options[:width] = width
|
15
|
-
end
|
16
|
-
|
17
|
-
options[:height] = 600
|
18
|
-
opts.on( '--height HEIGHT', 'Height of the browser window' ) do |height|
|
19
|
-
options[:height] = height
|
20
|
-
end
|
21
|
-
|
22
|
-
# This displays the help screen, all programs are
|
23
|
-
# assumed to have this option.
|
24
|
-
opts.on( '-h', '--help', 'Display this screen' ) do
|
25
|
-
puts opts
|
26
|
-
exit
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
optparse.parse!
|
31
|
-
|
6
|
+
options = Commitshots::Options.get_commandline_options
|
32
7
|
phantomScript = File.join(File.dirname(__FILE__), 'phantomjs/screenshot.js')
|
33
8
|
url = ARGV[0]
|
34
9
|
width = options[:width]
|
35
10
|
height = options[:height]
|
11
|
+
backend = Commitshots::Backends.const_get(options[:backend].capitalize).new
|
12
|
+
|
36
13
|
|
37
14
|
num = 0
|
38
15
|
baseFileName = 'screenshots/image-'
|
39
16
|
fileType = 'png'
|
40
17
|
waitTime = 0.5
|
41
18
|
|
42
|
-
Commitshots::Commits.new.each do |id, msg|
|
19
|
+
Commitshots::Commits.new(backend).each do |id, msg|
|
43
20
|
sleep(waitTime)
|
44
21
|
fileName = "#{baseFileName}#{"%08d" % num}.#{fileType}"
|
45
22
|
`phantomjs #{phantomScript} "#{url}" "#{fileName}" #{width} #{height}`
|
data/lib/commitshots/commits.rb
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
module Commitshots
|
2
2
|
class Commits
|
3
|
+
def initialize(backend)
|
4
|
+
@backend = backend
|
5
|
+
end
|
6
|
+
|
3
7
|
def each
|
4
|
-
|
8
|
+
@backend.get_revisions.each do |line|
|
5
9
|
parts = line.split(' ')
|
6
10
|
id = parts[0]
|
7
11
|
msg = line.gsub(id, '')
|
8
|
-
|
12
|
+
@backend.checkout_revision(id)
|
9
13
|
yield id, msg
|
10
14
|
end
|
11
15
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'optparse'
|
2
|
+
|
3
|
+
module Commitshots
|
4
|
+
class Options
|
5
|
+
def self.get_commandline_options
|
6
|
+
options = {}
|
7
|
+
|
8
|
+
optparse = OptionParser.new do|opts|
|
9
|
+
# Set a banner, displayed at the top
|
10
|
+
# of the help screen.
|
11
|
+
opts.banner = "Usage: commitshots [OPTIONS] url"
|
12
|
+
|
13
|
+
|
14
|
+
options[:width] = 800
|
15
|
+
opts.on( '--width WIDTH', "Width of the browser window, defaults to #{options[:width]}" ) do |width|
|
16
|
+
options[:width] = width
|
17
|
+
end
|
18
|
+
|
19
|
+
options[:height] = 600
|
20
|
+
opts.on( '--height HEIGHT', "Height of the browser window, defaults to #{options[:height]}" ) do |height|
|
21
|
+
options[:height] = height
|
22
|
+
end
|
23
|
+
|
24
|
+
options[:backend] = 'git'
|
25
|
+
opts.on( '--backend [git|hg]', "Backend to use, defaults to #{options[:backend]}") do |backend|
|
26
|
+
options[:backend] = backend
|
27
|
+
end
|
28
|
+
|
29
|
+
# This displays the help screen, all programs are
|
30
|
+
# assumed to have this option.
|
31
|
+
opts.on( '-h', '--help', 'Display this screen' ) do
|
32
|
+
puts opts
|
33
|
+
exit
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
optparse.parse!
|
38
|
+
options
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/commitshots/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commitshots
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -26,7 +26,10 @@ files:
|
|
26
26
|
- bin/commitshots
|
27
27
|
- commitshots.gemspec
|
28
28
|
- lib/commitshots.rb
|
29
|
+
- lib/commitshots/backends/git.rb
|
30
|
+
- lib/commitshots/backends/hg.rb
|
29
31
|
- lib/commitshots/commits.rb
|
32
|
+
- lib/commitshots/options.rb
|
30
33
|
- lib/commitshots/version.rb
|
31
34
|
- lib/phantomjs/screenshot.js
|
32
35
|
homepage: http://rubygems.org/gems/commitshots
|