rgithook 3.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/CHANGELOG +3 -0
- data/Manifest +42 -0
- data/README.rdoc +12 -0
- data/Rakefile +22 -0
- data/TODO.txt +4 -0
- data/bin/rgithook +13 -0
- data/lib/plugins/custom.rb +18 -0
- data/lib/plugins/db.rb +34 -0
- data/lib/plugins/email.rb +39 -0
- data/lib/plugins/html.rb +53 -0
- data/lib/plugins/html/commit.html.erb +26 -0
- data/lib/plugins/html/diff.html.erb +16 -0
- data/lib/plugins/rake.rb +14 -0
- data/lib/plugins/spec/rgithook_formatter.rb +74 -0
- data/lib/plugins/spec/spec_result.rb +5 -0
- data/lib/plugins/temp.rb +41 -0
- data/lib/plugins/test.rb +37 -0
- data/lib/plugins/twitter.rb +13 -0
- data/lib/rgithook.rb +36 -0
- data/lib/rgithook/command_line.rb +47 -0
- data/lib/rgithook/hook.rb +39 -0
- data/lib/rgithook/plugin.rb +105 -0
- data/lib/rgithook/rgithook.rb +229 -0
- data/lib/rgithook/runner.rb +178 -0
- data/lib/rgithook/templates/hook.rb +6 -0
- data/lib/rgithook/templates/rgithook.rb +18 -0
- data/lib/rgithook/test/unit.rb +70 -0
- data/rgithook.gemspec +42 -0
- data/test/fixtures/sample_plugin.rb +28 -0
- data/test/fixtures/sample_repo.zip +0 -0
- data/test/integration/test_install.rb +68 -0
- data/test/integration/test_pull_and_push.rb +20 -0
- data/test/plugins/test_email.rb +8 -0
- data/test/plugins/test_html.rb +6 -0
- data/test/plugins/test_spec.rb +6 -0
- data/test/plugins/test_test.rb +14 -0
- data/test/test_helper.rb +12 -0
- data/test/unit/test_command_line.rb +59 -0
- data/test/unit/test_hook.rb +31 -0
- data/test/unit/test_plugin.rb +36 -0
- data/test/unit/test_rgithook.rb +143 -0
- data/test/unit/test_runner.rb +95 -0
- metadata +174 -0
- metadata.gz.sig +2 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
class EmailPluginTest < Test::Unit::TestCase
|
2
|
+
def test_test
|
3
|
+
with_sample_rgithook do
|
4
|
+
in_runner "test(repo.commits[0])"
|
5
|
+
assert @rgithook.repo.commits[0].properties.include? "spec"
|
6
|
+
assert @rgithook.repo.commits[0].properties.include? "cucumber"
|
7
|
+
assert @rgithook.repo.commits[0].properties.include? "spec"
|
8
|
+
assert @rgithook.repo.commits[0].properties.include? "status"
|
9
|
+
assert_equal @rgithook.repo.commits[0].properties["status"], 0
|
10
|
+
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require File.dirname(__FILE__) + '/../lib/rgithook'
|
3
|
+
require 'rgithook/test/unit'
|
4
|
+
|
5
|
+
require 'tmpdir'
|
6
|
+
require 'tempfile'
|
7
|
+
require 'fileutils'
|
8
|
+
require 'mocha'
|
9
|
+
require 'ruby-debug'
|
10
|
+
require 'rgithook/test/unit'
|
11
|
+
require File.dirname(__FILE__) + '/fixtures/sample_plugin'
|
12
|
+
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require File.dirname(__FILE__)+'/../test_helper'
|
2
|
+
|
3
|
+
module RGitHook
|
4
|
+
class CommandLineTest < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@repo = mock()
|
7
|
+
@rgithook = mock()
|
8
|
+
::Grit::Repo.stubs(:new).returns(@repo)
|
9
|
+
Dir.stubs(:pwd).returns('pwd')
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
def test_install
|
14
|
+
RGitHook.expects(:new).with('pwd').returns(@rgithook)
|
15
|
+
@rgithook.expects(:install)
|
16
|
+
CommandLine.expects(:exit).with(0)
|
17
|
+
CommandLine.execute(['--install'])
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_edit
|
21
|
+
RGitHook.expects(:new).with('pwd').returns(@rgithook)
|
22
|
+
@rgithook.expects(:edit)
|
23
|
+
CommandLine.expects(:exit).with(0)
|
24
|
+
CommandLine.execute(['--edit'])
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_fetch
|
28
|
+
RGitHook.expects(:new).with('pwd').returns(@rgithook)
|
29
|
+
@rgithook.expects(:fetch)
|
30
|
+
CommandLine.expects(:exit).with(0)
|
31
|
+
CommandLine.execute(['--fetch'])
|
32
|
+
end
|
33
|
+
|
34
|
+
# def test_install_in_bare_repo
|
35
|
+
# in_temp_bare_repo do |repo|
|
36
|
+
# assert system(rgithook_command_path("--install --path=#{repo.path}"))
|
37
|
+
# check_files(repo)
|
38
|
+
# end
|
39
|
+
# end
|
40
|
+
|
41
|
+
|
42
|
+
def hide
|
43
|
+
" 2>&1 > /dev/null"
|
44
|
+
end
|
45
|
+
|
46
|
+
def check_files(repo)
|
47
|
+
path = File.join(repo.path,'hooks')
|
48
|
+
file = File.join(path,'rgithook.rb')
|
49
|
+
assert File.exist?(file)
|
50
|
+
assert_equal 0600, (File.stat(file).mode & 0777)
|
51
|
+
|
52
|
+
HOOKS.each do |hook_name|
|
53
|
+
file = File.join(path,hook_name.tr('_','-'))
|
54
|
+
assert File.exist?(file)
|
55
|
+
assert_equal 0555, (File.stat(file).mode & 0777)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require File.dirname(__FILE__)+'/../test_helper'
|
2
|
+
|
3
|
+
|
4
|
+
module RGitHook
|
5
|
+
class HookTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_self_execute
|
8
|
+
$0 = 'potatos-super-hook'
|
9
|
+
Hook.expects(:puts).with('Executing potatos-super-hook hook')
|
10
|
+
Hook.expects(:potatos_super_hook)
|
11
|
+
Hook.execute
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
def test_post_receive
|
16
|
+
|
17
|
+
repo = mock('grit_repo')
|
18
|
+
repo.stubs(:path).returns('path')
|
19
|
+
RGitHook.stubs(:parse_path).with(:repo).returns(repo)
|
20
|
+
Hook.expects(:repo_path).at_least_once.returns('repo_path')
|
21
|
+
|
22
|
+
rgithook = mock()
|
23
|
+
RGitHook.expects(:new).with('repo_path').returns(rgithook)
|
24
|
+
STDIN.expects(:read).returns("aaaa bbbb ref1\ncccc dddd ref2\n")
|
25
|
+
|
26
|
+
rgithook.expects(:post_receive).with('aaaa','bbbb','ref1').returns( [['meth1','5'],[20,20]])
|
27
|
+
rgithook.expects(:post_receive).with('cccc','dddd','ref2').returns( [['6',7],[20,20]])
|
28
|
+
assert_equal Hook.post_receive, 7
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.dirname(__FILE__)+'/../test_helper'
|
2
|
+
|
3
|
+
|
4
|
+
class TestPlugin < Test::Unit::TestCase
|
5
|
+
include RGitHook
|
6
|
+
|
7
|
+
# def setup
|
8
|
+
# options = {:SamplePlugin => {:test_option=>:load_value, :test_group=>{:test_option_group_option=>:load_value}}}
|
9
|
+
# File.stubs(:read).with(Plugin::CONF_FILE).returns(options.to_yaml)
|
10
|
+
# end
|
11
|
+
|
12
|
+
def test_runner_methods
|
13
|
+
repo = mock_repo
|
14
|
+
Plugin.load!
|
15
|
+
runner = Runner.new(repo)
|
16
|
+
assert_equal runner.test_method, 'test_result'
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_grit_commit_methods
|
20
|
+
Plugin.load!
|
21
|
+
assert ::Grit::Commit.instance_methods.include?("test_method"), 'Plugin::GritCoomit is not included in Grit::Commit'
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_options_to_hash
|
25
|
+
options = Plugin.options_to_hash[:SamplePlugin]
|
26
|
+
assert_equal options[:test_option], :default_value
|
27
|
+
assert_equal options[:test_group][:test_option_group_option], :default_value
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_load!
|
31
|
+
assert_nothing_raised{
|
32
|
+
Plugin.load!
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,143 @@
|
|
1
|
+
require File.dirname(__FILE__)+'/../test_helper'
|
2
|
+
|
3
|
+
module RGitHook
|
4
|
+
class RGitHookTest < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@runner = mock('runner')
|
7
|
+
@runner.stubs(:load_options)
|
8
|
+
@runner.stubs(:binding)
|
9
|
+
@runner.stubs(:load)
|
10
|
+
@repo = mock('grit_repo')
|
11
|
+
@repo.stubs(:path).returns('path')
|
12
|
+
Runner.stubs(:new).returns(@runner)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_run
|
16
|
+
@runner.expects(:run).with('code',nil,nil).returns(:done)
|
17
|
+
assert_equal :done, create_rgithook_instance.run('code')
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_class_install
|
21
|
+
repo = mock('grit_repo')
|
22
|
+
repo.stubs(:path).returns('path')
|
23
|
+
::Grit::Repo.stubs(:new).with(:repo).returns(repo)
|
24
|
+
|
25
|
+
FileUtils.stubs(:mkdir).with('path/hooks')
|
26
|
+
File.expects(:'exist?').with('path/hooks')
|
27
|
+
RGitHook.expects(:install_template).at_least(4)
|
28
|
+
RGitHook.expects(:parse_path).with(:repo).returns(repo)
|
29
|
+
RGitHook.install(:repo,false)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_install
|
33
|
+
RGitHook.expects(:install).with(@repo,true).once.returns(:return_value)
|
34
|
+
assert_equal create_rgithook_instance.install, :return_value
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
def test_class_call_editor
|
39
|
+
RGitHook.stubs(:parse_path).with(:repo).returns(mock_repo)
|
40
|
+
RGitHook.expects(:conf_file).returns(:file)
|
41
|
+
RGitHook.expects(:system).with('vi',:file )
|
42
|
+
RGitHook.call_editor(:repo)
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_call_editor
|
46
|
+
rgithook = create_rgithook_instance
|
47
|
+
RGitHook.expects(:call_editor).with(@repo).once
|
48
|
+
rgithook.call_editor
|
49
|
+
end
|
50
|
+
|
51
|
+
HOOKS.each do |hook|
|
52
|
+
hook_tests = <<-EOT
|
53
|
+
def test_class_#{hook}
|
54
|
+
assert RGitHook.public_methods.include?('#{hook}'), '#{hook} must be exists in RGitHook'
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_#{hook}
|
58
|
+
@rgithook = create_rgithook_instance
|
59
|
+
assert @rgithook.public_methods.include?('#{hook}'), '#{hook} must be exists in a RGitHook instance'
|
60
|
+
end
|
61
|
+
EOT
|
62
|
+
eval( hook_tests, binding, __FILE__, __LINE__-12)
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_class_post_receive
|
66
|
+
rgithook = mock()
|
67
|
+
RGitHook.expects(:new).with(:dir).returns(rgithook)
|
68
|
+
rgithook.expects(:post_receive).with(:a,:b,:c)
|
69
|
+
RGitHook.post_receive(:dir,:a,:b,:c)
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
def test_post_receive
|
75
|
+
@rgithook = create_rgithook_instance
|
76
|
+
@runner.expects(:run_hooks).with(:post_receive,1,2,'3')
|
77
|
+
|
78
|
+
@rgithook.post_receive(1,2,'3')
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_install_template
|
82
|
+
repo = mock('grit_repo')
|
83
|
+
repo.stubs(:path).returns('path')
|
84
|
+
RGitHook.stubs(:parse_path).with(:repo).returns(repo)
|
85
|
+
File.expects(:join).with(PATH,'rgithook','templates','from').returns(:from)
|
86
|
+
File.expects(:join).with('path','hooks','to').returns(:to)
|
87
|
+
FileUtils.expects(:install).with(:from,:to, :mode => 0666)
|
88
|
+
|
89
|
+
RGitHook.send(:install_template,:repo, 'from','to',0666)
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_install_template_with_defaults
|
93
|
+
repo = mock('grit_repo')
|
94
|
+
repo.stubs(:path).returns('path')
|
95
|
+
RGitHook.stubs(:parse_path).with(:repo).returns(repo)
|
96
|
+
|
97
|
+
File.expects(:join).with(PATH,'rgithook','templates','from').returns(:from)
|
98
|
+
File.expects(:join).with('path','hooks','from').returns(:to)
|
99
|
+
|
100
|
+
FileUtils.expects(:install).with(:from,:to, :mode => 0600)
|
101
|
+
|
102
|
+
RGitHook.send(:install_template,:repo, 'from')
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_new
|
106
|
+
Plugin.expects(:load!)
|
107
|
+
RGitHook.expects(:parse_path).with(@repo).returns(@repo)
|
108
|
+
Runner.expects(:new).with(@repo).returns(@runner)
|
109
|
+
@runner.expects(:load_options).with('plugin_conf_file')
|
110
|
+
@runner.expects(:load).with('hooks_file')
|
111
|
+
RGitHook.any_instance.expects(:plugin_conf_file).returns('plugin_conf_file')
|
112
|
+
RGitHook.any_instance.expects(:hooks_file).returns('hooks_file')
|
113
|
+
|
114
|
+
|
115
|
+
RGitHook.new(@repo)
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_save_plugin_options
|
119
|
+
RGitHook.stubs(:parse_path).with(@repo).returns(@repo)
|
120
|
+
|
121
|
+
options = {:option => 1}
|
122
|
+
@repo.stubs(:path).returns('path')
|
123
|
+
@runner.expects(:options).returns(options)
|
124
|
+
file = mock('IO')
|
125
|
+
file.expects(:write).with(options.to_yaml)
|
126
|
+
File.expects(:open).with('path/hooks/rgithook.yaml','w').yields(file)
|
127
|
+
|
128
|
+
@rgithook = RGitHook.new(@repo)
|
129
|
+
@rgithook.save_plugin_options
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_class_installed?
|
133
|
+
RGitHook.expects(:hooks_file).with(@repo).returns('path')
|
134
|
+
File.expects(:file?).with('path').returns(false)
|
135
|
+
assert !RGitHook.installed?(@repo)
|
136
|
+
end
|
137
|
+
|
138
|
+
def test_installed?
|
139
|
+
RGitHook.expects(:installed?).with(@repo).returns(true)
|
140
|
+
assert create_rgithook_instance.installed?
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
require File.dirname(__FILE__)+'/../test_helper'
|
2
|
+
|
3
|
+
module RGitHook
|
4
|
+
|
5
|
+
class RunnerTest < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@repo = mock('grit_repo')
|
8
|
+
@repo.stubs(:'is_a?').with(::Grit::Repo).returns(true)
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_new
|
12
|
+
assert_raise ArgumentError do
|
13
|
+
Runner.new('.')
|
14
|
+
end
|
15
|
+
|
16
|
+
repo = mock('grit_repo')
|
17
|
+
repo.expects(:'is_a?').with(::Grit::Repo).returns(true)
|
18
|
+
assert_nothing_raised do
|
19
|
+
Runner.new repo
|
20
|
+
end
|
21
|
+
|
22
|
+
assert_instance_of Runner, Runner.new(@repo)
|
23
|
+
runner = Runner.new @repo
|
24
|
+
assert runner.options[:SamplePlugin][:test_option], :default_value
|
25
|
+
assert runner.options[:SamplePlugin][:test_group][:test_option_group_option], :default_value
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_on
|
29
|
+
assert_raise(ArgumentError) { Runner.new(@repo).on(:false_hook ) {}; }
|
30
|
+
assert_nothing_raised { Runner.new(@repo).on(HOOKS.first.to_sym) {}; }
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
def test_hooks
|
35
|
+
hook = HOOKS.first.to_sym
|
36
|
+
runner = Runner.new @repo
|
37
|
+
|
38
|
+
mock = mock('test_class', :meth1 => 'meth1',:meth2 => 'meth2')
|
39
|
+
runner.expects(:fork).times(2).returns(20)
|
40
|
+
Plugin.expects(:load!)
|
41
|
+
|
42
|
+
runner.on(hook) {mock.meth1}
|
43
|
+
runner.on(hook) {mock.meth2}
|
44
|
+
|
45
|
+
runner.on(hook, :background => true) {mock.meth1}
|
46
|
+
runner.on(hook, :background => true) {mock.meth2}
|
47
|
+
|
48
|
+
assert_equal runner.run_hooks(hook), [['meth1','meth2'],[20,20]]
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_foreground_hooks
|
53
|
+
hook = HOOKS.first.to_sym
|
54
|
+
runner = Runner.new @repo
|
55
|
+
|
56
|
+
mock = mock('test_class', :meth1 => 'meth1',:meth2 => 'meth2')
|
57
|
+
|
58
|
+
runner.on(hook) {mock.meth1}
|
59
|
+
runner.on(hook) {mock.meth2}
|
60
|
+
|
61
|
+
assert_equal runner.send(:run_foreground_hooks,hook), ['meth1','meth2']
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_run
|
65
|
+
runner = Runner.new @repo
|
66
|
+
assert_raise SamplePluginException do
|
67
|
+
runner.run(<<-EOF
|
68
|
+
raised_method
|
69
|
+
EOF
|
70
|
+
)
|
71
|
+
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
def test_background_hooks
|
77
|
+
hook = HOOKS.first.to_sym
|
78
|
+
runner = Runner.new @repo
|
79
|
+
|
80
|
+
|
81
|
+
runner.expects(:fork).times(2).returns(20)
|
82
|
+
runner.on(hook, :background => true) {mock.meth1}
|
83
|
+
runner.on(hook, :background => true) {mock.meth2}
|
84
|
+
|
85
|
+
assert_equal runner.send(:run_background_hooks, hook), [20,20]
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_options
|
89
|
+
runner = Runner.new @repo
|
90
|
+
|
91
|
+
assert runner.options[:SamplePlugin][:test_option], :default_value
|
92
|
+
assert runner.options[:SamplePlugin][:test_group][:test_option_group_option], :default_value
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
metadata
ADDED
@@ -0,0 +1,174 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rgithook
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- "Guillermo \xC3\x81lvarez"
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRIwEAYDVQQDDAlndWls
|
14
|
+
bGVybW8xGjAYBgoJkiaJk/IsZAEZFgpjaWVudGlmaWNvMRMwEQYKCZImiZPyLGQB
|
15
|
+
GRYDbmV0MB4XDTA4MTIxMjIxMTY1OFoXDTA5MTIxMjIxMTY1OFowRTESMBAGA1UE
|
16
|
+
AwwJZ3VpbGxlcm1vMRowGAYKCZImiZPyLGQBGRYKY2llbnRpZmljbzETMBEGCgmS
|
17
|
+
JomT8ixkARkWA25ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM/X
|
18
|
+
0myvq1KoWadmBdL4hMVR/dvli005PkDVpNT+M/84QdRHaMJaNsJzw0yJUnzQrIQa
|
19
|
+
IGyXFMcVmeRdHjXYsYQhJhOzyucS+CbDixdUKNe5A6POrh8ksMbL4sicI/XGOdMj
|
20
|
+
vTLMJSaC7P1U+jOG1H4ScvwvKJGaJdBPce7wMTGiXfdvK+KNpouxo7k/m8FDKLZn
|
21
|
+
9NZwxFgv/TJJ19DfnSUEBPVCVh1Ns19I5/3TyA0prUWG3Qiz+zZcjDa/iA2KPSd3
|
22
|
+
mI5qIurXJhzuxFQ39boXn+A+AYnlUeKwJvauJQ22Hwg8Rs9RkMOXyZg+u58QLGjj
|
23
|
+
X65MJHHZbym3VOU647MCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
|
+
HQYDVR0OBBYEFBbg59BR9Q9Xzd1fbnziQ7zmuX2NMA0GCSqGSIb3DQEBBQUAA4IB
|
25
|
+
AQBultsO6K4JtFCPUSYGrxqoWdgIVYLNJcBQwQjQWxtDcxO0j0YI92X9QWjZ8UPq
|
26
|
+
SgNVot3+lxhoHiDwZIHqit2HGWd2iOTfuXIkeZkvOwiHgkzLEglk9PqPdC2W6ZEt
|
27
|
+
g/myAoR7n3mLW5qf4S1ialflrHmDtqdgpf7b6yrLkMsjuFpfH2Hy7AZJ0oH5xk1s
|
28
|
+
oo9rsJPjZ1Xwn216zJ69XPpMaWNUOoRc0S7mJAsbHFRN/Rjvdinz68HSW1/rp9yq
|
29
|
+
GlZB6jMbJ64P4IpeXdpaTFHlCAMRBLlAMnHd18KQm0l39iVVfhTxpkvt/X4+R8Bl
|
30
|
+
IfYzkN8c0X6VDPrCKbd4IbEe
|
31
|
+
-----END CERTIFICATE-----
|
32
|
+
|
33
|
+
date: 2009-02-02 00:00:00 +01:00
|
34
|
+
default_executable:
|
35
|
+
dependencies:
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: mojombo-grit
|
38
|
+
type: :runtime
|
39
|
+
version_requirement:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: "0"
|
45
|
+
version:
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: mocha
|
48
|
+
type: :development
|
49
|
+
version_requirement:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: "0"
|
55
|
+
version:
|
56
|
+
description: Ruby gem specify for git hooks.
|
57
|
+
email: guillermo@cientifico.net
|
58
|
+
executables:
|
59
|
+
- rgithook
|
60
|
+
extensions: []
|
61
|
+
|
62
|
+
extra_rdoc_files:
|
63
|
+
- bin/rgithook
|
64
|
+
- CHANGELOG
|
65
|
+
- lib/plugins/custom.rb
|
66
|
+
- lib/plugins/db.rb
|
67
|
+
- lib/plugins/email.rb
|
68
|
+
- lib/plugins/html/commit.html.erb
|
69
|
+
- lib/plugins/html/diff.html.erb
|
70
|
+
- lib/plugins/html.rb
|
71
|
+
- lib/plugins/rake.rb
|
72
|
+
- lib/plugins/spec/rgithook_formatter.rb
|
73
|
+
- lib/plugins/spec/spec_result.rb
|
74
|
+
- lib/plugins/temp.rb
|
75
|
+
- lib/plugins/test.rb
|
76
|
+
- lib/plugins/twitter.rb
|
77
|
+
- lib/rgithook/command_line.rb
|
78
|
+
- lib/rgithook/hook.rb
|
79
|
+
- lib/rgithook/plugin.rb
|
80
|
+
- lib/rgithook/rgithook.rb
|
81
|
+
- lib/rgithook/runner.rb
|
82
|
+
- lib/rgithook/templates/hook.rb
|
83
|
+
- lib/rgithook/templates/rgithook.rb
|
84
|
+
- lib/rgithook/test/unit.rb
|
85
|
+
- lib/rgithook.rb
|
86
|
+
- README.rdoc
|
87
|
+
- TODO.txt
|
88
|
+
files:
|
89
|
+
- bin/rgithook
|
90
|
+
- CHANGELOG
|
91
|
+
- lib/plugins/custom.rb
|
92
|
+
- lib/plugins/db.rb
|
93
|
+
- lib/plugins/email.rb
|
94
|
+
- lib/plugins/html/commit.html.erb
|
95
|
+
- lib/plugins/html/diff.html.erb
|
96
|
+
- lib/plugins/html.rb
|
97
|
+
- lib/plugins/rake.rb
|
98
|
+
- lib/plugins/spec/rgithook_formatter.rb
|
99
|
+
- lib/plugins/spec/spec_result.rb
|
100
|
+
- lib/plugins/temp.rb
|
101
|
+
- lib/plugins/test.rb
|
102
|
+
- lib/plugins/twitter.rb
|
103
|
+
- lib/rgithook/command_line.rb
|
104
|
+
- lib/rgithook/hook.rb
|
105
|
+
- lib/rgithook/plugin.rb
|
106
|
+
- lib/rgithook/rgithook.rb
|
107
|
+
- lib/rgithook/runner.rb
|
108
|
+
- lib/rgithook/templates/hook.rb
|
109
|
+
- lib/rgithook/templates/rgithook.rb
|
110
|
+
- lib/rgithook/test/unit.rb
|
111
|
+
- lib/rgithook.rb
|
112
|
+
- Manifest
|
113
|
+
- Rakefile
|
114
|
+
- README.rdoc
|
115
|
+
- rgithook.gemspec
|
116
|
+
- test/fixtures/sample_plugin.rb
|
117
|
+
- test/fixtures/sample_repo.zip
|
118
|
+
- test/integration/test_install.rb
|
119
|
+
- test/integration/test_pull_and_push.rb
|
120
|
+
- test/plugins/test_email.rb
|
121
|
+
- test/plugins/test_html.rb
|
122
|
+
- test/plugins/test_spec.rb
|
123
|
+
- test/plugins/test_test.rb
|
124
|
+
- test/test_helper.rb
|
125
|
+
- test/unit/test_command_line.rb
|
126
|
+
- test/unit/test_hook.rb
|
127
|
+
- test/unit/test_plugin.rb
|
128
|
+
- test/unit/test_rgithook.rb
|
129
|
+
- test/unit/test_runner.rb
|
130
|
+
- TODO.txt
|
131
|
+
has_rdoc: true
|
132
|
+
homepage: http://github.com/guillermo/rgithook2
|
133
|
+
post_install_message:
|
134
|
+
rdoc_options:
|
135
|
+
- --line-numbers
|
136
|
+
- --inline-source
|
137
|
+
- --title
|
138
|
+
- Rgithook
|
139
|
+
- --main
|
140
|
+
- README.rdoc
|
141
|
+
require_paths:
|
142
|
+
- lib
|
143
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: "0"
|
148
|
+
version:
|
149
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: "1.2"
|
154
|
+
version:
|
155
|
+
requirements: []
|
156
|
+
|
157
|
+
rubyforge_project: rgithook
|
158
|
+
rubygems_version: 1.3.1
|
159
|
+
signing_key:
|
160
|
+
specification_version: 2
|
161
|
+
summary: You can deploy updated code, restart the web server, run the tests, email the diff, etc... You can use a cron to pull or a githook to run when pushed to the repo.
|
162
|
+
test_files:
|
163
|
+
- test/integration/test_install.rb
|
164
|
+
- test/integration/test_pull_and_push.rb
|
165
|
+
- test/plugins/test_email.rb
|
166
|
+
- test/plugins/test_html.rb
|
167
|
+
- test/plugins/test_spec.rb
|
168
|
+
- test/plugins/test_test.rb
|
169
|
+
- test/test_helper.rb
|
170
|
+
- test/unit/test_command_line.rb
|
171
|
+
- test/unit/test_hook.rb
|
172
|
+
- test/unit/test_plugin.rb
|
173
|
+
- test/unit/test_rgithook.rb
|
174
|
+
- test/unit/test_runner.rb
|