gritano 0.9.2 → 0.9.3
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.
- data/TODO +1 -13
- data/VERSION +1 -1
- data/gritano.gemspec +4 -3
- data/lib/gritano.rb +2 -1
- data/lib/gritano/config.rb +36 -0
- data/lib/gritano/plugin/ssh.rb +13 -5
- data/spec/config_spec.rb +64 -0
- metadata +5 -4
- data/spec/model_config_spec.rb +0 -10
data/TODO
CHANGED
@@ -1,14 +1,2 @@
|
|
1
|
-
v0.9.1:
|
2
|
-
✔ mostrar admin -> gritano user:admin igorbonadio @done (13-03-25 21:28)
|
3
|
-
✔ mostrar admin no user:list @done (13-03-25 21:28)
|
4
|
-
|
5
|
-
v0.9.2:
|
6
|
-
✔ permitir ao usuario mudar seu email @done (13-03-27 16:30)
|
7
|
-
✔ arrumar specs @done (13-03-25 22:08)
|
8
|
-
✔ travis-ci @done (13-03-26 12:12)
|
9
|
-
|
10
1
|
v0.10.0:
|
11
|
-
☐
|
12
|
-
|
13
|
-
v1.0.0:
|
14
|
-
☐ refatorar e preparar para o lançamento oficial!!!!
|
2
|
+
☐ recuperar e adicionar pub.keys
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.3
|
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.9.
|
8
|
+
s.version = "0.9.3"
|
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-
|
12
|
+
s.date = "2013-04-02"
|
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"]
|
@@ -236,6 +236,7 @@ Gem::Specification.new do |s|
|
|
236
236
|
"gritano.gemspec",
|
237
237
|
"lib/gritano.rb",
|
238
238
|
"lib/gritano/cli.rb",
|
239
|
+
"lib/gritano/config.rb",
|
239
240
|
"lib/gritano/console.rb",
|
240
241
|
"lib/gritano/console/base.rb",
|
241
242
|
"lib/gritano/console/executor.rb",
|
@@ -250,6 +251,7 @@ Gem::Specification.new do |s|
|
|
250
251
|
"lib/gritano/plugin.rb",
|
251
252
|
"lib/gritano/plugin/ssh.rb",
|
252
253
|
"spec/cli_spec.rb",
|
254
|
+
"spec/config_spec.rb",
|
253
255
|
"spec/console_base_spec.rb",
|
254
256
|
"spec/console_executor_spec.rb",
|
255
257
|
"spec/console_gritano_spec.rb",
|
@@ -257,7 +259,6 @@ Gem::Specification.new do |s|
|
|
257
259
|
"spec/console_remote_spec.rb",
|
258
260
|
"spec/console_spec.rb",
|
259
261
|
"spec/data/help_command_name.txt",
|
260
|
-
"spec/model_config_spec.rb",
|
261
262
|
"spec/model_key_spec.rb",
|
262
263
|
"spec/model_permission_spec.rb",
|
263
264
|
"spec/model_repository_spec.rb",
|
data/lib/gritano.rb
CHANGED
@@ -5,4 +5,5 @@ require "fileutils"
|
|
5
5
|
require File.join(ROOT_PATH, '/gritano/models')
|
6
6
|
require File.join(ROOT_PATH, '/gritano/console')
|
7
7
|
require File.join(ROOT_PATH, '/gritano/cli')
|
8
|
-
require File.join(ROOT_PATH, '/gritano/plugin')
|
8
|
+
require File.join(ROOT_PATH, '/gritano/plugin')
|
9
|
+
require File.join(ROOT_PATH, '/gritano/config')
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Gritano
|
2
|
+
class Config
|
3
|
+
def initialize(config_file)
|
4
|
+
@config_file = config_file
|
5
|
+
load
|
6
|
+
end
|
7
|
+
|
8
|
+
def load
|
9
|
+
unless File.exist?(@config_file)
|
10
|
+
File.open(@config_file, "w").close
|
11
|
+
end
|
12
|
+
@config = YAML::load(File.open(@config_file))
|
13
|
+
unless @config
|
14
|
+
@config = Hash.new
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def remove(parameter)
|
19
|
+
@config.delete(parameter.to_s)
|
20
|
+
end
|
21
|
+
|
22
|
+
def save
|
23
|
+
File.open(@config_file, "w") do |f|
|
24
|
+
f.write(@config.to_yaml)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def method_missing(name, *args, &block)
|
29
|
+
if name[-1] == '='
|
30
|
+
@config[name.to_s[0..-2]] = args[0]
|
31
|
+
else
|
32
|
+
@config[name.to_s]
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/gritano/plugin/ssh.rb
CHANGED
@@ -8,14 +8,18 @@ module Gritano
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def on_add
|
11
|
-
|
11
|
+
config = Config.new(File.join(@home_dir, '.gritano', 'config.yml'))
|
12
|
+
config.ssh = true
|
13
|
+
config.save
|
12
14
|
File.open(File.join(@ssh_path, 'authorized_keys'), "w").write('')
|
13
15
|
gritano_pub_key_path = `which gritano-pub-key`[0..-2]
|
14
16
|
`ln -s #{gritano_pub_key_path} #{File.join(@home_dir, '.gritano', 'gritano-pub-key')}`
|
15
17
|
end
|
16
18
|
|
17
19
|
def on_remove
|
18
|
-
|
20
|
+
config = Config.new(File.join(@home_dir, '.gritano', 'config.yml'))
|
21
|
+
config.ssh = false
|
22
|
+
config.save
|
19
23
|
File.open(File.join(@ssh_path, 'authorized_keys'), 'w').write(Key.authorized_keys)
|
20
24
|
FileUtils.rm(File.join(@home_dir, '.gritano', 'gritano-pub-key')) if File.exist?(File.join(@home_dir, '.gritano', 'gritano-pub-key'))
|
21
25
|
end
|
@@ -23,10 +27,14 @@ module Gritano
|
|
23
27
|
def self.check_install
|
24
28
|
home = Etc.getpwuid.dir
|
25
29
|
if File.exist?(File.join(home, '.gritano', 'config.yml'))
|
26
|
-
config =
|
27
|
-
|
30
|
+
config = Config.new(File.join(home, '.gritano', 'config.yml'))
|
31
|
+
if config.ssh
|
32
|
+
return config.ssh
|
33
|
+
else
|
34
|
+
return false
|
35
|
+
end
|
28
36
|
else
|
29
|
-
|
37
|
+
return false
|
30
38
|
end
|
31
39
|
end
|
32
40
|
|
data/spec/config_spec.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
module Gritano
|
4
|
+
describe Config do
|
5
|
+
it "should get parameters" do
|
6
|
+
config = Config.new(File.join(".gritano", "config.yml"))
|
7
|
+
config.ssh.should be == false
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should add parameters" do
|
11
|
+
FileUtils.mkdir_p('tmp')
|
12
|
+
if File.exist?(File.join("tmp", "config_test.yml"))
|
13
|
+
FileUtils.rm(File.join("tmp", "config_test.yml"))
|
14
|
+
end
|
15
|
+
config = Config.new(File.join("tmp", "config_test.yml"))
|
16
|
+
config.ssh.should be == nil
|
17
|
+
config.ssh = true
|
18
|
+
config.ssh.should be == true
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should remove parameters" do
|
22
|
+
FileUtils.mkdir_p('tmp')
|
23
|
+
if File.exist?(File.join("tmp", "config_test.yml"))
|
24
|
+
FileUtils.rm(File.join("tmp", "config_test.yml"))
|
25
|
+
end
|
26
|
+
config = Config.new(File.join("tmp", "config_test.yml"))
|
27
|
+
|
28
|
+
config.ssh = true
|
29
|
+
config.ssh.should be == true
|
30
|
+
|
31
|
+
config.remove(:ssh)
|
32
|
+
config.ssh.should be == nil
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should modify parameters" do
|
36
|
+
FileUtils.mkdir_p('tmp')
|
37
|
+
if File.exist?(File.join("tmp", "config_test.yml"))
|
38
|
+
FileUtils.rm(File.join("tmp", "config_test.yml"))
|
39
|
+
end
|
40
|
+
config = Config.new(File.join("tmp", "config_test.yml"))
|
41
|
+
config.ssh.should be == nil
|
42
|
+
config.ssh = true
|
43
|
+
config.ssh.should be == true
|
44
|
+
config.ssh = false
|
45
|
+
config.ssh.should be == false
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should save a config file" do
|
49
|
+
FileUtils.mkdir_p('tmp')
|
50
|
+
if File.exist?(File.join("tmp", "config_test.yml"))
|
51
|
+
FileUtils.rm(File.join("tmp", "config_test.yml"))
|
52
|
+
end
|
53
|
+
config = Config.new(File.join("tmp", "config_test.yml"))
|
54
|
+
config.ssh = true
|
55
|
+
config.email = {login: 'igor', smtp: 'smtp.igor.com'}
|
56
|
+
config.save
|
57
|
+
|
58
|
+
config2 = Config.new(File.join("tmp", "config_test.yml"))
|
59
|
+
config2.ssh.should be == true
|
60
|
+
config2.email[:login].should be == "igor"
|
61
|
+
config2.email[:smtp].should be == "smtp.igor.com"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
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.9.
|
4
|
+
version: 0.9.3
|
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-
|
12
|
+
date: 2013-04-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -433,6 +433,7 @@ files:
|
|
433
433
|
- gritano.gemspec
|
434
434
|
- lib/gritano.rb
|
435
435
|
- lib/gritano/cli.rb
|
436
|
+
- lib/gritano/config.rb
|
436
437
|
- lib/gritano/console.rb
|
437
438
|
- lib/gritano/console/base.rb
|
438
439
|
- lib/gritano/console/executor.rb
|
@@ -447,6 +448,7 @@ files:
|
|
447
448
|
- lib/gritano/plugin.rb
|
448
449
|
- lib/gritano/plugin/ssh.rb
|
449
450
|
- spec/cli_spec.rb
|
451
|
+
- spec/config_spec.rb
|
450
452
|
- spec/console_base_spec.rb
|
451
453
|
- spec/console_executor_spec.rb
|
452
454
|
- spec/console_gritano_spec.rb
|
@@ -454,7 +456,6 @@ files:
|
|
454
456
|
- spec/console_remote_spec.rb
|
455
457
|
- spec/console_spec.rb
|
456
458
|
- spec/data/help_command_name.txt
|
457
|
-
- spec/model_config_spec.rb
|
458
459
|
- spec/model_key_spec.rb
|
459
460
|
- spec/model_permission_spec.rb
|
460
461
|
- spec/model_repository_spec.rb
|
@@ -478,7 +479,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
478
479
|
version: '0'
|
479
480
|
segments:
|
480
481
|
- 0
|
481
|
-
hash:
|
482
|
+
hash: 2612279300761584941
|
482
483
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
483
484
|
none: false
|
484
485
|
requirements:
|
data/spec/model_config_spec.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
-
|
3
|
-
module Gritano
|
4
|
-
describe "Config" do
|
5
|
-
it "should have a ssh configuration" do
|
6
|
-
config = YAML::load(File.open(File.join('.gritano', 'config.yml')))
|
7
|
-
config['ssh'].should be_false
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|