has_roles 0.3.0 → 0.3.1
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/CHANGELOG.rdoc +5 -0
- data/LICENSE +1 -1
- data/README.rdoc +12 -1
- data/Rakefile +19 -17
- data/generators/has_roles/USAGE +5 -0
- data/generators/has_roles/has_roles_generator.rb +13 -0
- data/{db/migrate → generators/has_roles/templates}/001_create_permissions.rb +0 -0
- data/{db/migrate → generators/has_roles/templates}/002_create_roles.rb +0 -0
- data/{db/migrate → generators/has_roles/templates}/003_create_role_permissions.rb +0 -0
- data/{db/migrate → generators/has_roles/templates}/004_create_role_assignments.rb +0 -0
- data/test/app_root/db/migrate/002_migrate_has_roles_to_version_4.rb +2 -2
- metadata +35 -45
data/CHANGELOG.rdoc
CHANGED
data/LICENSE
CHANGED
data/README.rdoc
CHANGED
@@ -33,6 +33,17 @@ of a controller and action.
|
|
33
33
|
Note that this is a reference implementation and, most likely, should be
|
34
34
|
modified for your own usage.
|
35
35
|
|
36
|
+
=== Installation
|
37
|
+
|
38
|
+
+has_roles+ requires additional database tables to work. You can generate
|
39
|
+
a migration for these tables like so:
|
40
|
+
|
41
|
+
script/generate has_roles
|
42
|
+
|
43
|
+
Then simply migrate your database:
|
44
|
+
|
45
|
+
rake db:migrate
|
46
|
+
|
36
47
|
=== Adding permissions
|
37
48
|
|
38
49
|
To add permissions, you can create an initializer like so:
|
@@ -89,4 +100,4 @@ To run against a specific version of Rails:
|
|
89
100
|
== Dependencies
|
90
101
|
|
91
102
|
* Rails 2.3 or later
|
92
|
-
* enumerate_by[http://github.com/pluginaweek/enumerate_by]
|
103
|
+
* enumerate_by[http://github.com/pluginaweek/enumerate_by] 0.4.0 or later
|
data/Rakefile
CHANGED
@@ -1,15 +1,17 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
1
3
|
require 'rake/testtask'
|
2
4
|
require 'rake/rdoctask'
|
3
5
|
require 'rake/gempackagetask'
|
4
|
-
require 'rake/contrib/sshpublisher'
|
5
6
|
|
6
7
|
spec = Gem::Specification.new do |s|
|
7
8
|
s.name = 'has_roles'
|
8
|
-
s.version = '0.3.
|
9
|
+
s.version = '0.3.1'
|
9
10
|
s.platform = Gem::Platform::RUBY
|
10
|
-
s.summary = 'Demonstrates a reference implementation for handling role management'
|
11
|
+
s.summary = 'Demonstrates a reference implementation for handling role management in ActiveRecord'
|
12
|
+
s.description = s.summary
|
11
13
|
|
12
|
-
s.files = FileList['{app,
|
14
|
+
s.files = FileList['{app,generators,lib,test}/**/*'] + %w(CHANGELOG.rdoc init.rb LICENSE Rakefile README.rdoc) - FileList['test/app_root/{log,log/*,script,script/*}']
|
13
15
|
s.require_path = 'lib'
|
14
16
|
s.has_rdoc = true
|
15
17
|
s.test_files = Dir['test/**/*_test.rb']
|
@@ -53,20 +55,27 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
|
|
53
55
|
rdoc.options << '--line-numbers' << '--inline-source'
|
54
56
|
rdoc.rdoc_files.include('README.rdoc', 'CHANGELOG.rdoc', 'LICENSE', 'lib/**/*.rb', 'app/**/*.rb')
|
55
57
|
end
|
56
|
-
|
58
|
+
|
59
|
+
desc 'Generate a gemspec file.'
|
60
|
+
task :gemspec do
|
61
|
+
File.open("#{spec.name}.gemspec", 'w') do |f|
|
62
|
+
f.write spec.to_ruby
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
57
66
|
Rake::GemPackageTask.new(spec) do |p|
|
58
67
|
p.gem_spec = spec
|
59
|
-
p.need_tar = true
|
60
|
-
p.need_zip = true
|
61
68
|
end
|
62
69
|
|
63
70
|
desc 'Publish the beta gem.'
|
64
71
|
task :pgem => [:package] do
|
72
|
+
require 'rake/contrib/sshpublisher'
|
65
73
|
Rake::SshFilePublisher.new('aaron@pluginaweek.org', '/home/aaron/gems.pluginaweek.org/public/gems', 'pkg', "#{spec.name}-#{spec.version}.gem").upload
|
66
74
|
end
|
67
75
|
|
68
76
|
desc 'Publish the API documentation.'
|
69
77
|
task :pdoc => [:rdoc] do
|
78
|
+
require 'rake/contrib/sshpublisher'
|
70
79
|
Rake::SshDirPublisher.new('aaron@pluginaweek.org', "/home/aaron/api.pluginaweek.org/public/#{spec.name}", 'rdoc').upload
|
71
80
|
end
|
72
81
|
|
@@ -75,15 +84,8 @@ task :publish => [:pgem, :pdoc, :release]
|
|
75
84
|
|
76
85
|
desc 'Publish the release files to RubyForge.'
|
77
86
|
task :release => [:gem, :package] do
|
78
|
-
require '
|
79
|
-
|
80
|
-
ruby_forge = RubyForge.new.configure
|
81
|
-
ruby_forge.login
|
87
|
+
require 'rake/gemcutter'
|
82
88
|
|
83
|
-
|
84
|
-
|
85
|
-
puts "Releasing #{File.basename(file)}..."
|
86
|
-
|
87
|
-
ruby_forge.add_release(spec.rubyforge_project, spec.name, spec.version, file)
|
88
|
-
end
|
89
|
+
Rake::Gemcutter::Tasks.new(spec)
|
90
|
+
Rake::Task['gem:push'].invoke
|
89
91
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class HasRolesGenerator < Rails::Generator::Base
|
2
|
+
def manifest
|
3
|
+
record do |m|
|
4
|
+
m.migration_template '001_create_permissions.rb', 'db/migrate', :migration_file_name => 'create_permissions'
|
5
|
+
m.sleep 1
|
6
|
+
m.migration_template '002_create_roles.rb', 'db/migrate', :migration_file_name => 'create_roles'
|
7
|
+
m.sleep 1
|
8
|
+
m.migration_template '003_create_role_permissions.rb', 'db/migrate', :migration_file_name => 'create_role_permissions'
|
9
|
+
m.sleep 1
|
10
|
+
m.migration_template '004_create_role_assignments.rb', 'db/migrate', :migration_file_name => 'create_role_assignments'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,12 +1,12 @@
|
|
1
1
|
class MigrateHasRolesToVersion4 < ActiveRecord::Migration
|
2
2
|
def self.up
|
3
|
-
ActiveRecord::Migrator.new(:up, "#{Rails.root}/../../
|
3
|
+
ActiveRecord::Migrator.new(:up, "#{Rails.root}/../../generators/has_roles/templates", 0).migrations.each do |migration|
|
4
4
|
migration.migrate(:up)
|
5
5
|
end
|
6
6
|
end
|
7
7
|
|
8
8
|
def self.down
|
9
|
-
ActiveRecord::Migrator.new(:
|
9
|
+
ActiveRecord::Migrator.new(:down, "#{Rails.root}/../../generators/has_roles/templates", 0).migrations.each do |migration|
|
10
10
|
migration.migrate(:down)
|
11
11
|
end
|
12
12
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_roles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Pfeifer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-03-07 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 0.4.0
|
24
24
|
version:
|
25
|
-
description:
|
25
|
+
description: Demonstrates a reference implementation for handling role management in ActiveRecord
|
26
26
|
email: aaron@pluginaweek.org
|
27
27
|
executables: []
|
28
28
|
|
@@ -31,51 +31,39 @@ extensions: []
|
|
31
31
|
extra_rdoc_files: []
|
32
32
|
|
33
33
|
files:
|
34
|
-
- app/models
|
35
|
-
- app/models/role.rb
|
36
|
-
- app/models/role_permission.rb
|
37
34
|
- app/models/permission.rb
|
38
35
|
- app/models/role_assignment.rb
|
39
|
-
-
|
40
|
-
-
|
41
|
-
-
|
42
|
-
-
|
43
|
-
-
|
44
|
-
-
|
45
|
-
-
|
36
|
+
- app/models/role_permission.rb
|
37
|
+
- app/models/role.rb
|
38
|
+
- generators/has_roles/USAGE
|
39
|
+
- generators/has_roles/has_roles_generator.rb
|
40
|
+
- generators/has_roles/templates/002_create_roles.rb
|
41
|
+
- generators/has_roles/templates/004_create_role_assignments.rb
|
42
|
+
- generators/has_roles/templates/003_create_role_permissions.rb
|
43
|
+
- generators/has_roles/templates/001_create_permissions.rb
|
46
44
|
- lib/has_roles/authorization_helper.rb
|
45
|
+
- lib/has_roles/url_helper.rb
|
47
46
|
- lib/has_roles.rb
|
48
|
-
- test/factory.rb
|
49
|
-
- test/test_helper.rb
|
50
|
-
- test/functional
|
51
|
-
- test/functional/has_roles_test.rb
|
52
|
-
- test/functional/application_controller_test.rb
|
53
|
-
- test/unit
|
54
|
-
- test/unit/role_test.rb
|
55
|
-
- test/unit/role_assignment_test.rb
|
56
47
|
- test/unit/role_permission_test.rb
|
48
|
+
- test/unit/role_assignment_test.rb
|
49
|
+
- test/unit/role_test.rb
|
57
50
|
- test/unit/permission_test.rb
|
58
|
-
- test/helpers
|
59
|
-
- test/helpers/url_helper_test.rb
|
60
|
-
- test/helpers/authorization_helper_test.rb
|
61
|
-
- test/app_root
|
62
|
-
- test/app_root/db
|
63
|
-
- test/app_root/db/migrate
|
64
|
-
- test/app_root/db/migrate/001_create_users.rb
|
65
51
|
- test/app_root/db/migrate/002_migrate_has_roles_to_version_4.rb
|
66
|
-
- test/app_root/
|
67
|
-
- test/app_root/
|
68
|
-
- test/app_root/config/routes.rb
|
69
|
-
- test/app_root/app
|
70
|
-
- test/app_root/app/controllers
|
71
|
-
- test/app_root/app/controllers/home_controller.rb
|
72
|
-
- test/app_root/app/controllers/application_controller.rb
|
73
|
-
- test/app_root/app/controllers/admin
|
52
|
+
- test/app_root/db/migrate/001_create_users.rb
|
53
|
+
- test/app_root/app/models/user.rb
|
74
54
|
- test/app_root/app/controllers/admin/users_controller.rb
|
75
55
|
- test/app_root/app/controllers/admin/base_controller.rb
|
76
56
|
- test/app_root/app/controllers/users_controller.rb
|
77
|
-
- test/app_root/app/
|
78
|
-
- test/app_root/app/
|
57
|
+
- test/app_root/app/controllers/home_controller.rb
|
58
|
+
- test/app_root/app/controllers/application_controller.rb
|
59
|
+
- test/app_root/config/environment.rb
|
60
|
+
- test/app_root/config/routes.rb
|
61
|
+
- test/test_helper.rb
|
62
|
+
- test/factory.rb
|
63
|
+
- test/helpers/url_helper_test.rb
|
64
|
+
- test/helpers/authorization_helper_test.rb
|
65
|
+
- test/functional/has_roles_test.rb
|
66
|
+
- test/functional/application_controller_test.rb
|
79
67
|
- CHANGELOG.rdoc
|
80
68
|
- init.rb
|
81
69
|
- LICENSE
|
@@ -83,6 +71,8 @@ files:
|
|
83
71
|
- README.rdoc
|
84
72
|
has_rdoc: true
|
85
73
|
homepage: http://www.pluginaweek.org
|
74
|
+
licenses: []
|
75
|
+
|
86
76
|
post_install_message:
|
87
77
|
rdoc_options: []
|
88
78
|
|
@@ -103,16 +93,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
93
|
requirements: []
|
104
94
|
|
105
95
|
rubyforge_project: pluginaweek
|
106
|
-
rubygems_version: 1.3.
|
96
|
+
rubygems_version: 1.3.5
|
107
97
|
signing_key:
|
108
|
-
specification_version:
|
109
|
-
summary: Demonstrates a reference implementation for handling role management
|
98
|
+
specification_version: 3
|
99
|
+
summary: Demonstrates a reference implementation for handling role management in ActiveRecord
|
110
100
|
test_files:
|
111
|
-
- test/functional/has_roles_test.rb
|
112
|
-
- test/functional/application_controller_test.rb
|
113
|
-
- test/unit/role_test.rb
|
114
|
-
- test/unit/role_assignment_test.rb
|
115
101
|
- test/unit/role_permission_test.rb
|
102
|
+
- test/unit/role_assignment_test.rb
|
103
|
+
- test/unit/role_test.rb
|
116
104
|
- test/unit/permission_test.rb
|
117
105
|
- test/helpers/url_helper_test.rb
|
118
106
|
- test/helpers/authorization_helper_test.rb
|
107
|
+
- test/functional/has_roles_test.rb
|
108
|
+
- test/functional/application_controller_test.rb
|