jakewendt-authorized 0.1.4
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/README.rdoc +52 -0
- data/app/controllers/roles_controller.rb +38 -0
- data/app/models/role.rb +34 -0
- data/config/routes.rb +9 -0
- data/generators/authorized/USAGE +0 -0
- data/generators/authorized/authorized_generator.rb +66 -0
- data/generators/authorized/templates/functional/roles_controller_test.rb +142 -0
- data/generators/authorized/templates/migrations/create_roles.rb +14 -0
- data/generators/authorized/templates/migrations/create_roles_users.rb +14 -0
- data/generators/authorized/templates/stylesheets/authorized.css +0 -0
- data/generators/authorized/templates/unit/role_test.rb +29 -0
- data/lib/authorized.rb +45 -0
- data/lib/authorized/authorization.rb +69 -0
- data/lib/authorized/controller.rb +87 -0
- data/lib/authorized/core_extension.rb +16 -0
- data/lib/authorized/factories.rb +15 -0
- data/lib/authorized/factory_test_helper.rb +47 -0
- data/lib/authorized/helper.rb +28 -0
- data/lib/authorized/pending.rb +72 -0
- data/lib/authorized/permissive_controller.rb +25 -0
- data/lib/authorized/resourceful_controller.rb +81 -0
- data/lib/authorized/tasks.rb +1 -0
- data/lib/authorized/user_model.rb +144 -0
- data/lib/tasks/application.rake +40 -0
- data/lib/tasks/database.rake +52 -0
- data/lib/tasks/documentation.rake +68 -0
- data/lib/tasks/rcov.rake +41 -0
- metadata +276 -0
@@ -0,0 +1 @@
|
|
1
|
+
Dir["#{File.dirname(__FILE__)}/../tasks/**/*.rake"].sort.each { |ext| load ext }
|
@@ -0,0 +1,144 @@
|
|
1
|
+
module Authorized
|
2
|
+
module UserModel
|
3
|
+
|
4
|
+
def self.included(base)
|
5
|
+
base.extend(PrepMethod)
|
6
|
+
# base.send(:include, InstanceMethods)
|
7
|
+
# base.class_eval do
|
8
|
+
# alias_method_chain :reset_persistence_token, :uniqueness
|
9
|
+
# end
|
10
|
+
end
|
11
|
+
|
12
|
+
module PrepMethod
|
13
|
+
def authorized(options={})
|
14
|
+
|
15
|
+
include Authorized::UserModel::InstanceMethods
|
16
|
+
extend Authorized::UserModel::ClassMethods
|
17
|
+
|
18
|
+
has_and_belongs_to_many :roles, :uniq => true
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
module ClassMethods
|
24
|
+
|
25
|
+
# def search(options={})
|
26
|
+
# conditions = {}
|
27
|
+
# includes = joins = []
|
28
|
+
# if !options[:role_name].blank?
|
29
|
+
# includes = [:roles]
|
30
|
+
# if Role.all.collect(&:name).include?(options[:role_name])
|
31
|
+
# joins = [:roles]
|
32
|
+
# conditions = ["roles.name = '#{options[:role_name]}'"]
|
33
|
+
# # else
|
34
|
+
# # @errors = "No such role '#{options[:role_name]}'"
|
35
|
+
# end
|
36
|
+
# end
|
37
|
+
# self.all(
|
38
|
+
# :joins => joins,
|
39
|
+
# :include => includes,
|
40
|
+
# :conditions => conditions )
|
41
|
+
# end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
module InstanceMethods
|
46
|
+
|
47
|
+
def role_names
|
48
|
+
roles.collect(&:name).uniq
|
49
|
+
end
|
50
|
+
|
51
|
+
def deputize
|
52
|
+
roles << Role.find_or_create_by_name('administrator')
|
53
|
+
end
|
54
|
+
|
55
|
+
# The 4 common CCLS roles are ....
|
56
|
+
def is_superuser?(*args)
|
57
|
+
self.role_names.include?('superuser')
|
58
|
+
end
|
59
|
+
alias_method :is_super_user?, :is_superuser?
|
60
|
+
|
61
|
+
def is_administrator?(*args)
|
62
|
+
self.role_names.include?('administrator')
|
63
|
+
end
|
64
|
+
|
65
|
+
def is_editor?(*args)
|
66
|
+
self.role_names.include?('editor')
|
67
|
+
end
|
68
|
+
|
69
|
+
def is_interviewer?(*args)
|
70
|
+
self.role_names.include?('interviewer')
|
71
|
+
end
|
72
|
+
|
73
|
+
def is_reader?(*args)
|
74
|
+
self.role_names.include?('reader')
|
75
|
+
end
|
76
|
+
|
77
|
+
def is_user?(user=nil)
|
78
|
+
!user.nil? && self == user
|
79
|
+
end
|
80
|
+
alias_method :may_be_user?, :is_user?
|
81
|
+
|
82
|
+
def may_administrate?(*args)
|
83
|
+
(self.role_names & ['superuser','administrator']).length > 0
|
84
|
+
end
|
85
|
+
alias_method :may_view_permissions?, :may_administrate?
|
86
|
+
alias_method :may_create_user_invitations?, :may_administrate?
|
87
|
+
alias_method :may_view_users?, :may_administrate?
|
88
|
+
alias_method :may_assign_roles?, :may_administrate?
|
89
|
+
|
90
|
+
def may_edit?(*args)
|
91
|
+
(self.role_names &
|
92
|
+
['superuser','administrator','editor']
|
93
|
+
).length > 0
|
94
|
+
end
|
95
|
+
alias_method :may_maintain_pages?, :may_edit?
|
96
|
+
|
97
|
+
|
98
|
+
# Add tests for may_interview and may_read
|
99
|
+
def may_interview?(*args)
|
100
|
+
(self.role_names &
|
101
|
+
['superuser','administrator','editor','interviewer']
|
102
|
+
).length > 0
|
103
|
+
end
|
104
|
+
|
105
|
+
# This is pretty lame as all current roles can read
|
106
|
+
def may_read?(*args)
|
107
|
+
(self.role_names &
|
108
|
+
['superuser','administrator','editor','interviewer','reader']
|
109
|
+
).length > 0
|
110
|
+
end
|
111
|
+
alias_method :may_view?, :may_read?
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
def may_view_user?(user=nil)
|
116
|
+
self.is_user?(user) || self.may_administrate?
|
117
|
+
end
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
def may_share_document?(document=nil)
|
123
|
+
document && (
|
124
|
+
self.is_administrator? ||
|
125
|
+
( document.owner && self == document.owner )
|
126
|
+
)
|
127
|
+
end
|
128
|
+
|
129
|
+
def may_view_document?(document=nil)
|
130
|
+
document
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
end
|
137
|
+
|
138
|
+
protected
|
139
|
+
|
140
|
+
end
|
141
|
+
|
142
|
+
end
|
143
|
+
end
|
144
|
+
ActiveRecord::Base.send( :include, Authorized::UserModel )
|
@@ -0,0 +1,40 @@
|
|
1
|
+
namespace :app do
|
2
|
+
|
3
|
+
# task :args_as_array do
|
4
|
+
# args = $*.dup.slice(1..-1)
|
5
|
+
# puts args.collect {|arg| "X:" << arg }.join("\n")
|
6
|
+
# exit
|
7
|
+
# end
|
8
|
+
|
9
|
+
desc "Add some expected users."
|
10
|
+
task :add_users => :environment do
|
11
|
+
puts "Adding users"
|
12
|
+
%w( 859908 228181 855747 214766 180918 66458 808 768475
|
13
|
+
10883 86094 754783 769067 854720 16647 ).each do |uid|
|
14
|
+
puts " - Adding user with uid:#{uid}:"
|
15
|
+
User.find_create_and_update_by_uid(uid)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
desc "Deputize user by UID"
|
20
|
+
task :deputize => :environment do
|
21
|
+
puts
|
22
|
+
if ENV['uid'].blank?
|
23
|
+
puts "User's CalNet UID required."
|
24
|
+
puts "Usage: rake #{$*} uid=INTEGER"
|
25
|
+
puts
|
26
|
+
exit
|
27
|
+
end
|
28
|
+
if !User.exists?(:uid => ENV['uid'])
|
29
|
+
puts "No user found with uid=#{ENV['uid']}."
|
30
|
+
puts
|
31
|
+
exit
|
32
|
+
end
|
33
|
+
user = User.find(:first, :conditions => { :uid => ENV['uid'] })
|
34
|
+
puts "Found user #{user.displayname}. Deputizing..."
|
35
|
+
user.deputize
|
36
|
+
puts "User deputized: #{user.is_administrator?}"
|
37
|
+
puts
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
namespace :db do
|
2
|
+
|
3
|
+
desc "Create yml fixtures for given model in database\n" <<
|
4
|
+
"rake db:extract_fixtures_from pages"
|
5
|
+
task :extract_fixtures_from => :environment do
|
6
|
+
me = $*.shift
|
7
|
+
while( table_name = $*.shift )
|
8
|
+
File.open("#{RAILS_ROOT}/db/#{table_name}.yml", 'w') do |file|
|
9
|
+
data = table_name.singularize.capitalize.constantize.find(
|
10
|
+
:all).collect(&:attributes)
|
11
|
+
file.write data.inject({}) { |hash, record|
|
12
|
+
record.delete('created_at')
|
13
|
+
record.delete('updated_at')
|
14
|
+
hash["#{table_name}_#{record['id']}"] = record
|
15
|
+
hash
|
16
|
+
}.to_yaml
|
17
|
+
end
|
18
|
+
end
|
19
|
+
exit
|
20
|
+
end
|
21
|
+
|
22
|
+
desc "Dump MYSQL table descriptions."
|
23
|
+
task :describe => :environment do
|
24
|
+
puts
|
25
|
+
puts "FYI: This task ONLY works on MYSQL databases."
|
26
|
+
puts
|
27
|
+
config = ActiveRecord::Base.connection.instance_variable_get(:@config)
|
28
|
+
#=> {:adapter=>"mysql", :host=>"localhost", :password=>nil, :username=>"root", :database=>"my_development", :encoding=>"utf8"}
|
29
|
+
|
30
|
+
tables = ActiveRecord::Base.connection.execute('show tables;')
|
31
|
+
while( table = tables.fetch_row ) do
|
32
|
+
puts "Table: #{table}"
|
33
|
+
|
34
|
+
# may have to include host and port
|
35
|
+
system("mysql --table=true " <<
|
36
|
+
"--user=#{config[:username]} " <<
|
37
|
+
"--password='#{config[:password]}' " <<
|
38
|
+
"--execute='describe #{table}' " <<
|
39
|
+
config[:database]);
|
40
|
+
|
41
|
+
#
|
42
|
+
# mysql formats the table well so doing it by hand is something that
|
43
|
+
# will have to wait until I feel like wasting my time
|
44
|
+
#
|
45
|
+
# columns = ActiveRecord::Base.connection.execute("describe #{table};")
|
46
|
+
# while( column = columns.fetch_hash ) do
|
47
|
+
# puts column.keys Extra Default Null Type Field Key
|
48
|
+
# end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
#
|
2
|
+
# This file has been copied from rails
|
3
|
+
# .../rails-2.3.5/lib/tasks/documentation.rake
|
4
|
+
# so that parts of it could be modified.
|
5
|
+
|
6
|
+
namespace :doc do |doc|
|
7
|
+
|
8
|
+
# Rake::RDocTask.new("app") { |rdoc|
|
9
|
+
#
|
10
|
+
# We cannot overwrite or override an RDoc rake task.
|
11
|
+
# Redefining it here actually creates another
|
12
|
+
# of the same name and both are run when
|
13
|
+
# `rake doc:app` is called. The Rakefile
|
14
|
+
# is modified to handle the modifications.
|
15
|
+
#
|
16
|
+
# Actually, that's not entirely true. This would
|
17
|
+
# add another task, but you can remove and override
|
18
|
+
# a task. The rdoc_rails plugin was overriding my
|
19
|
+
# override, which caused all the frustration!!!
|
20
|
+
#
|
21
|
+
# }
|
22
|
+
|
23
|
+
plugins = FileList['vendor/plugins/**'].collect { |plugin|
|
24
|
+
File.basename(plugin) }
|
25
|
+
|
26
|
+
namespace :plugins do
|
27
|
+
# Define doc tasks for each plugin
|
28
|
+
plugins.each do |plugin|
|
29
|
+
|
30
|
+
# clear rails' Rake::Task of the same name
|
31
|
+
Rake::Task[plugin].clear_actions
|
32
|
+
Rake::Task[plugin].clear_prerequisites
|
33
|
+
|
34
|
+
Rake::RDocTask.new(plugin) { |rdoc|
|
35
|
+
plugin_base = "vendor/plugins/#{plugin}"
|
36
|
+
ENV['format'] ||= 'railsfish'
|
37
|
+
rdoc.rdoc_dir = "doc/plugins/#{plugin}"
|
38
|
+
rdoc.template = ENV['template'] if ENV['template']
|
39
|
+
rdoc.title = "#{plugin.titlecase} Plugin Documentation"
|
40
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
41
|
+
rdoc.options << '--charset' << 'utf-8'
|
42
|
+
rdoc.options << '--format' << ENV['format']
|
43
|
+
rdoc.rdoc_files.include("#{plugin_base}/lib/**/*.rb")
|
44
|
+
rdoc.rdoc_files.include("#{plugin_base}/app/**/*.rb")
|
45
|
+
|
46
|
+
%w( README README.rdoc ).each do |readme|
|
47
|
+
if File.exist?("#{plugin_base}/#{readme}")
|
48
|
+
rdoc.main = "#{plugin_base}/#{readme}"
|
49
|
+
break
|
50
|
+
end
|
51
|
+
end
|
52
|
+
%w( TODO.org MIT-LICENSE LICENSE CHANGELOG README README.rdoc ).each do |possible_file|
|
53
|
+
if File.exist?("#{plugin_base}/#{possible_file}")
|
54
|
+
rdoc.rdoc_files.include("#{plugin_base}/#{possible_file}")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
}
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
task :parse_readme => :environment do
|
63
|
+
require 'rdoc/markup/to_html'
|
64
|
+
h = RDoc::Markup::ToHtml.new
|
65
|
+
puts h.convert( File.read('README.rdoc') )
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
data/lib/tasks/rcov.rake
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
#
|
2
|
+
# This is from Advanced Rails Recipes, page 277
|
3
|
+
#
|
4
|
+
namespace :test do
|
5
|
+
|
6
|
+
desc 'Tracks test coverage with rcov'
|
7
|
+
task :coverage do
|
8
|
+
rm_f "coverage"
|
9
|
+
rm_f "coverage.data"
|
10
|
+
|
11
|
+
unless PLATFORM['i386-mswin32']
|
12
|
+
rcov = "rcov --sort coverage --rails --aggregate coverage.data " <<
|
13
|
+
"--text-summary -Ilib -T " <<
|
14
|
+
"-x gems/*,db/migrate/*,jrails/*/*" <<
|
15
|
+
',\(eval\),\(recognize_optimized\),\(erb\)' << # needed in jruby
|
16
|
+
",yaml,yaml/*,lib/tmail/parser.y,jruby.jar!/*" << # needed in jruby
|
17
|
+
",html_test/*/*" <<
|
18
|
+
",html_test_extension/*/*"
|
19
|
+
else
|
20
|
+
rcov = "rcov.cmd --sort coverage --rails --aggregate " <<
|
21
|
+
"coverage.data --text-summary -Ilib -T"
|
22
|
+
end
|
23
|
+
|
24
|
+
dirs = Dir.glob("test/**/*_test.rb").collect{|f|File.dirname(f)}.uniq
|
25
|
+
lastdir = dirs.pop
|
26
|
+
dirs.each do |dir|
|
27
|
+
system("#{rcov} --no-html #{dir}/*_test.rb")
|
28
|
+
end
|
29
|
+
system("#{rcov} --html #{lastdir}/*_test.rb") unless lastdir.nil?
|
30
|
+
|
31
|
+
unless PLATFORM['i386-mswin32']
|
32
|
+
# jruby-1.5.0.RC1 > PLATFORM
|
33
|
+
# => "java"
|
34
|
+
# system("open coverage/index.html") if PLATFORM['darwin']
|
35
|
+
system("open coverage/index.html")
|
36
|
+
else
|
37
|
+
system("\"C:/Program Files/Mozilla Firefox/firefox.exe\" " +
|
38
|
+
"coverage/index.html")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
metadata
ADDED
@@ -0,0 +1,276 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jakewendt-authorized
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 19
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- George 'Jake' Wendt
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-10-25 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: i18n
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - "="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 29
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 3
|
33
|
+
- 7
|
34
|
+
version: 0.3.7
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rails
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 7
|
46
|
+
segments:
|
47
|
+
- 2
|
48
|
+
version: "2"
|
49
|
+
type: :runtime
|
50
|
+
version_requirements: *id002
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: activerecord
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
hash: 7
|
60
|
+
segments:
|
61
|
+
- 2
|
62
|
+
version: "2"
|
63
|
+
type: :runtime
|
64
|
+
version_requirements: *id003
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: activeresource
|
67
|
+
prerelease: false
|
68
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
70
|
+
requirements:
|
71
|
+
- - ~>
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
hash: 7
|
74
|
+
segments:
|
75
|
+
- 2
|
76
|
+
version: "2"
|
77
|
+
type: :runtime
|
78
|
+
version_requirements: *id004
|
79
|
+
- !ruby/object:Gem::Dependency
|
80
|
+
name: activesupport
|
81
|
+
prerelease: false
|
82
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ~>
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
hash: 7
|
88
|
+
segments:
|
89
|
+
- 2
|
90
|
+
version: "2"
|
91
|
+
type: :runtime
|
92
|
+
version_requirements: *id005
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: actionmailer
|
95
|
+
prerelease: false
|
96
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
hash: 7
|
102
|
+
segments:
|
103
|
+
- 2
|
104
|
+
version: "2"
|
105
|
+
type: :runtime
|
106
|
+
version_requirements: *id006
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
name: actionpack
|
109
|
+
prerelease: false
|
110
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ~>
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
hash: 7
|
116
|
+
segments:
|
117
|
+
- 2
|
118
|
+
version: "2"
|
119
|
+
type: :runtime
|
120
|
+
version_requirements: *id007
|
121
|
+
- !ruby/object:Gem::Dependency
|
122
|
+
name: jakewendt-rails_helpers
|
123
|
+
prerelease: false
|
124
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
125
|
+
none: false
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
hash: 3
|
130
|
+
segments:
|
131
|
+
- 0
|
132
|
+
version: "0"
|
133
|
+
type: :runtime
|
134
|
+
version_requirements: *id008
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: jakewendt-ruby_extension
|
137
|
+
prerelease: false
|
138
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
hash: 3
|
144
|
+
segments:
|
145
|
+
- 0
|
146
|
+
version: "0"
|
147
|
+
type: :runtime
|
148
|
+
version_requirements: *id009
|
149
|
+
- !ruby/object:Gem::Dependency
|
150
|
+
name: ryanb-acts-as-list
|
151
|
+
prerelease: false
|
152
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ">="
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
hash: 3
|
158
|
+
segments:
|
159
|
+
- 0
|
160
|
+
version: "0"
|
161
|
+
type: :runtime
|
162
|
+
version_requirements: *id010
|
163
|
+
- !ruby/object:Gem::Dependency
|
164
|
+
name: thoughtbot-factory_girl
|
165
|
+
prerelease: false
|
166
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
hash: 3
|
172
|
+
segments:
|
173
|
+
- 0
|
174
|
+
version: "0"
|
175
|
+
type: :runtime
|
176
|
+
version_requirements: *id011
|
177
|
+
- !ruby/object:Gem::Dependency
|
178
|
+
name: jakewendt-assert_this_and_that
|
179
|
+
prerelease: false
|
180
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
181
|
+
none: false
|
182
|
+
requirements:
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
hash: 3
|
186
|
+
segments:
|
187
|
+
- 0
|
188
|
+
version: "0"
|
189
|
+
type: :runtime
|
190
|
+
version_requirements: *id012
|
191
|
+
- !ruby/object:Gem::Dependency
|
192
|
+
name: jakewendt-calnet_authenticated
|
193
|
+
prerelease: false
|
194
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
195
|
+
none: false
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
hash: 3
|
200
|
+
segments:
|
201
|
+
- 0
|
202
|
+
version: "0"
|
203
|
+
type: :runtime
|
204
|
+
version_requirements: *id013
|
205
|
+
description: longer description of your gem
|
206
|
+
email: github@jake.otherinbox.com
|
207
|
+
executables: []
|
208
|
+
|
209
|
+
extensions: []
|
210
|
+
|
211
|
+
extra_rdoc_files:
|
212
|
+
- README.rdoc
|
213
|
+
files:
|
214
|
+
- app/controllers/roles_controller.rb
|
215
|
+
- app/models/role.rb
|
216
|
+
- config/routes.rb
|
217
|
+
- generators/authorized/USAGE
|
218
|
+
- generators/authorized/authorized_generator.rb
|
219
|
+
- generators/authorized/templates/functional/roles_controller_test.rb
|
220
|
+
- generators/authorized/templates/migrations/create_roles.rb
|
221
|
+
- generators/authorized/templates/migrations/create_roles_users.rb
|
222
|
+
- generators/authorized/templates/stylesheets/authorized.css
|
223
|
+
- generators/authorized/templates/unit/role_test.rb
|
224
|
+
- lib/authorized.rb
|
225
|
+
- lib/authorized/authorization.rb
|
226
|
+
- lib/authorized/controller.rb
|
227
|
+
- lib/authorized/core_extension.rb
|
228
|
+
- lib/authorized/factories.rb
|
229
|
+
- lib/authorized/factory_test_helper.rb
|
230
|
+
- lib/authorized/helper.rb
|
231
|
+
- lib/authorized/pending.rb
|
232
|
+
- lib/authorized/permissive_controller.rb
|
233
|
+
- lib/authorized/resourceful_controller.rb
|
234
|
+
- lib/authorized/tasks.rb
|
235
|
+
- lib/authorized/user_model.rb
|
236
|
+
- lib/tasks/application.rake
|
237
|
+
- lib/tasks/database.rake
|
238
|
+
- lib/tasks/documentation.rake
|
239
|
+
- lib/tasks/rcov.rake
|
240
|
+
- README.rdoc
|
241
|
+
has_rdoc: true
|
242
|
+
homepage: http://github.com/jakewendt/authorized
|
243
|
+
licenses: []
|
244
|
+
|
245
|
+
post_install_message:
|
246
|
+
rdoc_options:
|
247
|
+
- --charset=UTF-8
|
248
|
+
require_paths:
|
249
|
+
- lib
|
250
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
251
|
+
none: false
|
252
|
+
requirements:
|
253
|
+
- - ">="
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
hash: 3
|
256
|
+
segments:
|
257
|
+
- 0
|
258
|
+
version: "0"
|
259
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
260
|
+
none: false
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
hash: 3
|
265
|
+
segments:
|
266
|
+
- 0
|
267
|
+
version: "0"
|
268
|
+
requirements: []
|
269
|
+
|
270
|
+
rubyforge_project:
|
271
|
+
rubygems_version: 1.3.7
|
272
|
+
signing_key:
|
273
|
+
specification_version: 3
|
274
|
+
summary: one-line summary of your gem
|
275
|
+
test_files: []
|
276
|
+
|