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 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