cream 0.8.6 → 0.8.7
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.txt +6 -1
- data/Design Ideas.textile +463 -0
- data/Gemfile +1 -0
- data/README.textile +158 -34
- data/Rakefile +8 -7
- data/VERSION +1 -1
- data/app/views/cream/menu/_admin_login_items.html.erb +2 -2
- data/app/views/cream/menu/_login_items.html.erb +2 -2
- data/app/views/cream/menu/_registration_items.html.erb +2 -2
- data/config/locales/cream.da.yml +16 -0
- data/cream.gemspec +38 -27
- data/lib/cream.rb +1 -0
- data/lib/cream/configure/after_init/role_config.rb +25 -21
- data/lib/cream/configure/rails.rb +8 -5
- data/lib/cream/controller/application_controller.rb +22 -0
- data/lib/cream/helper/role.rb +102 -11
- data/lib/generators/cream/app/app_generator.rb +50 -26
- data/lib/generators/cream/full_config/full_config_generator.rb +44 -9
- data/lib/generators/cream/helpers/all.rb +1 -0
- data/lib/generators/cream/helpers/execute_helper.rb +0 -4
- data/lib/generators/cream/helpers/gemfile_helper.rb +28 -0
- data/lib/generators/cream/helpers/orm_helper.rb +6 -2
- data/lib/generators/cream/helpers/strategy_helper.rb +28 -0
- data/lib/generators/cream/views/haml_util.rb +3 -4
- data/lib/generators/cream/views/views_generator.rb +13 -13
- data/lib/generators/devise/config/app_helper.rb +1 -1
- data/lib/generators/devise/config/config_generator.rb +1 -3
- data/lib/generators/devise/config/{gem_helper.rb → gem_config_helper.rb} +0 -23
- data/lib/generators/devise/customize/customize_generator.rb +49 -0
- data/lib/generators/devise/customize/customize_messages.rb +52 -0
- data/lib/generators/devise/customize/helpers/query_customizers.rb +43 -0
- data/lib/generators/devise/customize/helpers/recover_login.rb +80 -0
- data/lib/generators/devise/customize/helpers/username_helper.rb +149 -0
- data/lib/generators/devise/users/users_generator.rb +1 -3
- data/lib/generators/permits/config/config_generator.rb +1 -3
- data/lib/generators/roles/config/config_generator.rb +26 -4
- data/sandbox/any_user.rb +98 -0
- data/{lib/generators → sandbox}/cream_refactor.rb +0 -0
- data/sandbox/str_test.rb +50 -0
- data/spec/cream/configure/rails_role_spec.rb +1 -1
- data/spec/cream/helper/role_spec.rb +71 -21
- data/wiki/Cream-generators-overview.textile +79 -0
- data/wiki/How to gollum wiki.txt +13 -0
- metadata +107 -72
- data/wiki/CONFIG_GENERATOR.txt +0 -21
- data/wiki/DESIGN.txt +0 -21
- data/wiki/INSTALLATION.txt +0 -6
- data/wiki/PERMITS.txt +0 -32
- data/wiki/ROLE_STRATEGIES.txt +0 -40
- data/wiki/SPEC_NOTES.txt +0 -6
- data/wiki/VIEWS_GENERATOR.txt +0 -35
- data/wiki/VIEW_HELPERS.txt +0 -162
data/Gemfile
CHANGED
data/README.textile
CHANGED
@@ -1,31 +1,78 @@
|
|
1
1
|
h1. Cream
|
2
2
|
|
3
|
-
This project aims to assist
|
4
|
-
Just run the *full_config* generator with arguments specifying: roles available, the role strategy to use and the ORM to target and you are set to go.
|
3
|
+
This project aims to assist in setting up a Rails 3 app with an integrated Authentication and Authorization solution for your ORM of choice.
|
5
4
|
|
6
|
-
|
5
|
+
Execute the *full_config* generator with arguments specifying:
|
6
|
+
|
7
|
+
* The User roles in the app
|
8
|
+
* The role strategy to use (both single and multiple roles for each user)
|
9
|
+
* ORM to use (Relational or Document based datastores)
|
10
|
+
|
11
|
+
The generator will do its magic to your app and (hopefully) you should be set to go with implementing the remainder of your app ;)
|
12
|
+
|
13
|
+
Cream targets smooth integration of the following main systems:
|
7
14
|
|
8
15
|
* "Devise":http://github.com/plataformatec/devise - Authentication
|
9
16
|
* "CanCan":http://github.com/ryanb/cancan - Authorization
|
10
|
-
* "Roles
|
17
|
+
* "Roles":http://github.com/kristianmandrup/roles_generic - Roles
|
18
|
+
|
19
|
+
Cream also uses "CanCan permits":http://github.com/kristianmandrup/cancan-permits to enable use of *Permits* and *Licenses*.
|
11
20
|
|
12
|
-
|
13
|
-
The gems *devise-links* and *cancan-rest-links* provide view helpers to facilitate working with authentication links and to enable REST links with permission logic.
|
14
|
-
Cream itself provides generators to easily configure your Rails 3 app with these gems and also includes various view and controller helpers to guard specific view and/or controller logic with permission requirements. Cream targets a set of common ORMs for Rails for Relational and Document based datastores.
|
21
|
+
The gems "devise-links":http://github.com/kristianmandrup/devise-links and "cancan-rest-links":http://github.com/kristianmandrup/cancan-rest-links provide helpers to facilitate working with authentication links and REST links with automatic execution of user permission logic!
|
15
22
|
|
16
|
-
|
23
|
+
Cream comes with a suite of specialized generators that should let you configure your Rails 3 app with these systems to a large degree.
|
17
24
|
|
18
|
-
|
25
|
+
h2. Objectives
|
26
|
+
|
27
|
+
* Integrate a set of widely accepted sub-systems for a fully integrated solution
|
19
28
|
* Provide generators that can auto-configure your Rails 3 app with these systems for a given ORM
|
20
29
|
|
21
|
-
|
30
|
+
h2. More info
|
31
|
+
|
32
|
+
For more information see the "Cream Wiki":https://github.com/kristianmandrup/cream/wiki, which includes overviews of the:
|
33
|
+
|
34
|
+
* "Roles read API":https://github.com/kristianmandrup/cream/wiki/Roles-Read-API and "Roles write API":https://github.com/kristianmandrup/cream/wiki/Roles-Read-API.
|
35
|
+
* Various "Cream APIs"::https://github.com/kristianmandrup/cream/wiki (helper methods to facilitate working with Users, Sessions, Roles and Permissions).
|
22
36
|
|
23
|
-
|
37
|
+
Please let me know of other areas that you think should be covered in the Wiki or on page.
|
38
|
+
|
39
|
+
h2. The magic behind the curtain...
|
40
|
+
|
41
|
+
Cream leverages an extensive "Tool suite":https://github.com/kristianmandrup/cream/wiki/Tool-suite-for-designing-powerful-generators-and-gems-for-Rails-3 I have created specifically to make it much easier/faster to create gems and generators for Rails 3 and spec/test them with RSpec 2, all using more natural DSLs and APIs.
|
42
|
+
If you look into the Cream code you can see extensive usage of this "magic" (especially in the generators).
|
24
43
|
|
25
44
|
h2. Cream user group
|
26
45
|
|
27
46
|
The "Cream user group":http://groups.google.com/group/rails-cream is a google group where you can ask Cream related questions, provide suggestions etc. to the Cream community.
|
28
47
|
|
48
|
+
h2. Inspiration and Ideas
|
49
|
+
|
50
|
+
_Tony Amoyal_ has written a two part series ("Part I":http://www.tonyamoyal.com/2010/07/28/rails-authentication-with-devise-and-cancan-customizing-devise-controllers/, "Part II":http://www.tonyamoyal.com/2010/09/29/rails-authentication-with-devise-and-cancan-part-2-restful-resources-for-administrators/) on how to setup a fully integrated Devise/CanCan solution with Roles. You might want to take a look at this for further customization needs. It might also provide food for thought for suggestions on improvements to the Cream framework ;) I have started work on a _devise:customize_ generator to facilitate some of these customization needs...
|
51
|
+
|
52
|
+
h3. Design ideas
|
53
|
+
|
54
|
+
Please see the "Design ideas":https://github.com/kristianmandrup/cream/wiki/Design-ideas section on the wiki for possible enhancements you might want to add and/or ideas for further improvments to the framework. Feel free to add your own suggestions and ideas!
|
55
|
+
|
56
|
+
h2. Cream edge, debugging and assisting developing the framework
|
57
|
+
|
58
|
+
Cream edge (directly from trunk or a feature branch), might have some extra goodies you could be interested in. To help develop Cream or use the edge version, just do:
|
59
|
+
|
60
|
+
<code>gem 'cream', :git => 'https://github.com/kristianmandrup/cream.git'</code>
|
61
|
+
|
62
|
+
Note: As a bonus you currently get access to a new *devise:customize* generator under development (Jan 7, 2011)
|
63
|
+
|
64
|
+
There is also a _:branch_ option to use a specific branch, fx a feature branch.
|
65
|
+
|
66
|
+
If you want to develop on Cream: <code>git clone https://github.com/kristianmandrup/cream.git</code>
|
67
|
+
|
68
|
+
Optionally switch to particular branch in your local cloned repo: <code>git checkout [feature branch]</code>
|
69
|
+
|
70
|
+
Then in your app, tell it to use your local version using the :_path_ option:
|
71
|
+
|
72
|
+
<code>gem 'cream', :path => 'path to your cloned cream'</code>
|
73
|
+
|
74
|
+
And you'll be ready to experiment, debug and add features from there :)
|
75
|
+
|
29
76
|
h2. Rails 3 demo apps with Cream
|
30
77
|
|
31
78
|
The following Rails 3 demo apps use Cream 0.7.7 and above and were created around Dec 1. 2010
|
@@ -38,6 +85,32 @@ h2. Authentication systems
|
|
38
85
|
|
39
86
|
Cream targets "Devise":http://github.com/plataformatec/devise as the Authentication system of choice
|
40
87
|
|
88
|
+
Devise Configuration options:
|
89
|
+
|
90
|
+
1. Database Authenticatable: encrypts and stores a password in the database to validate the authenticity of an user while signing in. The authentication can be done both through POST requests or HTTP Basic Authentication.
|
91
|
+
2. Token Authenticatable: signs in an user based on an authentication token (also known as “single access token”). The token can be given both through query string or HTTP Basic Authentication.
|
92
|
+
3. Oauthable: adds OAuth2 support
|
93
|
+
4. Confirmable: sends emails with confirmation instructions and verifies whether an account is already confirmed during sign in.
|
94
|
+
5. Recoverable: resets the user password and sends reset instructions.
|
95
|
+
6. Registerable: handles signing up users through a registration process, also allowing them to edit and destroy their account.
|
96
|
+
7. Rememberable: manages generating and clearing a token for remembering the user from a saved cookie.
|
97
|
+
8. Trackable: tracks sign in count, timestamps and IP address.
|
98
|
+
9. Timeoutable: expires sessions that have no activity in a specified period of time.
|
99
|
+
10. Validatable: provides validations of email and password. It’s optional and can be customized, so you’re able to define your own validations.
|
100
|
+
11. Lockable: locks an account after a specified number of failed sign-in attempts. Can unlock via email or after a specified time period.
|
101
|
+
|
102
|
+
Configuration is done using the _devise_ statement in the User class.
|
103
|
+
|
104
|
+
Example: Use _Confirmable_ and _Validatable_ devise options/strategies
|
105
|
+
|
106
|
+
<pre>
|
107
|
+
class User
|
108
|
+
devise :confirmable, :validatable
|
109
|
+
end
|
110
|
+
</pre>
|
111
|
+
|
112
|
+
Note: For Active Record your User table (via migration fx) must support the columns needed for the devise options you are using.
|
113
|
+
|
41
114
|
h3. Devise links
|
42
115
|
|
43
116
|
The project "devise links":http://github.com/kristianmandrup/devise-links adds more convenience for creating view links to trigger Devise session actions.
|
@@ -47,6 +120,8 @@ h2. Authorization system
|
|
47
120
|
There is support for the "CanCan":http://github.com/ryanb/cancan Authorization system.
|
48
121
|
I have created a "Cancan permits":http://github.com/kristianmandrup/cancan-permits gem that adds the concept of Permits for each role (see below).
|
49
122
|
|
123
|
+
Another framework of interest: "Aegis - The alternative Authorization solution":http://github.com/makandra/aegis
|
124
|
+
|
50
125
|
h2. Roles
|
51
126
|
|
52
127
|
I have developed a flexible "Roles Generic":http://github.com/kristianmandrup/roles_generic system which is used as the basis for the default Role system.
|
@@ -64,7 +139,40 @@ Any role system can be substituted as long as you have a method #has_role? on th
|
|
64
139
|
h3. Role Groups
|
65
140
|
|
66
141
|
Document DBs such as *Mongo* and *Riak* are ideal for modeling a role-group hierarchical relationship.
|
67
|
-
|
142
|
+
|
143
|
+
Currently Role groups are supported as class level methods on the User class using a class level in-memory hash map.
|
144
|
+
|
145
|
+
See "Roles Group API":https://github.com/kristianmandrup/roles_generic/wiki/Roles-Group-API
|
146
|
+
|
147
|
+
The Group API allows multiple roles to be grouped.
|
148
|
+
|
149
|
+
Example:
|
150
|
+
|
151
|
+
Say you have the _admin_ roles:
|
152
|
+
|
153
|
+
* Admin
|
154
|
+
* Super admin
|
155
|
+
|
156
|
+
And the _customer_ roles
|
157
|
+
|
158
|
+
* Individual customer
|
159
|
+
* Company customer
|
160
|
+
|
161
|
+
You might want to group them like this:
|
162
|
+
|
163
|
+
<pre>
|
164
|
+
User.add_role_group :customers => [:individual_customer, :company_customer]
|
165
|
+
User.add_role_group :admins => [:admin, :super_admin]
|
166
|
+
</pre>
|
167
|
+
|
168
|
+
Then you can handle any user with regards to his/her role group relationship like this:
|
169
|
+
|
170
|
+
<pre>
|
171
|
+
# do this only for users in the admin role group (user has either :admin or :super_admin role)
|
172
|
+
current_user.is_in_group? :admin do
|
173
|
+
...
|
174
|
+
end
|
175
|
+
</pre>
|
68
176
|
|
69
177
|
h2. ORMs
|
70
178
|
|
@@ -72,14 +180,14 @@ In general, it should now finally be pretty easy to set up a Rails 3 app, with a
|
|
72
180
|
|
73
181
|
Relational Databases:
|
74
182
|
|
75
|
-
*
|
76
|
-
*
|
183
|
+
* _Active Record_
|
184
|
+
* _Data Mapper_
|
77
185
|
|
78
186
|
Document stores:
|
79
187
|
|
80
|
-
*
|
81
|
-
*
|
82
|
-
*
|
188
|
+
* _Mongo Mapper_
|
189
|
+
* _Mongoid_
|
190
|
+
* _Couch DB_
|
83
191
|
|
84
192
|
These ORMs are also supported for the *CanCan Permits* and *Roles* systems.
|
85
193
|
|
@@ -127,8 +235,17 @@ For more advanced authorization scenarios you can create reusable permission log
|
|
127
235
|
|
128
236
|
See "CanCan permits demo app":https://github.com/kristianmandrup/cancan-permits-demo for an example of how to use cancan-permits and licenses.
|
129
237
|
|
238
|
+
h2. Role specific Customization of Routing and User classes
|
239
|
+
|
240
|
+
Please see "Customizing Routes and User classes for Roles":https://github.com/kristianmandrup/cream/wiki/Customizing-Routes-and-User-classes-for-Roles
|
241
|
+
|
242
|
+
The generator now generates initial Routes configuration for each role in order to facilitate Registration page customization for each role if needed.
|
243
|
+
A User subclass is now generated for each role by default in order to allow more User customization and for the above mentioned routing customization to function.
|
244
|
+
|
130
245
|
h2. Generators
|
131
246
|
|
247
|
+
Please see "Cream generators overview and walk-through":https://github.com/kristianmandrup/cream/wiki/Cream-generators-overview-and-walk-through for more details.
|
248
|
+
|
132
249
|
The following generators are currently available:
|
133
250
|
|
134
251
|
Main generator:
|
@@ -137,17 +254,23 @@ Main generator:
|
|
137
254
|
|
138
255
|
Config generators:
|
139
256
|
|
140
|
-
|
141
|
-
|
142
|
-
*
|
143
|
-
*
|
144
|
-
*
|
257
|
+
Devise (authentication)
|
258
|
+
|
259
|
+
* _devise:config_ - Configure Rails 3 application with Devise
|
260
|
+
* _devise:users_ - Configure Rails 3 application with Devise users
|
261
|
+
* _devise:customize_ - Customize devise configuration
|
262
|
+
|
263
|
+
Authorization incl. roles
|
264
|
+
|
265
|
+
* _cancan:config_ - Configures app with CanCan
|
266
|
+
* _permits:config_ - Configures app with CanCan Permits
|
267
|
+
* _roles:config_ - Configures app with Roles
|
145
268
|
|
146
269
|
Other generators:
|
147
270
|
|
148
|
-
*
|
149
|
-
*
|
150
|
-
*
|
271
|
+
* _cancan:restlinks_ - Create REST links locale file
|
272
|
+
* _devise:links_ - Create devise links locale file (should I rename this to authlinks?)
|
273
|
+
* _cream:views_ - Generates partials for menu items (outdated)
|
151
274
|
|
152
275
|
All the above generators have specs included in cream that demonstrate how to use them and should verify that they work as expected.
|
153
276
|
|
@@ -157,14 +280,13 @@ h3. Full Config Generator
|
|
157
280
|
|
158
281
|
Master cream generator which calls the sub-generators in succession.
|
159
282
|
|
160
|
-
*
|
161
|
-
*
|
162
|
-
*
|
163
|
-
* --roles : list of valid roles and permits to use
|
283
|
+
* strategy : role strategy to use (see *roles_generic* gem)
|
284
|
+
* orm : orm to be used
|
285
|
+
* roles : list of valid roles and permits to use
|
164
286
|
|
165
|
-
Example
|
287
|
+
Example:
|
166
288
|
|
167
|
-
<code>rails g cream:full_config --strategy admin_flag --
|
289
|
+
<code>rails g cream:full_config --strategy admin_flag --orm AR</code>
|
168
290
|
|
169
291
|
By default creates :guest and :admin roles.
|
170
292
|
|
@@ -180,10 +302,12 @@ Moves 'user menu' partials views into app/views/_user_menu
|
|
180
302
|
|
181
303
|
<code>rails g cream:views [scope] [--haml]</code>
|
182
304
|
|
183
|
-
* scope
|
184
|
-
*
|
305
|
+
* (scope) : The scope/namespace folder under views to copy the partials to, 'cream' is the default
|
306
|
+
* (haml) : Use HAML as template language (default is erb)
|
185
307
|
|
186
|
-
The *views* generator is based on a similar generator from the devise project.
|
308
|
+
The *views* generator is based on a similar generator from the devise project. The Views generator and partials have been updated (Jan 6, 2011).
|
309
|
+
The partials generated are useful for creating menu items for login/logout and registration.
|
310
|
+
The links are automatically displayed or hidden depending on the current state of the user.
|
187
311
|
|
188
312
|
h2. Note on Patches/Pull Requests
|
189
313
|
|
data/Rakefile
CHANGED
@@ -2,10 +2,10 @@ begin
|
|
2
2
|
require 'jeweler'
|
3
3
|
Jeweler::Tasks.new do |gem|
|
4
4
|
gem.name = "cream"
|
5
|
-
gem.summary = %Q{Integrates Devise,
|
6
|
-
gem.description = %Q{
|
5
|
+
gem.summary = %Q{Integrates Devise, CanCan with permits and Roles generic for multiple ORMs}
|
6
|
+
gem.description = %Q{An integrated Authentication, Authorization and Roles solution for your Rails 3 app with support for multiple ORMs}
|
7
7
|
gem.email = "kmandrup@gmail.com"
|
8
|
-
gem.homepage = "http://github.com/kristianmandrup/
|
8
|
+
gem.homepage = "http://github.com/kristianmandrup/cream"
|
9
9
|
gem.authors = ["Kristian Mandrup"]
|
10
10
|
|
11
11
|
gem.add_development_dependency "rspec", ">= 2.0.1"
|
@@ -16,16 +16,17 @@ begin
|
|
16
16
|
gem.add_development_dependency "roles-spec", ">= 0.1.3"
|
17
17
|
|
18
18
|
gem.add_dependency "require_all", "~> 1.2.0"
|
19
|
+
gem.add_dependency "colorize", ">= 0.5.8"
|
19
20
|
|
20
|
-
gem.add_dependency "devise-links", ">= 0.2.
|
21
|
-
gem.add_dependency "cancan-rest-links", ">= 0.2.
|
22
|
-
gem.add_dependency "cancan-permits", ">= 0.3.
|
21
|
+
gem.add_dependency "devise-links", ">= 0.2.1"
|
22
|
+
gem.add_dependency "cancan-rest-links", ">= 0.2.1"
|
23
|
+
gem.add_dependency "cancan-permits", ">= 0.3.7"
|
23
24
|
|
24
25
|
gem.add_dependency "devise", ">= 1.1.5"
|
25
26
|
gem.add_dependency "cancan", ">= 1.4.0"
|
26
27
|
gem.add_dependency "rails", ">= 3.0.1"
|
27
28
|
|
28
|
-
gem.add_dependency "rails3_artifactor", "~> 0.3.
|
29
|
+
gem.add_dependency "rails3_artifactor", "~> 0.3.2"
|
29
30
|
gem.add_dependency 'logging_assist', "~> 0.1.6"
|
30
31
|
|
31
32
|
gem.add_dependency "r3_plugin_toolbox", ">= 0.4.0"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.7
|
@@ -3,9 +3,9 @@
|
|
3
3
|
<%= link_to('Logout', destroy_admin_session_path) %>
|
4
4
|
</li>
|
5
5
|
<% end %>
|
6
|
-
<%
|
6
|
+
<% not_for_role :admin do %>
|
7
7
|
<li>
|
8
|
-
<%= link_to('
|
8
|
+
<%= link_to('Admin login', new_admin_session_path) %>
|
9
9
|
</li>
|
10
10
|
<% end %>
|
11
11
|
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<%
|
1
|
+
<% for_any_user :logged_in do %>
|
2
2
|
<li>
|
3
3
|
<%= link_to('Logout', destroy_user_session_path) %>
|
4
4
|
</li>
|
5
5
|
<% end %>
|
6
|
-
<%
|
6
|
+
<% for_any_user :not_logged_in do %>
|
7
7
|
<li>
|
8
8
|
<%= link_to('Login', new_user_session_path) %>
|
9
9
|
</li>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<%
|
1
|
+
<% for_any_user :logged_in do %>
|
2
2
|
<li>
|
3
3
|
<%= link_to('Edit registration', edit_user_registration_path) %>
|
4
4
|
</li>
|
5
5
|
<% end %>
|
6
|
-
<%
|
6
|
+
<% for_any_user :not_logged_in do %>
|
7
7
|
<li>
|
8
8
|
<%= link_to('Register', new_user_registration_path) %>
|
9
9
|
</li>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
en:
|
2
|
+
cream:
|
3
|
+
confirm: 'Er du sikker?'
|
4
|
+
actions:
|
5
|
+
rest:
|
6
|
+
index: "Indeks"
|
7
|
+
new: "Ny"
|
8
|
+
edit: "Rediger"
|
9
|
+
delete: "Slet"
|
10
|
+
show: "Vis"
|
11
|
+
auth:
|
12
|
+
sign_in: "Log ind"
|
13
|
+
sign_out: "Log ud"
|
14
|
+
sign_up: "Registrer"
|
15
|
+
edit_registration: "Rediger brugerdata"
|
16
|
+
|
data/cream.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
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.7"
|
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{2011-01-
|
13
|
-
s.description = %q{
|
12
|
+
s.date = %q{2011-01-09}
|
13
|
+
s.description = %q{An integrated Authentication, Authorization and Roles solution for your Rails 3 app with support for multiple ORMs}
|
14
14
|
s.email = %q{kmandrup@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
".document",
|
22
22
|
".rspec",
|
23
23
|
"Changelog.txt",
|
24
|
+
"Design Ideas.textile",
|
24
25
|
"Gemfile",
|
25
26
|
"LICENSE",
|
26
27
|
"README.textile",
|
@@ -29,6 +30,7 @@ Gem::Specification.new do |s|
|
|
29
30
|
"app/views/cream/menu/_admin_login_items.html.erb",
|
30
31
|
"app/views/cream/menu/_login_items.html.erb",
|
31
32
|
"app/views/cream/menu/_registration_items.html.erb",
|
33
|
+
"config/locales/cream.da.yml",
|
32
34
|
"config/locales/cream.en.yml",
|
33
35
|
"cream.gemspec",
|
34
36
|
"features/FEATURE_NOTES.txt",
|
@@ -40,6 +42,7 @@ Gem::Specification.new do |s|
|
|
40
42
|
"lib/cream/configure/after_init/role_config.rb",
|
41
43
|
"lib/cream/configure/rails.rb",
|
42
44
|
"lib/cream/controller/ability.rb",
|
45
|
+
"lib/cream/controller/application_controller.rb",
|
43
46
|
"lib/cream/helper/host.rb",
|
44
47
|
"lib/cream/helper/role.rb",
|
45
48
|
"lib/cream/namespaces.rb",
|
@@ -55,20 +58,28 @@ Gem::Specification.new do |s|
|
|
55
58
|
"lib/generators/cream/helpers/all.rb",
|
56
59
|
"lib/generators/cream/helpers/args_helper.rb",
|
57
60
|
"lib/generators/cream/helpers/execute_helper.rb",
|
61
|
+
"lib/generators/cream/helpers/gemfile_helper.rb",
|
58
62
|
"lib/generators/cream/helpers/orm_helper.rb",
|
59
63
|
"lib/generators/cream/helpers/strategy_helper.rb",
|
60
64
|
"lib/generators/cream/views/haml_util.rb",
|
61
65
|
"lib/generators/cream/views/views_generator.rb",
|
62
|
-
"lib/generators/cream_refactor.rb",
|
63
66
|
"lib/generators/devise/config/app_helper.rb",
|
64
67
|
"lib/generators/devise/config/config_generator.rb",
|
65
|
-
"lib/generators/devise/config/
|
68
|
+
"lib/generators/devise/config/gem_config_helper.rb",
|
69
|
+
"lib/generators/devise/customize/customize_generator.rb",
|
70
|
+
"lib/generators/devise/customize/customize_messages.rb",
|
71
|
+
"lib/generators/devise/customize/helpers/query_customizers.rb",
|
72
|
+
"lib/generators/devise/customize/helpers/recover_login.rb",
|
73
|
+
"lib/generators/devise/customize/helpers/username_helper.rb",
|
66
74
|
"lib/generators/devise/users/helper.rb",
|
67
75
|
"lib/generators/devise/users/routes_helper.rb",
|
68
76
|
"lib/generators/devise/users/users_generator.rb",
|
69
77
|
"lib/generators/permits/config/config_generator.rb",
|
70
78
|
"lib/generators/roles/config/config_generator.rb",
|
71
79
|
"log/development.log",
|
80
|
+
"sandbox/any_user.rb",
|
81
|
+
"sandbox/cream_refactor.rb",
|
82
|
+
"sandbox/str_test.rb",
|
72
83
|
"sandbox/test.rb",
|
73
84
|
"spec/configure_helper.rb",
|
74
85
|
"spec/cream/configure/rails_custom_roles_spec.rb",
|
@@ -88,19 +99,13 @@ Gem::Specification.new do |s|
|
|
88
99
|
"spec/generators/permits/config/permits_config_generator_spec.rb",
|
89
100
|
"spec/generators/roles/config/roles_config_generator_spec.rb",
|
90
101
|
"spec/spec_helper.rb",
|
91
|
-
"wiki/
|
92
|
-
"wiki/
|
93
|
-
"wiki/INSTALLATION.txt",
|
94
|
-
"wiki/PERMITS.txt",
|
95
|
-
"wiki/ROLE_STRATEGIES.txt",
|
96
|
-
"wiki/SPEC_NOTES.txt",
|
97
|
-
"wiki/VIEWS_GENERATOR.txt",
|
98
|
-
"wiki/VIEW_HELPERS.txt"
|
102
|
+
"wiki/Cream-generators-overview.textile",
|
103
|
+
"wiki/How to gollum wiki.txt"
|
99
104
|
]
|
100
|
-
s.homepage = %q{http://github.com/kristianmandrup/
|
105
|
+
s.homepage = %q{http://github.com/kristianmandrup/cream}
|
101
106
|
s.require_paths = ["lib"]
|
102
107
|
s.rubygems_version = %q{1.3.7}
|
103
|
-
s.summary = %q{Integrates Devise,
|
108
|
+
s.summary = %q{Integrates Devise, CanCan with permits and Roles generic for multiple ORMs}
|
104
109
|
s.test_files = [
|
105
110
|
"spec/configure_helper.rb",
|
106
111
|
"spec/cream/configure/rails_custom_roles_spec.rb",
|
@@ -131,6 +136,7 @@ Gem::Specification.new do |s|
|
|
131
136
|
s.add_runtime_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
|
132
137
|
s.add_runtime_dependency(%q<cancan-permits>, [">= 0.3.4"])
|
133
138
|
s.add_runtime_dependency(%q<require_all>, ["~> 1.2.0"])
|
139
|
+
s.add_runtime_dependency(%q<colorize>, [">= 0.5.8"])
|
134
140
|
s.add_runtime_dependency(%q<devise>, [">= 1.1.5"])
|
135
141
|
s.add_runtime_dependency(%q<cancan>, [">= 1.4.0"])
|
136
142
|
s.add_runtime_dependency(%q<rails>, [">= 3.0.1"])
|
@@ -145,13 +151,14 @@ Gem::Specification.new do |s|
|
|
145
151
|
s.add_development_dependency(%q<devise-spec>, [">= 0.1.3"])
|
146
152
|
s.add_development_dependency(%q<roles-spec>, [">= 0.1.3"])
|
147
153
|
s.add_runtime_dependency(%q<require_all>, ["~> 1.2.0"])
|
148
|
-
s.add_runtime_dependency(%q<
|
149
|
-
s.add_runtime_dependency(%q<
|
150
|
-
s.add_runtime_dependency(%q<cancan-
|
154
|
+
s.add_runtime_dependency(%q<colorize>, [">= 0.5.8"])
|
155
|
+
s.add_runtime_dependency(%q<devise-links>, [">= 0.2.1"])
|
156
|
+
s.add_runtime_dependency(%q<cancan-rest-links>, [">= 0.2.1"])
|
157
|
+
s.add_runtime_dependency(%q<cancan-permits>, [">= 0.3.7"])
|
151
158
|
s.add_runtime_dependency(%q<devise>, [">= 1.1.5"])
|
152
159
|
s.add_runtime_dependency(%q<cancan>, [">= 1.4.0"])
|
153
160
|
s.add_runtime_dependency(%q<rails>, [">= 3.0.1"])
|
154
|
-
s.add_runtime_dependency(%q<rails3_artifactor>, ["~> 0.3.
|
161
|
+
s.add_runtime_dependency(%q<rails3_artifactor>, ["~> 0.3.2"])
|
155
162
|
s.add_runtime_dependency(%q<logging_assist>, ["~> 0.1.6"])
|
156
163
|
s.add_runtime_dependency(%q<r3_plugin_toolbox>, [">= 0.4.0"])
|
157
164
|
s.add_runtime_dependency(%q<sugar-high>, ["~> 0.3.1"])
|
@@ -160,6 +167,7 @@ Gem::Specification.new do |s|
|
|
160
167
|
s.add_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
|
161
168
|
s.add_dependency(%q<cancan-permits>, [">= 0.3.4"])
|
162
169
|
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
170
|
+
s.add_dependency(%q<colorize>, [">= 0.5.8"])
|
163
171
|
s.add_dependency(%q<devise>, [">= 1.1.5"])
|
164
172
|
s.add_dependency(%q<cancan>, [">= 1.4.0"])
|
165
173
|
s.add_dependency(%q<rails>, [">= 3.0.1"])
|
@@ -174,13 +182,14 @@ Gem::Specification.new do |s|
|
|
174
182
|
s.add_dependency(%q<devise-spec>, [">= 0.1.3"])
|
175
183
|
s.add_dependency(%q<roles-spec>, [">= 0.1.3"])
|
176
184
|
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
177
|
-
s.add_dependency(%q<
|
178
|
-
s.add_dependency(%q<
|
179
|
-
s.add_dependency(%q<cancan-
|
185
|
+
s.add_dependency(%q<colorize>, [">= 0.5.8"])
|
186
|
+
s.add_dependency(%q<devise-links>, [">= 0.2.1"])
|
187
|
+
s.add_dependency(%q<cancan-rest-links>, [">= 0.2.1"])
|
188
|
+
s.add_dependency(%q<cancan-permits>, [">= 0.3.7"])
|
180
189
|
s.add_dependency(%q<devise>, [">= 1.1.5"])
|
181
190
|
s.add_dependency(%q<cancan>, [">= 1.4.0"])
|
182
191
|
s.add_dependency(%q<rails>, [">= 3.0.1"])
|
183
|
-
s.add_dependency(%q<rails3_artifactor>, ["~> 0.3.
|
192
|
+
s.add_dependency(%q<rails3_artifactor>, ["~> 0.3.2"])
|
184
193
|
s.add_dependency(%q<logging_assist>, ["~> 0.1.6"])
|
185
194
|
s.add_dependency(%q<r3_plugin_toolbox>, [">= 0.4.0"])
|
186
195
|
s.add_dependency(%q<sugar-high>, ["~> 0.3.1"])
|
@@ -190,6 +199,7 @@ Gem::Specification.new do |s|
|
|
190
199
|
s.add_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
|
191
200
|
s.add_dependency(%q<cancan-permits>, [">= 0.3.4"])
|
192
201
|
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
202
|
+
s.add_dependency(%q<colorize>, [">= 0.5.8"])
|
193
203
|
s.add_dependency(%q<devise>, [">= 1.1.5"])
|
194
204
|
s.add_dependency(%q<cancan>, [">= 1.4.0"])
|
195
205
|
s.add_dependency(%q<rails>, [">= 3.0.1"])
|
@@ -204,13 +214,14 @@ Gem::Specification.new do |s|
|
|
204
214
|
s.add_dependency(%q<devise-spec>, [">= 0.1.3"])
|
205
215
|
s.add_dependency(%q<roles-spec>, [">= 0.1.3"])
|
206
216
|
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
207
|
-
s.add_dependency(%q<
|
208
|
-
s.add_dependency(%q<
|
209
|
-
s.add_dependency(%q<cancan-
|
217
|
+
s.add_dependency(%q<colorize>, [">= 0.5.8"])
|
218
|
+
s.add_dependency(%q<devise-links>, [">= 0.2.1"])
|
219
|
+
s.add_dependency(%q<cancan-rest-links>, [">= 0.2.1"])
|
220
|
+
s.add_dependency(%q<cancan-permits>, [">= 0.3.7"])
|
210
221
|
s.add_dependency(%q<devise>, [">= 1.1.5"])
|
211
222
|
s.add_dependency(%q<cancan>, [">= 1.4.0"])
|
212
223
|
s.add_dependency(%q<rails>, [">= 3.0.1"])
|
213
|
-
s.add_dependency(%q<rails3_artifactor>, ["~> 0.3.
|
224
|
+
s.add_dependency(%q<rails3_artifactor>, ["~> 0.3.2"])
|
214
225
|
s.add_dependency(%q<logging_assist>, ["~> 0.1.6"])
|
215
226
|
s.add_dependency(%q<r3_plugin_toolbox>, [">= 0.4.0"])
|
216
227
|
s.add_dependency(%q<sugar-high>, ["~> 0.3.1"])
|