cream 0.8.6 → 0.8.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/Changelog.txt +6 -1
  2. data/Design Ideas.textile +463 -0
  3. data/Gemfile +1 -0
  4. data/README.textile +158 -34
  5. data/Rakefile +8 -7
  6. data/VERSION +1 -1
  7. data/app/views/cream/menu/_admin_login_items.html.erb +2 -2
  8. data/app/views/cream/menu/_login_items.html.erb +2 -2
  9. data/app/views/cream/menu/_registration_items.html.erb +2 -2
  10. data/config/locales/cream.da.yml +16 -0
  11. data/cream.gemspec +38 -27
  12. data/lib/cream.rb +1 -0
  13. data/lib/cream/configure/after_init/role_config.rb +25 -21
  14. data/lib/cream/configure/rails.rb +8 -5
  15. data/lib/cream/controller/application_controller.rb +22 -0
  16. data/lib/cream/helper/role.rb +102 -11
  17. data/lib/generators/cream/app/app_generator.rb +50 -26
  18. data/lib/generators/cream/full_config/full_config_generator.rb +44 -9
  19. data/lib/generators/cream/helpers/all.rb +1 -0
  20. data/lib/generators/cream/helpers/execute_helper.rb +0 -4
  21. data/lib/generators/cream/helpers/gemfile_helper.rb +28 -0
  22. data/lib/generators/cream/helpers/orm_helper.rb +6 -2
  23. data/lib/generators/cream/helpers/strategy_helper.rb +28 -0
  24. data/lib/generators/cream/views/haml_util.rb +3 -4
  25. data/lib/generators/cream/views/views_generator.rb +13 -13
  26. data/lib/generators/devise/config/app_helper.rb +1 -1
  27. data/lib/generators/devise/config/config_generator.rb +1 -3
  28. data/lib/generators/devise/config/{gem_helper.rb → gem_config_helper.rb} +0 -23
  29. data/lib/generators/devise/customize/customize_generator.rb +49 -0
  30. data/lib/generators/devise/customize/customize_messages.rb +52 -0
  31. data/lib/generators/devise/customize/helpers/query_customizers.rb +43 -0
  32. data/lib/generators/devise/customize/helpers/recover_login.rb +80 -0
  33. data/lib/generators/devise/customize/helpers/username_helper.rb +149 -0
  34. data/lib/generators/devise/users/users_generator.rb +1 -3
  35. data/lib/generators/permits/config/config_generator.rb +1 -3
  36. data/lib/generators/roles/config/config_generator.rb +26 -4
  37. data/sandbox/any_user.rb +98 -0
  38. data/{lib/generators → sandbox}/cream_refactor.rb +0 -0
  39. data/sandbox/str_test.rb +50 -0
  40. data/spec/cream/configure/rails_role_spec.rb +1 -1
  41. data/spec/cream/helper/role_spec.rb +71 -21
  42. data/wiki/Cream-generators-overview.textile +79 -0
  43. data/wiki/How to gollum wiki.txt +13 -0
  44. metadata +107 -72
  45. data/wiki/CONFIG_GENERATOR.txt +0 -21
  46. data/wiki/DESIGN.txt +0 -21
  47. data/wiki/INSTALLATION.txt +0 -6
  48. data/wiki/PERMITS.txt +0 -32
  49. data/wiki/ROLE_STRATEGIES.txt +0 -40
  50. data/wiki/SPEC_NOTES.txt +0 -6
  51. data/wiki/VIEWS_GENERATOR.txt +0 -35
  52. data/wiki/VIEW_HELPERS.txt +0 -162
data/Gemfile CHANGED
@@ -8,6 +8,7 @@ group :default do
8
8
 
9
9
  gem "require_all", "~> 1.2.0"
10
10
 
11
+ gem "colorize", ">= 0.5.8"
11
12
  gem "devise", ">= 1.1.5"
12
13
  gem "cancan", ">= 1.4.0"
13
14
  gem "rails", ">= 3.0.1"
data/README.textile CHANGED
@@ -1,31 +1,78 @@
1
1
  h1. Cream
2
2
 
3
- This project aims to assist you in setting up a complete Authentication and Authorization system for your Rails 3 app and supports multiple ORMs.
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
- Cream targets smooth integration of the following systems:
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 Generic":http://github.com/kristianmandrup/roles_generic - 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
- For more advanced Authorization configuration, cream uses *cancan-permits* to enable use of *Permits* and *Licenses*.
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
- The objectives of this project:
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
- * Integrate all these sub-systems
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
- For more information also see the "Cream Wiki":https://github.com/kristianmandrup/cream/wiki, which includes Cream status notes and a complete listing and usage examples of the latest *Roles Generic API*. The wiki also contains an overview of the full Cream API, which contains various helper methods to facilitate working with Users, Sessions, Roles and Permissions in both your views and controllers. Please let me know of other areas that you think should be covered in the Wiki or on this main page ;)
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
- _Note_: Cream leverages an extensive set of framework components I have created specifically to make it much easier/faster to create Rails 3 plugins and spec/test them, using more natural DSLs. Look into the code to see the magic!
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
- Role-Group support is planned as a future add-on for the roles strategies integration. (Any assistance appreciated!)
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
- * Active Record
76
- * Data Mapper
183
+ * _Active Record_
184
+ * _Data Mapper_
77
185
 
78
186
  Document stores:
79
187
 
80
- * Mongo Mapper
81
- * Mongoid
82
- * Couch DB
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
- * devise:config - Configure Rails 3 application with Devise
141
- * devise:users - Configure Rails 3 application with Devise users
142
- * cancan:config - Configures app with CanCan
143
- * permits:config - Configures app with CanCan Permits
144
- * roles:config - Configures app with Roles
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
- * cancan:restlinks - Create REST links locale file
149
- * devise:links - Create devise links locale file (should I rename this to authlinks?)
150
- * cream:views - Generates partials for menu items (outdated)
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
- * --strategy : role strategy to use (see *roles_generic* gem)
161
- * --admin-user : create admin user model with separate devise configuration
162
- * --orm : orm to be used
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 --admin-user --orm AR</code>
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 : The scope folder under views to copy the partials to, fx 'admin'
184
- * --haml : Use HAML as template language
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. This generator might be removed in the near future, as the menu items would make more sense as simple view helpers (suggestions welcome).
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, Roles and CanCan with Permits for a Rails 3 app}
6
- gem.description = %Q{Provides assistance for setting up Session, Role and Permission systems for a Rails 3 app. Support for multiple ORMs}
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/devise-assistant"
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.0"
21
- gem.add_dependency "cancan-rest-links", ">= 0.2.0"
22
- gem.add_dependency "cancan-permits", ">= 0.3.2"
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.1"
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.6
1
+ 0.8.7
@@ -3,9 +3,9 @@
3
3
  <%= link_to('Logout', destroy_admin_session_path) %>
4
4
  </li>
5
5
  <% end %>
6
- <% for_role :admin, false do %>
6
+ <% not_for_role :admin do %>
7
7
  <li>
8
- <%= link_to('Login', new_admin_session_path) %>
8
+ <%= link_to('Admin login', new_admin_session_path) %>
9
9
  </li>
10
10
  <% end %>
11
11
 
@@ -1,9 +1,9 @@
1
- <% for_role :user do %>
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
- <% for_role :user, false do %>
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
- <% for_role :user do %>
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
- <% for_role :admin, false do %>
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.6"
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-04}
13
- s.description = %q{Provides assistance for setting up Session, Role and Permission systems for a Rails 3 app. Support for multiple ORMs}
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/gem_helper.rb",
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/CONFIG_GENERATOR.txt",
92
- "wiki/DESIGN.txt",
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/devise-assistant}
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, Roles and CanCan with Permits for a Rails 3 app}
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<devise-links>, [">= 0.2.0"])
149
- s.add_runtime_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
150
- s.add_runtime_dependency(%q<cancan-permits>, [">= 0.3.2"])
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.1"])
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<devise-links>, [">= 0.2.0"])
178
- s.add_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
179
- s.add_dependency(%q<cancan-permits>, [">= 0.3.2"])
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.1"])
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<devise-links>, [">= 0.2.0"])
208
- s.add_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
209
- s.add_dependency(%q<cancan-permits>, [">= 0.3.2"])
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.1"])
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"])