cream 0.7.8 → 0.7.10
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.markdown +14 -6
- data/Rakefile +2 -0
- data/VERSION +1 -1
- data/cream.gemspec +7 -1
- data/lib/generators/cream/full_config/full_config_generator.rb +12 -1
- data/lib/generators/devise/config/config_generator.rb +10 -13
- metadata +54 -24
data/README.markdown
CHANGED
@@ -18,14 +18,18 @@ The objective of this project is to
|
|
18
18
|
* Provide generators that can auto-configure your Rails 3 app with these sub-systems for a given ORM
|
19
19
|
|
20
20
|
_UPDATE_: 1. Dec 2010
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
Rhe 'full_config' generator ha snow been tested in a fresh Rails 3.0.3 app and works with the following orms:
|
22
|
+
* active_record
|
23
|
+
* mongoid
|
24
24
|
|
25
|
-
|
25
|
+
I will shortly go through the other ORMs and create Rails 3 demo apps for each with instructions.
|
26
26
|
|
27
|
-
|
28
|
-
|
27
|
+
## Rails 3 demo apps with Cream
|
28
|
+
|
29
|
+
The following Rails 3 demo apps use Cream 0.7.7 and above and were created Dec 1. 2010
|
30
|
+
|
31
|
+
* [Cream app with Active Record](https://github.com/kristianmandrup/cream-app-active_record)
|
32
|
+
* [Cream app with Mongoid](https://github.com/kristianmandrup/cream-app-mongoid)
|
29
33
|
|
30
34
|
## Status
|
31
35
|
|
@@ -118,6 +122,10 @@ Role strategies can be set up using the [Roles Generic](http://github.com/kristi
|
|
118
122
|
* Mongoid
|
119
123
|
* Couch DB (via SimplyStored)
|
120
124
|
|
125
|
+
_Note_:
|
126
|
+
Roles for SimplyStored is "shaky" and works only with the admin_flag strategy. I won't develop more on this particular ORM adapter until requested to do so.
|
127
|
+
If you need to use Roles with Couch DB, please help implement this adapter, maybe using another (better?) object-mapping solution for Couch DB.
|
128
|
+
|
121
129
|
### Update
|
122
130
|
|
123
131
|
The Role systems all ORMs (except SimplyStored which is in progress) have recently been upgraded to take advantage of a new Roles Generic API and archictecture.
|
data/Rakefile
CHANGED
@@ -12,6 +12,8 @@ begin
|
|
12
12
|
gem.add_development_dependency "generator-spec", ">= 0.7.0"
|
13
13
|
gem.add_development_dependency "rspec-action_view", ">= 0.3.1"
|
14
14
|
gem.add_development_dependency "rails-app-spec", ">= 0.3.0"
|
15
|
+
gem.add_development_dependency "devise-spec", ">= 0.1.3"
|
16
|
+
gem.add_development_dependency "roles-spec", ">= 0.1.3"
|
15
17
|
|
16
18
|
gem.add_dependency "require_all", "~> 1.2.0"
|
17
19
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.10
|
data/cream.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{cream}
|
8
|
-
s.version = "0.7.
|
8
|
+
s.version = "0.7.10"
|
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"]
|
@@ -133,6 +133,8 @@ Gem::Specification.new do |s|
|
|
133
133
|
s.add_development_dependency(%q<generator-spec>, [">= 0.7.0"])
|
134
134
|
s.add_development_dependency(%q<rspec-action_view>, [">= 0.3.1"])
|
135
135
|
s.add_development_dependency(%q<rails-app-spec>, [">= 0.3.0"])
|
136
|
+
s.add_development_dependency(%q<devise-spec>, [">= 0.1.3"])
|
137
|
+
s.add_development_dependency(%q<roles-spec>, [">= 0.1.3"])
|
136
138
|
s.add_runtime_dependency(%q<require_all>, ["~> 1.2.0"])
|
137
139
|
s.add_runtime_dependency(%q<devise-links>, [">= 0.2.0"])
|
138
140
|
s.add_runtime_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
|
@@ -160,6 +162,8 @@ Gem::Specification.new do |s|
|
|
160
162
|
s.add_dependency(%q<generator-spec>, [">= 0.7.0"])
|
161
163
|
s.add_dependency(%q<rspec-action_view>, [">= 0.3.1"])
|
162
164
|
s.add_dependency(%q<rails-app-spec>, [">= 0.3.0"])
|
165
|
+
s.add_dependency(%q<devise-spec>, [">= 0.1.3"])
|
166
|
+
s.add_dependency(%q<roles-spec>, [">= 0.1.3"])
|
163
167
|
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
164
168
|
s.add_dependency(%q<devise-links>, [">= 0.2.0"])
|
165
169
|
s.add_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
|
@@ -188,6 +192,8 @@ Gem::Specification.new do |s|
|
|
188
192
|
s.add_dependency(%q<generator-spec>, [">= 0.7.0"])
|
189
193
|
s.add_dependency(%q<rspec-action_view>, [">= 0.3.1"])
|
190
194
|
s.add_dependency(%q<rails-app-spec>, [">= 0.3.0"])
|
195
|
+
s.add_dependency(%q<devise-spec>, [">= 0.1.3"])
|
196
|
+
s.add_dependency(%q<roles-spec>, [">= 0.1.3"])
|
191
197
|
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
192
198
|
s.add_dependency(%q<devise-links>, [">= 0.2.0"])
|
193
199
|
s.add_dependency(%q<cancan-rest-links>, [">= 0.2.0"])
|
@@ -26,11 +26,13 @@ module Cream
|
|
26
26
|
|
27
27
|
class_option :configure, :type => :array, :default => [], :desc => "Which generators to run"
|
28
28
|
class_option :gems, :type => :boolean, :default => true, :desc => "Add gems to gemfile?"
|
29
|
+
class_option :migrations, :type => :boolean, :default => false, :desc => "Autorun database migrations?", :aliases => '-m'
|
29
30
|
|
30
31
|
def main_flow
|
31
32
|
cream_initializer
|
32
33
|
cream_gems if gems?
|
33
|
-
run_generators
|
34
|
+
run_generators
|
35
|
+
run_migrations if run_migrations?
|
34
36
|
end
|
35
37
|
|
36
38
|
# -----------------
|
@@ -41,6 +43,10 @@ module Cream
|
|
41
43
|
|
42
44
|
use_helpers :app, :special, :file
|
43
45
|
|
46
|
+
def run_migrations?
|
47
|
+
options[:migrations]
|
48
|
+
end
|
49
|
+
|
44
50
|
def logfile
|
45
51
|
options[:logfile]
|
46
52
|
end
|
@@ -59,6 +65,11 @@ module Cream
|
|
59
65
|
run_permits if configures.include? :permits
|
60
66
|
end
|
61
67
|
|
68
|
+
def run_migrations
|
69
|
+
return if orm != 'active_record'
|
70
|
+
execute "rake db:migrate"
|
71
|
+
end
|
72
|
+
|
62
73
|
def run_app
|
63
74
|
rgen "cream:app --orm #{orm}"
|
64
75
|
end
|
@@ -64,38 +64,39 @@ module Devise
|
|
64
64
|
rgen 'devise:install'
|
65
65
|
end
|
66
66
|
|
67
|
-
def bundle_install
|
68
|
-
# run "bundle install #{gems.join(' ')}"
|
67
|
+
def bundle_install
|
69
68
|
run "bundle install"
|
70
69
|
end
|
71
70
|
|
71
|
+
def gems_mongo_db
|
72
|
+
add_gem 'bson_ext', '1.1.4'
|
73
|
+
end
|
74
|
+
|
72
75
|
def devise_gems
|
73
76
|
say "Configuring devise gems for #{orm}", :green
|
74
77
|
add_gem 'devise'
|
75
78
|
|
76
|
-
orm_gem = nil
|
77
79
|
# Devise ORM integration
|
78
80
|
case orm.to_sym
|
79
81
|
when :mongoid
|
80
82
|
say "Please configure Devise for Mongoid similar to Rails 3 example app: http://github.com/fortuity/rails3-mongoid-devise"
|
81
83
|
add_gem 'mongoid', '2.0.0.beta.19'
|
82
|
-
|
83
|
-
# copy_mongoid_config
|
84
|
+
gems_mongo_db
|
84
85
|
when :mongo_mapper
|
85
|
-
orm_gem = 'mm-devise'
|
86
86
|
add_gem 'mm-devise'
|
87
|
+
gems_mongo_db
|
87
88
|
when :data_mapper
|
88
|
-
orm_gem = 'dm-devise'
|
89
89
|
add_gem 'dm-devise'
|
90
90
|
when :couch_db
|
91
|
-
orm_gem = 'devise_couch'
|
92
91
|
add_gem 'devise_couch'
|
93
92
|
say "Please note that Couch DB does not currently have a Roles implementation. Feel free to provide one."
|
94
93
|
say "Look at Roles DataMapper (roles_data_mapper) for an example ;)"
|
95
94
|
else
|
96
95
|
say "Orm #{orm} is not currently supported by Cream. You are most welcome to provide a Cream adapter for that ORM ;)"
|
97
96
|
end
|
98
|
-
|
97
|
+
clean_gemfile
|
98
|
+
|
99
|
+
bundle_install
|
99
100
|
if orm.to_sym == :mongoid
|
100
101
|
rgen 'mongoid:config'
|
101
102
|
rgen "devise mongoid"
|
@@ -160,10 +161,6 @@ module Devise
|
|
160
161
|
end
|
161
162
|
end
|
162
163
|
|
163
|
-
# def copy_mongoid_config
|
164
|
-
# file File.dirname(__FILE__) + '/mongoid.yml', 'config/mongoid.yml'
|
165
|
-
# end
|
166
|
-
|
167
164
|
def gems?
|
168
165
|
options[:gems]
|
169
166
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 7
|
8
|
-
-
|
9
|
-
version: 0.7.
|
8
|
+
- 10
|
9
|
+
version: 0.7.10
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Kristian Mandrup
|
@@ -243,8 +243,38 @@ dependencies:
|
|
243
243
|
prerelease: false
|
244
244
|
version_requirements: *id015
|
245
245
|
- !ruby/object:Gem::Dependency
|
246
|
-
name:
|
246
|
+
name: devise-spec
|
247
247
|
requirement: &id016 !ruby/object:Gem::Requirement
|
248
|
+
none: false
|
249
|
+
requirements:
|
250
|
+
- - ">="
|
251
|
+
- !ruby/object:Gem::Version
|
252
|
+
segments:
|
253
|
+
- 0
|
254
|
+
- 1
|
255
|
+
- 3
|
256
|
+
version: 0.1.3
|
257
|
+
type: :development
|
258
|
+
prerelease: false
|
259
|
+
version_requirements: *id016
|
260
|
+
- !ruby/object:Gem::Dependency
|
261
|
+
name: roles-spec
|
262
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
263
|
+
none: false
|
264
|
+
requirements:
|
265
|
+
- - ">="
|
266
|
+
- !ruby/object:Gem::Version
|
267
|
+
segments:
|
268
|
+
- 0
|
269
|
+
- 1
|
270
|
+
- 3
|
271
|
+
version: 0.1.3
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: *id017
|
275
|
+
- !ruby/object:Gem::Dependency
|
276
|
+
name: require_all
|
277
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
248
278
|
none: false
|
249
279
|
requirements:
|
250
280
|
- - ~>
|
@@ -256,10 +286,10 @@ dependencies:
|
|
256
286
|
version: 1.2.0
|
257
287
|
type: :runtime
|
258
288
|
prerelease: false
|
259
|
-
version_requirements: *
|
289
|
+
version_requirements: *id018
|
260
290
|
- !ruby/object:Gem::Dependency
|
261
291
|
name: devise-links
|
262
|
-
requirement: &
|
292
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
263
293
|
none: false
|
264
294
|
requirements:
|
265
295
|
- - ">="
|
@@ -271,10 +301,10 @@ dependencies:
|
|
271
301
|
version: 0.2.0
|
272
302
|
type: :runtime
|
273
303
|
prerelease: false
|
274
|
-
version_requirements: *
|
304
|
+
version_requirements: *id019
|
275
305
|
- !ruby/object:Gem::Dependency
|
276
306
|
name: cancan-rest-links
|
277
|
-
requirement: &
|
307
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
278
308
|
none: false
|
279
309
|
requirements:
|
280
310
|
- - ">="
|
@@ -286,10 +316,10 @@ dependencies:
|
|
286
316
|
version: 0.2.0
|
287
317
|
type: :runtime
|
288
318
|
prerelease: false
|
289
|
-
version_requirements: *
|
319
|
+
version_requirements: *id020
|
290
320
|
- !ruby/object:Gem::Dependency
|
291
321
|
name: cancan-permits
|
292
|
-
requirement: &
|
322
|
+
requirement: &id021 !ruby/object:Gem::Requirement
|
293
323
|
none: false
|
294
324
|
requirements:
|
295
325
|
- - ">="
|
@@ -301,10 +331,10 @@ dependencies:
|
|
301
331
|
version: 0.3.2
|
302
332
|
type: :runtime
|
303
333
|
prerelease: false
|
304
|
-
version_requirements: *
|
334
|
+
version_requirements: *id021
|
305
335
|
- !ruby/object:Gem::Dependency
|
306
336
|
name: devise
|
307
|
-
requirement: &
|
337
|
+
requirement: &id022 !ruby/object:Gem::Requirement
|
308
338
|
none: false
|
309
339
|
requirements:
|
310
340
|
- - ">="
|
@@ -316,10 +346,10 @@ dependencies:
|
|
316
346
|
version: 1.1.5
|
317
347
|
type: :runtime
|
318
348
|
prerelease: false
|
319
|
-
version_requirements: *
|
349
|
+
version_requirements: *id022
|
320
350
|
- !ruby/object:Gem::Dependency
|
321
351
|
name: cancan
|
322
|
-
requirement: &
|
352
|
+
requirement: &id023 !ruby/object:Gem::Requirement
|
323
353
|
none: false
|
324
354
|
requirements:
|
325
355
|
- - ">="
|
@@ -331,10 +361,10 @@ dependencies:
|
|
331
361
|
version: 1.4.0
|
332
362
|
type: :runtime
|
333
363
|
prerelease: false
|
334
|
-
version_requirements: *
|
364
|
+
version_requirements: *id023
|
335
365
|
- !ruby/object:Gem::Dependency
|
336
366
|
name: rails
|
337
|
-
requirement: &
|
367
|
+
requirement: &id024 !ruby/object:Gem::Requirement
|
338
368
|
none: false
|
339
369
|
requirements:
|
340
370
|
- - ">="
|
@@ -346,10 +376,10 @@ dependencies:
|
|
346
376
|
version: 3.0.1
|
347
377
|
type: :runtime
|
348
378
|
prerelease: false
|
349
|
-
version_requirements: *
|
379
|
+
version_requirements: *id024
|
350
380
|
- !ruby/object:Gem::Dependency
|
351
381
|
name: rails3_artifactor
|
352
|
-
requirement: &
|
382
|
+
requirement: &id025 !ruby/object:Gem::Requirement
|
353
383
|
none: false
|
354
384
|
requirements:
|
355
385
|
- - ~>
|
@@ -361,10 +391,10 @@ dependencies:
|
|
361
391
|
version: 0.3.1
|
362
392
|
type: :runtime
|
363
393
|
prerelease: false
|
364
|
-
version_requirements: *
|
394
|
+
version_requirements: *id025
|
365
395
|
- !ruby/object:Gem::Dependency
|
366
396
|
name: logging_assist
|
367
|
-
requirement: &
|
397
|
+
requirement: &id026 !ruby/object:Gem::Requirement
|
368
398
|
none: false
|
369
399
|
requirements:
|
370
400
|
- - ~>
|
@@ -376,10 +406,10 @@ dependencies:
|
|
376
406
|
version: 0.1.6
|
377
407
|
type: :runtime
|
378
408
|
prerelease: false
|
379
|
-
version_requirements: *
|
409
|
+
version_requirements: *id026
|
380
410
|
- !ruby/object:Gem::Dependency
|
381
411
|
name: r3_plugin_toolbox
|
382
|
-
requirement: &
|
412
|
+
requirement: &id027 !ruby/object:Gem::Requirement
|
383
413
|
none: false
|
384
414
|
requirements:
|
385
415
|
- - ">="
|
@@ -391,10 +421,10 @@ dependencies:
|
|
391
421
|
version: 0.4.0
|
392
422
|
type: :runtime
|
393
423
|
prerelease: false
|
394
|
-
version_requirements: *
|
424
|
+
version_requirements: *id027
|
395
425
|
- !ruby/object:Gem::Dependency
|
396
426
|
name: sugar-high
|
397
|
-
requirement: &
|
427
|
+
requirement: &id028 !ruby/object:Gem::Requirement
|
398
428
|
none: false
|
399
429
|
requirements:
|
400
430
|
- - ~>
|
@@ -406,7 +436,7 @@ dependencies:
|
|
406
436
|
version: 0.3.0
|
407
437
|
type: :runtime
|
408
438
|
prerelease: false
|
409
|
-
version_requirements: *
|
439
|
+
version_requirements: *id028
|
410
440
|
description: Provides assistance for setting up Session, Role and Permission systems for a Rails 3 app. Support for multiple ORMs
|
411
441
|
email: kmandrup@gmail.com
|
412
442
|
executables: []
|