cap_permission 0.0.3 → 1.0.0
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/Gemfile +1 -0
- data/Gemfile.lock +22 -3
- data/README.rdoc +9 -0
- data/VERSION +1 -1
- data/cap_permission.gemspec +14 -11
- data/lib/cap_permission.rb +12 -4
- metadata +35 -21
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,20 +1,39 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: http://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
+
capistrano (2.11.2)
|
|
5
|
+
highline
|
|
6
|
+
net-scp (>= 1.0.0)
|
|
7
|
+
net-sftp (>= 2.0.0)
|
|
8
|
+
net-ssh (>= 2.0.14)
|
|
9
|
+
net-ssh-gateway (>= 1.1.0)
|
|
4
10
|
git (1.2.5)
|
|
11
|
+
highline (1.6.11)
|
|
5
12
|
jeweler (1.6.4)
|
|
6
13
|
bundler (~> 1.0)
|
|
7
14
|
git (>= 1.2.5)
|
|
8
15
|
rake
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
16
|
+
net-scp (1.0.4)
|
|
17
|
+
net-ssh (>= 1.99.1)
|
|
18
|
+
net-sftp (2.0.5)
|
|
19
|
+
net-ssh (>= 2.0.9)
|
|
20
|
+
net-ssh (2.3.0)
|
|
21
|
+
net-ssh-gateway (1.1.0)
|
|
22
|
+
net-ssh (>= 1.99.1)
|
|
23
|
+
rake (0.9.2.2)
|
|
24
|
+
rcov (1.0.0)
|
|
25
|
+
shoulda (3.0.1)
|
|
26
|
+
shoulda-context (~> 1.0.0)
|
|
27
|
+
shoulda-matchers (~> 1.0.0)
|
|
28
|
+
shoulda-context (1.0.0)
|
|
29
|
+
shoulda-matchers (1.0.0)
|
|
12
30
|
|
|
13
31
|
PLATFORMS
|
|
14
32
|
ruby
|
|
15
33
|
|
|
16
34
|
DEPENDENCIES
|
|
17
35
|
bundler (~> 1.0.0)
|
|
36
|
+
capistrano
|
|
18
37
|
jeweler (~> 1.6.4)
|
|
19
38
|
rcov
|
|
20
39
|
shoulda
|
data/README.rdoc
CHANGED
|
@@ -9,6 +9,15 @@ Adds group based permissions to Capistrano tasks.
|
|
|
9
9
|
Include in your Capfile
|
|
10
10
|
require 'rubygems'
|
|
11
11
|
require 'cap_permission'
|
|
12
|
+
|
|
13
|
+
== Usage
|
|
14
|
+
|
|
15
|
+
Permission by group:
|
|
16
|
+
set :group_name, "releasemgmt" # allows users in 'releasemgmt' group to run cap tasks
|
|
17
|
+
Note: Users in "root", "sysadmins", and "confmgmt" groups are granted rights by default
|
|
18
|
+
|
|
19
|
+
Permission by users:
|
|
20
|
+
set :deployment_users, ["leeroy", "jenkins"] # allows user 'leeroy' and user 'jenkins' to run cap tasks
|
|
12
21
|
|
|
13
22
|
== Contributing to cap_permission
|
|
14
23
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0
|
|
1
|
+
1.0.0
|
data/cap_permission.gemspec
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
|
-
s.name =
|
|
8
|
-
s.version = "0.0
|
|
7
|
+
s.name = %q{cap_permission}
|
|
8
|
+
s.version = "1.0.0"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
-
s.authors = [
|
|
12
|
-
s.date =
|
|
13
|
-
s.description =
|
|
14
|
-
s.email =
|
|
11
|
+
s.authors = [%q{Dru Ibarra}]
|
|
12
|
+
s.date = %q{2012-03-07}
|
|
13
|
+
s.description = %q{adds group based permissions to Capistrano tasks}
|
|
14
|
+
s.email = %q{Druwerd@gmail.com}
|
|
15
15
|
s.extra_rdoc_files = [
|
|
16
16
|
"LICENSE.txt",
|
|
17
17
|
"README.rdoc"
|
|
@@ -29,27 +29,30 @@ Gem::Specification.new do |s|
|
|
|
29
29
|
"test/helper.rb",
|
|
30
30
|
"test/test_cap_permission.rb"
|
|
31
31
|
]
|
|
32
|
-
s.homepage =
|
|
33
|
-
s.licenses = [
|
|
34
|
-
s.require_paths = [
|
|
35
|
-
s.rubygems_version =
|
|
36
|
-
s.summary =
|
|
32
|
+
s.homepage = %q{http://github.com/Druwerd/cap_permission}
|
|
33
|
+
s.licenses = [%q{MIT}]
|
|
34
|
+
s.require_paths = [%q{lib}]
|
|
35
|
+
s.rubygems_version = %q{1.8.6}
|
|
36
|
+
s.summary = %q{adds group based permissions to Capistrano tasks}
|
|
37
37
|
|
|
38
38
|
if s.respond_to? :specification_version then
|
|
39
39
|
s.specification_version = 3
|
|
40
40
|
|
|
41
41
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
42
|
+
s.add_runtime_dependency(%q<capistrano>, [">= 0"])
|
|
42
43
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
|
43
44
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
44
45
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
|
45
46
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
|
46
47
|
else
|
|
48
|
+
s.add_dependency(%q<capistrano>, [">= 0"])
|
|
47
49
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
|
48
50
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
49
51
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
|
50
52
|
s.add_dependency(%q<rcov>, [">= 0"])
|
|
51
53
|
end
|
|
52
54
|
else
|
|
55
|
+
s.add_dependency(%q<capistrano>, [">= 0"])
|
|
53
56
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
|
54
57
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
55
58
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
data/lib/cap_permission.rb
CHANGED
|
@@ -3,23 +3,31 @@ Capistrano::Configuration.instance(true).load do
|
|
|
3
3
|
|
|
4
4
|
def user_in_group?(group)
|
|
5
5
|
return false if group.nil?
|
|
6
|
-
puts group
|
|
7
6
|
user = ENV["SUDO_USER"]
|
|
7
|
+
if user.nil?
|
|
8
|
+
puts "\e[0;33m WARNING: 'cap_permission' gem requires you to run cap with sudo\e[0m"
|
|
9
|
+
return false
|
|
10
|
+
end
|
|
8
11
|
groups = capture("groups #{user}")
|
|
9
12
|
groups.include?(" #{group} ")
|
|
10
13
|
end
|
|
11
14
|
|
|
12
15
|
def admin_user?()
|
|
13
|
-
puts admin_groups
|
|
14
16
|
admin_groups.each do |admin_group|
|
|
15
17
|
return true if user_in_group?(admin_group)
|
|
16
18
|
end
|
|
17
19
|
return false
|
|
20
|
+
rescue NameError => e
|
|
21
|
+
puts "\e[0;33m WARNING: #{e}\e[0m"
|
|
22
|
+
false
|
|
18
23
|
end
|
|
19
24
|
|
|
20
25
|
def deployment_user?()
|
|
21
|
-
user =
|
|
26
|
+
user = ENV["SUDO_USER"]
|
|
22
27
|
deployment_users.to_a.include?(user)
|
|
28
|
+
rescue NameError => e
|
|
29
|
+
puts "\e[0;33m WARNING: #{e}\e[0m"
|
|
30
|
+
false
|
|
23
31
|
end
|
|
24
32
|
|
|
25
33
|
namespace :permission do
|
|
@@ -36,5 +44,5 @@ Capistrano::Configuration.instance(true).load do
|
|
|
36
44
|
else
|
|
37
45
|
on :start, "permission:check"
|
|
38
46
|
end
|
|
39
|
-
|
|
47
|
+
|
|
40
48
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cap_permission
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 23
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
|
+
- 1
|
|
7
8
|
- 0
|
|
8
9
|
- 0
|
|
9
|
-
|
|
10
|
-
version: 0.0.3
|
|
10
|
+
version: 1.0.0
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Dru Ibarra
|
|
@@ -15,13 +15,11 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date: 2012-
|
|
18
|
+
date: 2012-03-07 00:00:00 Z
|
|
19
19
|
dependencies:
|
|
20
20
|
- !ruby/object:Gem::Dependency
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
prerelease: false
|
|
24
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
|
21
|
+
type: :runtime
|
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
25
23
|
none: false
|
|
26
24
|
requirements:
|
|
27
25
|
- - ">="
|
|
@@ -30,12 +28,26 @@ dependencies:
|
|
|
30
28
|
segments:
|
|
31
29
|
- 0
|
|
32
30
|
version: "0"
|
|
33
|
-
|
|
31
|
+
version_requirements: *id001
|
|
32
|
+
name: capistrano
|
|
33
|
+
prerelease: false
|
|
34
34
|
- !ruby/object:Gem::Dependency
|
|
35
|
-
name: bundler
|
|
36
35
|
type: :development
|
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
37
|
+
none: false
|
|
38
|
+
requirements:
|
|
39
|
+
- - ">="
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
hash: 3
|
|
42
|
+
segments:
|
|
43
|
+
- 0
|
|
44
|
+
version: "0"
|
|
45
|
+
version_requirements: *id002
|
|
46
|
+
name: shoulda
|
|
37
47
|
prerelease: false
|
|
38
|
-
|
|
48
|
+
- !ruby/object:Gem::Dependency
|
|
49
|
+
type: :development
|
|
50
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
39
51
|
none: false
|
|
40
52
|
requirements:
|
|
41
53
|
- - ~>
|
|
@@ -46,12 +58,12 @@ dependencies:
|
|
|
46
58
|
- 0
|
|
47
59
|
- 0
|
|
48
60
|
version: 1.0.0
|
|
49
|
-
|
|
61
|
+
version_requirements: *id003
|
|
62
|
+
name: bundler
|
|
63
|
+
prerelease: false
|
|
50
64
|
- !ruby/object:Gem::Dependency
|
|
51
|
-
name: jeweler
|
|
52
65
|
type: :development
|
|
53
|
-
|
|
54
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
|
66
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
|
55
67
|
none: false
|
|
56
68
|
requirements:
|
|
57
69
|
- - ~>
|
|
@@ -62,12 +74,12 @@ dependencies:
|
|
|
62
74
|
- 6
|
|
63
75
|
- 4
|
|
64
76
|
version: 1.6.4
|
|
65
|
-
|
|
77
|
+
version_requirements: *id004
|
|
78
|
+
name: jeweler
|
|
79
|
+
prerelease: false
|
|
66
80
|
- !ruby/object:Gem::Dependency
|
|
67
|
-
name: rcov
|
|
68
81
|
type: :development
|
|
69
|
-
|
|
70
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
|
82
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
71
83
|
none: false
|
|
72
84
|
requirements:
|
|
73
85
|
- - ">="
|
|
@@ -76,7 +88,9 @@ dependencies:
|
|
|
76
88
|
segments:
|
|
77
89
|
- 0
|
|
78
90
|
version: "0"
|
|
79
|
-
|
|
91
|
+
version_requirements: *id005
|
|
92
|
+
name: rcov
|
|
93
|
+
prerelease: false
|
|
80
94
|
description: adds group based permissions to Capistrano tasks
|
|
81
95
|
email: Druwerd@gmail.com
|
|
82
96
|
executables: []
|
|
@@ -127,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
127
141
|
requirements: []
|
|
128
142
|
|
|
129
143
|
rubyforge_project:
|
|
130
|
-
rubygems_version: 1.8.
|
|
144
|
+
rubygems_version: 1.8.6
|
|
131
145
|
signing_key:
|
|
132
146
|
specification_version: 3
|
|
133
147
|
summary: adds group based permissions to Capistrano tasks
|