cream 0.8.2 → 0.8.3
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/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.3
|
data/cream.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{cream}
|
8
|
-
s.version = "0.8.
|
8
|
+
s.version = "0.8.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kristian Mandrup"]
|
12
|
-
s.date = %q{2010-12-
|
12
|
+
s.date = %q{2010-12-20}
|
13
13
|
s.description = %q{Provides assistance for setting up Session, Role and Permission systems for a Rails 3 app. Support for multiple ORMs}
|
14
14
|
s.email = %q{kmandrup@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -86,7 +86,7 @@ module Cream
|
|
86
86
|
|
87
87
|
def run_devise
|
88
88
|
# rgen "devise:config --orm #{orm} --no-gems"
|
89
|
-
rgen "devise:config --orm #{orm}"
|
89
|
+
rgen "devise:config --orm #{orm} #{admin_user_option}"
|
90
90
|
rgen "devise:users --orm #{orm} #{admin_user_option} --no-gems"
|
91
91
|
end
|
92
92
|
|
@@ -95,11 +95,11 @@ module Cream
|
|
95
95
|
end
|
96
96
|
|
97
97
|
def run_roles
|
98
|
-
rgen "roles:config --orm #{orm} --roles #{
|
98
|
+
rgen "roles:config --orm #{orm} --roles #{roles_list} --strategy #{strategy}"
|
99
99
|
end
|
100
100
|
|
101
101
|
def run_permits
|
102
|
-
rgen "permits:config --orm #{orm} --roles #{
|
102
|
+
rgen "permits:config --orm #{orm} --roles #{roles_list} --no-gems"
|
103
103
|
end
|
104
104
|
|
105
105
|
def admin_user_option
|
@@ -115,7 +115,7 @@ module Cream
|
|
115
115
|
end
|
116
116
|
|
117
117
|
def orm
|
118
|
-
@orm ||= get_orm options[:orm].underscore.to_sym
|
118
|
+
@orm ||= get_orm options[:orm].to_s.underscore.to_sym
|
119
119
|
end
|
120
120
|
|
121
121
|
def valid_orms
|
@@ -146,6 +146,10 @@ module Cream
|
|
146
146
|
options[:default_roles]
|
147
147
|
end
|
148
148
|
|
149
|
+
def roles_list
|
150
|
+
roles.join(' ')
|
151
|
+
end
|
152
|
+
|
149
153
|
def roles
|
150
154
|
defaults = default_roles? ? ['guest', 'admin'] : []
|
151
155
|
options[:roles] + defaults
|
@@ -10,9 +10,10 @@ module Devise
|
|
10
10
|
desc "Configure Devise"
|
11
11
|
|
12
12
|
# ORM to use
|
13
|
-
class_option :orm,
|
14
|
-
class_option :logfile,
|
15
|
-
class_option :gems,
|
13
|
+
class_option :orm, :type => :string, :default => 'active_record', :desc => "ORM to use"
|
14
|
+
class_option :logfile, :type => :string, :default => nil, :desc => "Logfile location"
|
15
|
+
class_option :gems, :type => :boolean, :default => true, :desc => "Add gems to gemfile?"
|
16
|
+
class_option :admin_user, :type => :boolean, :default => false, :desc => "Setup for admin user"
|
16
17
|
|
17
18
|
def configure_devise
|
18
19
|
logger.add_logfile :logfile => logfile if logfile
|
@@ -23,7 +24,7 @@ module Devise
|
|
23
24
|
end
|
24
25
|
|
25
26
|
devise_install
|
26
|
-
[:orm, :mailer, :protection].each{|m| send(:"#{m}_configure!", orm) }
|
27
|
+
[:orm, :mailer, :protection, :routes].each{|m| send(:"#{m}_configure!", orm) }
|
27
28
|
end
|
28
29
|
|
29
30
|
protected
|
@@ -120,6 +121,22 @@ module Devise
|
|
120
121
|
end
|
121
122
|
end
|
122
123
|
|
124
|
+
def routes_configure!
|
125
|
+
insert_into_routes do
|
126
|
+
"devise_for #{model_routes}"
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
def admin_user?
|
131
|
+
options[:admin_user]
|
132
|
+
end
|
133
|
+
|
134
|
+
def model_routes
|
135
|
+
return ':users, :admins' if admin_user?
|
136
|
+
':users'
|
137
|
+
end
|
138
|
+
|
139
|
+
|
123
140
|
def protection_configure! orm
|
124
141
|
logger.debug "Configuring: devise authentication filter"
|
125
142
|
## Add Devise protection to Application controller:
|
@@ -22,7 +22,7 @@ module Permits
|
|
22
22
|
permits_gems if gems?
|
23
23
|
|
24
24
|
# Run permits generator to generate permit for each role
|
25
|
-
rgen "cancan:permits --roles #{
|
25
|
+
rgen "cancan:permits --roles #{roles_list} --orm #{orm}"
|
26
26
|
rgen "cancan:licenses"
|
27
27
|
end
|
28
28
|
|
@@ -55,6 +55,10 @@ module Permits
|
|
55
55
|
options[:roles]
|
56
56
|
end
|
57
57
|
|
58
|
+
def roles_list
|
59
|
+
roles.join(' ')
|
60
|
+
end
|
61
|
+
|
58
62
|
def orm
|
59
63
|
options[:orm]
|
60
64
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 8
|
8
|
-
-
|
9
|
-
version: 0.8.
|
8
|
+
- 3
|
9
|
+
version: 0.8.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Kristian Mandrup
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-12-
|
17
|
+
date: 2010-12-20 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|