gritano 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = Gritano v0.7.0
1
+ = Gritano v0.7.1
2
2
 
3
3
  Gritano is the simplest way to configure a git server over ssh. You can create repositories and manage user access using this practical tool.
4
4
 
data/TODO CHANGED
@@ -1,2 +1,11 @@
1
- v0.7 - plugins
2
- - help (parametros)
1
+ v0.7.2
2
+ - Melhorar mensagens ao compilar SSH
3
+ - Criar um arquivo de log pra o SSH
4
+ - mais spec e features (testes)
5
+
6
+ v0.7.3
7
+ - tirar os comando do Console::Gritano
8
+ - configuracoes via cmd (exec ssh set:port 2222)
9
+
10
+ v0.8.0 - WebService
11
+ v0.9.0 - WebSite
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.0
1
+ 0.7.1
@@ -0,0 +1,10 @@
1
+ gritano plugin:exec ssh [command]
2
+
3
+ Examples:
4
+ gritano plugin:exec ssh help
5
+ gritano plugin:exec ssh install gritano_path
6
+ gritano plugin:exec ssh start
7
+ gritano plugin:exec ssh stop
8
+
9
+ --
10
+ v{{VERSION}}
@@ -0,0 +1,10 @@
1
+ gritano plugin:exec ssh [command]
2
+
3
+ Examples:
4
+ gritano plugin:exec ssh help
5
+ gritano plugin:exec ssh install gritano_path
6
+ gritano plugin:exec ssh start
7
+ gritano plugin:exec ssh stop
8
+
9
+ --
10
+ v{{VERSION}}
@@ -0,0 +1 @@
1
+ error: There isn't a plugin called sshs
@@ -0,0 +1 @@
1
+ error: There isn't a plugin called sshs
@@ -0,0 +1,10 @@
1
+ ssh git@host.com admin:plugin:exec ssh [command]
2
+
3
+ Examples:
4
+ ssh git@host.com admin:plugin:exec ssh help
5
+ ssh git@host.com admin:plugin:exec ssh install gritano_path
6
+ ssh git@host.com admin:plugin:exec ssh start
7
+ ssh git@host.com admin:plugin:exec ssh stop
8
+
9
+ --
10
+ v{{VERSION}}
@@ -0,0 +1,10 @@
1
+ ssh git@host.com admin:plugin:exec ssh [command]
2
+
3
+ Examples:
4
+ ssh git@host.com admin:plugin:exec ssh help
5
+ ssh git@host.com admin:plugin:exec ssh install gritano_path
6
+ ssh git@host.com admin:plugin:exec ssh start
7
+ ssh git@host.com admin:plugin:exec ssh stop
8
+
9
+ --
10
+ v{{VERSION}}
@@ -0,0 +1 @@
1
+ error: There isn't a plugin called sshs
@@ -0,0 +1 @@
1
+ error: There isn't a plugin called sshs
@@ -0,0 +1 @@
1
+ error: access denied
@@ -7,4 +7,4 @@
7
7
  gritano plugin:exec ssh stop
8
8
 
9
9
  --
10
- v0.6.0
10
+ v{{VERSION}}
@@ -79,4 +79,8 @@ Feature: Local access
79
79
  | repo:user:list tmp/ruby.git |
80
80
  | plugin:list |
81
81
  | plugin:info ssh |
82
+ | plugin:info sshs |
83
+ | plugin:exec ssh help |
84
+ | plugin:exec ssh helps |
85
+ | plugin:exec sshs help |
82
86
 
@@ -102,6 +102,10 @@ Feature: Remote access
102
102
  | admin:repo:user:list tmp/ruby.git |
103
103
  | admin:plugin:list |
104
104
  | admin:plugin:info ssh |
105
+ | admin:plugin:info sshs |
106
+ | admin:plugin:exec ssh help |
107
+ | admin:plugin:exec ssh helps |
108
+ | admin:plugin:exec sshs help |
105
109
 
106
110
  Scenario Outline: Admin user execute command
107
111
  Given I start the remote console with "igorbonadio"
@@ -158,3 +162,7 @@ Feature: Remote access
158
162
  | admin:repo:user:list tmp/ruby.git |
159
163
  | admin:plugin:list |
160
164
  | admin:plugin:info ssh |
165
+ | admin:plugin:info sshs |
166
+ | admin:plugin:exec ssh help |
167
+ | admin:plugin:exec ssh helps |
168
+ | admin:plugin:exec sshs help |
data/gritano.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "gritano"
8
- s.version = "0.7.0"
8
+ s.version = "0.7.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Igor Bonadio"]
12
- s.date = "2013-03-05"
12
+ s.date = "2013-03-07"
13
13
  s.description = "Gritano is the simplest way to configure your git server over ssh. You can create repositories and manage user access."
14
14
  s.email = "igorbonadio@gmail.com"
15
15
  s.executables = ["gritano", "gritano-pub-key", "gritano-remote"]
@@ -41,7 +41,11 @@ Gem::Specification.new do |s|
41
41
  "features/data/config_true.yml",
42
42
  "features/data/local_commands/addon_list.txt",
43
43
  "features/data/local_commands/addon_ssh_install.txt",
44
+ "features/data/local_commands/plugin_exec_ssh_help.txt",
45
+ "features/data/local_commands/plugin_exec_ssh_helps.txt",
46
+ "features/data/local_commands/plugin_exec_sshs_help.txt",
44
47
  "features/data/local_commands/plugin_info_ssh.txt",
48
+ "features/data/local_commands/plugin_info_sshs.txt",
45
49
  "features/data/local_commands/plugin_list.txt",
46
50
  "features/data/local_commands/repo_add_tmp_jeka_git.txt",
47
51
  "features/data/local_commands/repo_add_tmp_p_lang_git.txt",
@@ -87,8 +91,16 @@ Gem::Specification.new do |s|
87
91
  "features/data/remote_commands/admin_addon_list_jessicaeto.txt",
88
92
  "features/data/remote_commands/admin_help_igorbonadio.txt",
89
93
  "features/data/remote_commands/admin_help_jessicaeto.txt",
94
+ "features/data/remote_commands/admin_plugin_exec_ssh_help_igorbonadio.txt",
95
+ "features/data/remote_commands/admin_plugin_exec_ssh_help_jessicaeto.txt",
96
+ "features/data/remote_commands/admin_plugin_exec_ssh_helps_igorbonadio.txt",
97
+ "features/data/remote_commands/admin_plugin_exec_ssh_helps_jessicaeto.txt",
98
+ "features/data/remote_commands/admin_plugin_exec_sshs_help_igorbonadio.txt",
99
+ "features/data/remote_commands/admin_plugin_exec_sshs_help_jessicaeto.txt",
90
100
  "features/data/remote_commands/admin_plugin_info_ssh_igorbonadio.txt",
91
101
  "features/data/remote_commands/admin_plugin_info_ssh_jessicaeto.txt",
102
+ "features/data/remote_commands/admin_plugin_info_sshs_igorbonadio.txt",
103
+ "features/data/remote_commands/admin_plugin_info_sshs_jessicaeto.txt",
92
104
  "features/data/remote_commands/admin_plugin_list_igorbonadio.txt",
93
105
  "features/data/remote_commands/admin_plugin_list_jessicaeto.txt",
94
106
  "features/data/remote_commands/admin_repo_add_tmp_jeka_git_igorbonadio.txt",
@@ -13,12 +13,14 @@ module Gritano
13
13
  Executor.bin_name = "ssh git@host.com admin:"
14
14
  Gritano.bin_name = "ssh git@host.com admin:"
15
15
  Installer.bin_name = "ssh git@host.com admin:"
16
+ Plugin.bin_name = "ssh git@host.com admin:"
16
17
  else
17
18
  Base.bin_name = "gritano "
18
19
  Remote.bin_name = "gritano "
19
20
  Executor.bin_name = "gritano "
20
21
  Gritano.bin_name = "gritano "
21
22
  Installer.bin_name = "gritano "
23
+ Plugin.bin_name = "gritano "
22
24
  end
23
25
  end
24
26
  end
@@ -21,18 +21,14 @@ module Gritano
21
21
  end
22
22
 
23
23
  add_command "plugin:list" do |argv|
24
- begin
25
- msg = Terminal::Table.new do |t|
26
- t << ['plugin', 'installed']
27
- t << :separator
28
- Plugin.list.each do |plugin, params|
29
- t.add_row [plugin, params[:installed].call]
30
- end
24
+ msg = Terminal::Table.new do |t|
25
+ t << ['plugin', 'installed']
26
+ t << :separator
27
+ Plugin.list.each do |plugin, params|
28
+ t.add_row [plugin, params[:installed].call]
31
29
  end
32
- return [true, msg]
33
- rescue Exception => e
34
- puts e
35
30
  end
31
+ return [true, msg]
36
32
  end
37
33
 
38
34
  add_command "plugin:info", "plugin_name" do |argv|
@@ -67,9 +63,13 @@ module Gritano
67
63
  add_command "plugin:exec", "plugin_name command" do |argv|
68
64
  name = argv[0]
69
65
  params = argv[1..-1]
70
- begin
71
- return [true, Plugin.list[name][:klass].new.exec(params)]
72
- rescue Exception => e
66
+ if Plugin.list[name]
67
+ begin
68
+ return [true, Plugin.list[name][:klass].new.exec(params)]
69
+ rescue Exception => e
70
+ return [true, Plugin.list[name][:klass].help]
71
+ end
72
+ else
73
73
  return [false, "There isn't a plugin called #{name}"]
74
74
  end
75
75
  end
@@ -47,11 +47,7 @@ module Gritano
47
47
  end
48
48
 
49
49
  def self.inherited(subclass)
50
- if @subclass
51
- @subclass << subclass
52
- else
53
- @subclass = {subclass.name => {klass: subclass, installed: lambda { subclass.check_install }}}
54
- end
50
+ @subclass = {subclass.name => {klass: subclass, installed: lambda { subclass.check_install }}}
55
51
  end
56
52
 
57
53
  def self.add_command(command, parameters = "", &block)
@@ -63,11 +59,19 @@ module Gritano
63
59
  @commands || @commands = Hash.new
64
60
  end
65
61
 
62
+ def self.bin_name=(name)
63
+ @bin_name = name
64
+ end
65
+
66
+ def self.bin_name
67
+ @bin_name || "gritano "
68
+ end
69
+
66
70
  def self.help
67
- msg = " gritano plugin:exec #{self.name} [command]\n\n"
71
+ msg = " #{Plugin.bin_name}plugin:exec #{self.name} [command]\n\n"
68
72
  msg += " Examples:\n"
69
73
  commands.each do |command, parameters|
70
- msg += " gritano plugin:exec #{self.name} #{command} #{parameters}\n"
74
+ msg += " #{Plugin.bin_name}plugin:exec #{self.name} #{command} #{parameters}\n"
71
75
  end
72
76
  msg += "\n --\n v#{File.open(File.join(File.dirname(__FILE__), '..', '..', 'VERSION')).readlines.join}"
73
77
  msg
data/spec/plugin_spec.rb CHANGED
@@ -44,5 +44,21 @@ module Gritano
44
44
  Plugin.list['ssh'][:installed].call.should be == false
45
45
  end
46
46
 
47
+ it "should call on_remove when it receives remove" do
48
+ plugin = Plugin.new
49
+ plugin.should_receive(:on_remove)
50
+ plugin.remove
51
+ end
52
+
53
+ it "should call on_add when it receives add" do
54
+ plugin = Plugin.new
55
+ plugin.should_receive(:on_add)
56
+ plugin.add
57
+ end
58
+
59
+ it "should not be installed" do
60
+ Plugin.check_install.should be_false
61
+ end
62
+
47
63
  end
48
64
  end
@@ -7,6 +7,7 @@ module Gritano
7
7
  end
8
8
 
9
9
  it "should show the help" do
10
+ Console.remote_console(false)
10
11
  Ssh.help.should be == File.open("features/data/ssh_help.txt").readlines.join.
11
12
  gsub('{{VERSION}}', File.open("VERSION").readlines.join)
12
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gritano
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-05 00:00:00.000000000 Z
12
+ date: 2013-03-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -222,7 +222,11 @@ files:
222
222
  - features/data/config_true.yml
223
223
  - features/data/local_commands/addon_list.txt
224
224
  - features/data/local_commands/addon_ssh_install.txt
225
+ - features/data/local_commands/plugin_exec_ssh_help.txt
226
+ - features/data/local_commands/plugin_exec_ssh_helps.txt
227
+ - features/data/local_commands/plugin_exec_sshs_help.txt
225
228
  - features/data/local_commands/plugin_info_ssh.txt
229
+ - features/data/local_commands/plugin_info_sshs.txt
226
230
  - features/data/local_commands/plugin_list.txt
227
231
  - features/data/local_commands/repo_add_tmp_jeka_git.txt
228
232
  - features/data/local_commands/repo_add_tmp_p_lang_git.txt
@@ -268,8 +272,16 @@ files:
268
272
  - features/data/remote_commands/admin_addon_list_jessicaeto.txt
269
273
  - features/data/remote_commands/admin_help_igorbonadio.txt
270
274
  - features/data/remote_commands/admin_help_jessicaeto.txt
275
+ - features/data/remote_commands/admin_plugin_exec_ssh_help_igorbonadio.txt
276
+ - features/data/remote_commands/admin_plugin_exec_ssh_help_jessicaeto.txt
277
+ - features/data/remote_commands/admin_plugin_exec_ssh_helps_igorbonadio.txt
278
+ - features/data/remote_commands/admin_plugin_exec_ssh_helps_jessicaeto.txt
279
+ - features/data/remote_commands/admin_plugin_exec_sshs_help_igorbonadio.txt
280
+ - features/data/remote_commands/admin_plugin_exec_sshs_help_jessicaeto.txt
271
281
  - features/data/remote_commands/admin_plugin_info_ssh_igorbonadio.txt
272
282
  - features/data/remote_commands/admin_plugin_info_ssh_jessicaeto.txt
283
+ - features/data/remote_commands/admin_plugin_info_sshs_igorbonadio.txt
284
+ - features/data/remote_commands/admin_plugin_info_sshs_jessicaeto.txt
273
285
  - features/data/remote_commands/admin_plugin_list_igorbonadio.txt
274
286
  - features/data/remote_commands/admin_plugin_list_jessicaeto.txt
275
287
  - features/data/remote_commands/admin_repo_add_tmp_jeka_git_igorbonadio.txt
@@ -425,7 +437,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
425
437
  version: '0'
426
438
  segments:
427
439
  - 0
428
- hash: -2501048903144546813
440
+ hash: -844461799902479330
429
441
  required_rubygems_version: !ruby/object:Gem::Requirement
430
442
  none: false
431
443
  requirements: