rgithook 3.0.2

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.
Files changed (45) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG +3 -0
  3. data/Manifest +42 -0
  4. data/README.rdoc +12 -0
  5. data/Rakefile +22 -0
  6. data/TODO.txt +4 -0
  7. data/bin/rgithook +13 -0
  8. data/lib/plugins/custom.rb +18 -0
  9. data/lib/plugins/db.rb +34 -0
  10. data/lib/plugins/email.rb +39 -0
  11. data/lib/plugins/html.rb +53 -0
  12. data/lib/plugins/html/commit.html.erb +26 -0
  13. data/lib/plugins/html/diff.html.erb +16 -0
  14. data/lib/plugins/rake.rb +14 -0
  15. data/lib/plugins/spec/rgithook_formatter.rb +74 -0
  16. data/lib/plugins/spec/spec_result.rb +5 -0
  17. data/lib/plugins/temp.rb +41 -0
  18. data/lib/plugins/test.rb +37 -0
  19. data/lib/plugins/twitter.rb +13 -0
  20. data/lib/rgithook.rb +36 -0
  21. data/lib/rgithook/command_line.rb +47 -0
  22. data/lib/rgithook/hook.rb +39 -0
  23. data/lib/rgithook/plugin.rb +105 -0
  24. data/lib/rgithook/rgithook.rb +229 -0
  25. data/lib/rgithook/runner.rb +178 -0
  26. data/lib/rgithook/templates/hook.rb +6 -0
  27. data/lib/rgithook/templates/rgithook.rb +18 -0
  28. data/lib/rgithook/test/unit.rb +70 -0
  29. data/rgithook.gemspec +42 -0
  30. data/test/fixtures/sample_plugin.rb +28 -0
  31. data/test/fixtures/sample_repo.zip +0 -0
  32. data/test/integration/test_install.rb +68 -0
  33. data/test/integration/test_pull_and_push.rb +20 -0
  34. data/test/plugins/test_email.rb +8 -0
  35. data/test/plugins/test_html.rb +6 -0
  36. data/test/plugins/test_spec.rb +6 -0
  37. data/test/plugins/test_test.rb +14 -0
  38. data/test/test_helper.rb +12 -0
  39. data/test/unit/test_command_line.rb +59 -0
  40. data/test/unit/test_hook.rb +31 -0
  41. data/test/unit/test_plugin.rb +36 -0
  42. data/test/unit/test_rgithook.rb +143 -0
  43. data/test/unit/test_runner.rb +95 -0
  44. metadata +174 -0
  45. metadata.gz.sig +2 -0
@@ -0,0 +1,6 @@
1
+ require 'test/test_helper'
2
+
3
+ class HtmlTest < Test::Unit::TestCase
4
+ def test_commit_to_html
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ require 'test/test_helper'
2
+
3
+ class SpecTest < Test::Unit::TestCase
4
+ def test_spec
5
+ end
6
+ end
@@ -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
@@ -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