cap_permission 0.0.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -2,6 +2,7 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
+ gem "capistrano"
5
6
 
6
7
  # Add dependencies to develop your gem here.
7
8
  # Include everything needed to run rake, tests, features, etc.
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
- rake (0.8.7)
10
- rcov (0.9.8)
11
- shoulda (2.11.3)
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.3
1
+ 1.0.0
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "cap_permission"
8
- s.version = "0.0.3"
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 = ["Dru Ibarra"]
12
- s.date = "2012-02-16"
13
- s.description = "adds group based permissions to Capistrano tasks"
14
- s.email = "Druwerd@gmail.com"
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 = "http://github.com/Druwerd/cap_permission"
33
- s.licenses = ["MIT"]
34
- s.require_paths = ["lib"]
35
- s.rubygems_version = "1.8.15"
36
- s.summary = "adds group based permissions to Capistrano tasks"
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"])
@@ -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 = EVN["SUDO_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: 25
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
+ - 1
7
8
  - 0
8
9
  - 0
9
- - 3
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-02-16 00:00:00 Z
18
+ date: 2012-03-07 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: shoulda
22
- type: :development
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
- requirement: *id001
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
- version_requirements: &id002 !ruby/object:Gem::Requirement
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
- requirement: *id002
61
+ version_requirements: *id003
62
+ name: bundler
63
+ prerelease: false
50
64
  - !ruby/object:Gem::Dependency
51
- name: jeweler
52
65
  type: :development
53
- prerelease: false
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
- requirement: *id003
77
+ version_requirements: *id004
78
+ name: jeweler
79
+ prerelease: false
66
80
  - !ruby/object:Gem::Dependency
67
- name: rcov
68
81
  type: :development
69
- prerelease: false
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
- requirement: *id004
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.15
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