cream 0.6.4 → 0.7.0
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/.bundle/config +2 -0
- data/Gemfile +4 -3
- data/README.markdown +15 -15
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/cream.gemspec +31 -12
- data/lib/cream/configure/rails.rb +6 -3
- data/lib/generators/cancan/config/config_generator.rb +57 -0
- data/lib/generators/cream/app/app_generator.rb +64 -0
- data/lib/generators/cream/config/config_generator.rb +2 -2
- data/lib/generators/cream/config/modules/app_config.rb +1 -1
- data/lib/generators/cream/config/modules/cancan_config.rb +1 -1
- data/lib/generators/cream/config/modules/devise_users_config.rb +18 -13
- data/lib/generators/cream/config/modules/helper.rb +1 -1
- data/lib/generators/devise/config/config_generator.rb +105 -0
- data/lib/generators/devise/users/users_generator.rb +150 -0
- data/lib/generators/permits/config/config_generator.rb +68 -0
- data/lib/generators/roles/config/config_generator.rb +113 -0
- data/spec/cream/configure/cream_setup_spec.rb +2 -0
- data/spec/generator_spec_helper.rb +4 -4
- data/spec/generators/cancan/config/cancan_config_generator_spec.rb +36 -0
- data/spec/generators/cream/app/app_generator_spec.rb +30 -0
- data/spec/generators/devise/config/devise_config_generator_spec.rb +48 -0
- data/spec/generators/devise/users/devise_users_generator_spec.rb +44 -0
- data/spec/generators/permits/config/permits_config_generator_spec.rb +38 -0
- data/spec/generators/roles/config/roles_config_generator_spec.rb +60 -0
- metadata +30 -11
data/.bundle/config
ADDED
data/Gemfile
CHANGED
@@ -4,12 +4,12 @@ source 'http://gems.github.com/'
|
|
4
4
|
group :default do
|
5
5
|
gem "devise-links", "~> 0.1.4"
|
6
6
|
gem "cancan-rest-links", "~> 0.1.3"
|
7
|
-
gem "cancan-permits", "~> 0.
|
7
|
+
gem "cancan-permits", "~> 0.2.3"
|
8
8
|
|
9
9
|
gem "require_all", "~> 1.2.0"
|
10
10
|
|
11
11
|
gem "devise", ">= 1.1.2"
|
12
|
-
gem "cancan", "~> 1.
|
12
|
+
gem "cancan", "~> 1.4.0"
|
13
13
|
gem "rails", "~> 3.0.0"
|
14
14
|
|
15
15
|
gem "rails3_artifactor", "~> 0.2.5"
|
@@ -19,7 +19,8 @@ group :default do
|
|
19
19
|
gem "sugar-high", "~> 0.2.10"
|
20
20
|
end
|
21
21
|
|
22
|
-
group :test do
|
22
|
+
group :test do
|
23
|
+
gem 'ffaker', '~> 0.4.0', :git => 'http://github.com/kematzy/ffaker.git'
|
23
24
|
gem "rspec", ">= 2.0.0.rc"
|
24
25
|
gem "generator-spec", "~> 0.6.5"
|
25
26
|
gem "rspec-action_view", "~> 0.3.1"
|
data/README.markdown
CHANGED
@@ -128,17 +128,24 @@ Currently CanCan is supported as the permission system. I have added the concept
|
|
128
128
|
|
129
129
|
Check out [Cancan permits](http://github.com/kristianmandrup/cancan-permits) for more info for how to use Permits.
|
130
130
|
|
131
|
-
|
132
|
-
|
131
|
+
Cream has ben updated to support my latest version of *Cancan permits*, which now support all the ORMs which cream aims to support and which Roles Generic supports.
|
132
|
+
The various players are starting to play together nice!
|
133
133
|
|
134
134
|
## Generators
|
135
135
|
|
136
136
|
The following generators are currently available
|
137
137
|
|
138
|
-
* config
|
139
|
-
*
|
138
|
+
* cream:config - Configure Rails 3 application with Cream
|
139
|
+
* cream:users - Configure Rails 3 application with Cream
|
140
|
+
* cream:views - Generate partials for menu items
|
140
141
|
|
141
|
-
|
142
|
+
* permits:config - Configures app with CanCan Permits
|
143
|
+
* cancan:config - Configures app with CanCan
|
144
|
+
* roles:config - Configures app with Roles
|
145
|
+
|
146
|
+
All the above generators now have specs to show how to use them.
|
147
|
+
Note: They have still not been tested in all scenarios with all ORMs, role strategies etc.
|
148
|
+
I am sure there are still some issues... so please help uncover these!
|
142
149
|
|
143
150
|
Cream will support these ORMs:
|
144
151
|
|
@@ -147,18 +154,11 @@ Cream will support these ORMs:
|
|
147
154
|
* Mongo Mapper
|
148
155
|
* Mongoid
|
149
156
|
|
150
|
-
|
151
|
-
The latest *generator-spec* and other supporting generator utils I've created (such as rails3_artifactor) should facilitate finishing this generator...
|
152
|
-
|
153
|
-
The goal is to make the generator:
|
154
|
-
* Configure the Rails 3 app with appropriate gems for the sub-systems
|
155
|
-
* Run various other generators
|
156
|
-
|
157
|
-
The result should be a full (or nearly full) integration of all the sub-systems mentioned for a given Rails 3 app with the ORM of choice.
|
157
|
+
### Config Generator ###
|
158
158
|
|
159
|
-
|
159
|
+
*Deprecated*
|
160
160
|
|
161
|
-
|
161
|
+
In the future this should be a master generator which calls the other generators in turn.
|
162
162
|
|
163
163
|
<code>rails g cream::config --strategy ROLE_STRATEGY [--init-devise] [--admin_user] [--orm] [--roles]</code>
|
164
164
|
|
data/Rakefile
CHANGED
@@ -16,11 +16,11 @@ begin
|
|
16
16
|
gem.add_dependency "require_all", "~> 1.2.0"
|
17
17
|
|
18
18
|
gem.add_dependency "devise-links", "~> 0.1.4"
|
19
|
-
gem.add_dependency "cancan-rest-links", "~> 0.1.
|
20
|
-
gem.add_dependency "cancan-permits", "~> 0.
|
19
|
+
gem.add_dependency "cancan-rest-links", "~> 0.1.4"
|
20
|
+
gem.add_dependency "cancan-permits", "~> 0.2.4"
|
21
21
|
|
22
22
|
gem.add_dependency "devise", ">= 1.1.2"
|
23
|
-
gem.add_dependency "cancan", "~> 1.
|
23
|
+
gem.add_dependency "cancan", "~> 1.4.0"
|
24
24
|
gem.add_dependency "rails", "~> 3.0.0"
|
25
25
|
|
26
26
|
gem.add_dependency "rails3_artifactor", "~> 0.2.5"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
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
|
+
s.version = "0.7.0"
|
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-10-
|
12
|
+
s.date = %q{2010-10-16}
|
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 = [
|
@@ -17,7 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
"README.markdown"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
-
".
|
20
|
+
".bundle/config",
|
21
|
+
".document",
|
21
22
|
".gitignore",
|
22
23
|
".rspec",
|
23
24
|
"Changelog.txt",
|
@@ -50,6 +51,8 @@ Gem::Specification.new do |s|
|
|
50
51
|
"lib/cream/view/host_area.rb",
|
51
52
|
"lib/cream/view/role_area.rb",
|
52
53
|
"lib/cream/view/user_action_menu.rb",
|
54
|
+
"lib/generators/cancan/config/config_generator.rb",
|
55
|
+
"lib/generators/cream/app/app_generator.rb",
|
53
56
|
"lib/generators/cream/config/DESIGN NOTES.markdown",
|
54
57
|
"lib/generators/cream/config/config_generator.rb",
|
55
58
|
"lib/generators/cream/config/modules/app_config.rb",
|
@@ -63,6 +66,10 @@ Gem::Specification.new do |s|
|
|
63
66
|
"lib/generators/cream/views/haml_util.rb",
|
64
67
|
"lib/generators/cream/views/views_generator.rb",
|
65
68
|
"lib/generators/cream_refactor.rb",
|
69
|
+
"lib/generators/devise/config/config_generator.rb",
|
70
|
+
"lib/generators/devise/users/users_generator.rb",
|
71
|
+
"lib/generators/permits/config/config_generator.rb",
|
72
|
+
"lib/generators/roles/config/config_generator.rb",
|
66
73
|
"log/development.log",
|
67
74
|
"sandbox/test.rb",
|
68
75
|
"spec/configure_helper.rb",
|
@@ -75,6 +82,8 @@ Gem::Specification.new do |s|
|
|
75
82
|
"spec/cream/view/host_area_spec.rb",
|
76
83
|
"spec/cream/view/role_area_spec.rb",
|
77
84
|
"spec/generator_spec_helper.rb",
|
85
|
+
"spec/generators/cancan/config/cancan_config_generator_spec.rb",
|
86
|
+
"spec/generators/cream/app/app_generator_spec.rb",
|
78
87
|
"spec/generators/cream/config/CONFIG_GENERATOR_SPEC.markdown",
|
79
88
|
"spec/generators/cream/config/devise/existing_devise_users.rb",
|
80
89
|
"spec/generators/cream/config/empty_app/default_args_spec.rb",
|
@@ -84,6 +93,10 @@ Gem::Specification.new do |s|
|
|
84
93
|
"spec/generators/cream/config/roles/roles_spec.rb",
|
85
94
|
"spec/generators/cream/shared_examples.rb",
|
86
95
|
"spec/generators/cream/views_generator_spec.rb",
|
96
|
+
"spec/generators/devise/config/devise_config_generator_spec.rb",
|
97
|
+
"spec/generators/devise/users/devise_users_generator_spec.rb",
|
98
|
+
"spec/generators/permits/config/permits_config_generator_spec.rb",
|
99
|
+
"spec/generators/roles/config/roles_config_generator_spec.rb",
|
87
100
|
"spec/spec_helper.rb",
|
88
101
|
"wiki/CONFIG_GENERATOR.txt",
|
89
102
|
"wiki/DESIGN.txt",
|
@@ -110,6 +123,8 @@ Gem::Specification.new do |s|
|
|
110
123
|
"spec/cream/view/host_area_spec.rb",
|
111
124
|
"spec/cream/view/role_area_spec.rb",
|
112
125
|
"spec/generator_spec_helper.rb",
|
126
|
+
"spec/generators/cancan/config/cancan_config_generator_spec.rb",
|
127
|
+
"spec/generators/cream/app/app_generator_spec.rb",
|
113
128
|
"spec/generators/cream/config/devise/existing_devise_users.rb",
|
114
129
|
"spec/generators/cream/config/empty_app/default_args_spec.rb",
|
115
130
|
"spec/generators/cream/config/permits/existing_permits_spec.rb",
|
@@ -118,6 +133,10 @@ Gem::Specification.new do |s|
|
|
118
133
|
"spec/generators/cream/config/roles/roles_spec.rb",
|
119
134
|
"spec/generators/cream/shared_examples.rb",
|
120
135
|
"spec/generators/cream/views_generator_spec.rb",
|
136
|
+
"spec/generators/devise/config/devise_config_generator_spec.rb",
|
137
|
+
"spec/generators/devise/users/devise_users_generator_spec.rb",
|
138
|
+
"spec/generators/permits/config/permits_config_generator_spec.rb",
|
139
|
+
"spec/generators/roles/config/roles_config_generator_spec.rb",
|
121
140
|
"spec/spec_helper.rb"
|
122
141
|
]
|
123
142
|
|
@@ -132,10 +151,10 @@ Gem::Specification.new do |s|
|
|
132
151
|
s.add_development_dependency(%q<rails-app-spec>, ["~> 0.2.14"])
|
133
152
|
s.add_runtime_dependency(%q<require_all>, ["~> 1.2.0"])
|
134
153
|
s.add_runtime_dependency(%q<devise-links>, ["~> 0.1.4"])
|
135
|
-
s.add_runtime_dependency(%q<cancan-rest-links>, ["~> 0.1.
|
136
|
-
s.add_runtime_dependency(%q<cancan-permits>, ["~> 0.
|
154
|
+
s.add_runtime_dependency(%q<cancan-rest-links>, ["~> 0.1.4"])
|
155
|
+
s.add_runtime_dependency(%q<cancan-permits>, ["~> 0.2.4"])
|
137
156
|
s.add_runtime_dependency(%q<devise>, [">= 1.1.2"])
|
138
|
-
s.add_runtime_dependency(%q<cancan>, ["~> 1.
|
157
|
+
s.add_runtime_dependency(%q<cancan>, ["~> 1.4.0"])
|
139
158
|
s.add_runtime_dependency(%q<rails>, ["~> 3.0.0"])
|
140
159
|
s.add_runtime_dependency(%q<rails3_artifactor>, ["~> 0.2.5"])
|
141
160
|
s.add_runtime_dependency(%q<logging_assist>, ["~> 0.1.3"])
|
@@ -148,10 +167,10 @@ Gem::Specification.new do |s|
|
|
148
167
|
s.add_dependency(%q<rails-app-spec>, ["~> 0.2.14"])
|
149
168
|
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
150
169
|
s.add_dependency(%q<devise-links>, ["~> 0.1.4"])
|
151
|
-
s.add_dependency(%q<cancan-rest-links>, ["~> 0.1.
|
152
|
-
s.add_dependency(%q<cancan-permits>, ["~> 0.
|
170
|
+
s.add_dependency(%q<cancan-rest-links>, ["~> 0.1.4"])
|
171
|
+
s.add_dependency(%q<cancan-permits>, ["~> 0.2.4"])
|
153
172
|
s.add_dependency(%q<devise>, [">= 1.1.2"])
|
154
|
-
s.add_dependency(%q<cancan>, ["~> 1.
|
173
|
+
s.add_dependency(%q<cancan>, ["~> 1.4.0"])
|
155
174
|
s.add_dependency(%q<rails>, ["~> 3.0.0"])
|
156
175
|
s.add_dependency(%q<rails3_artifactor>, ["~> 0.2.5"])
|
157
176
|
s.add_dependency(%q<logging_assist>, ["~> 0.1.3"])
|
@@ -165,10 +184,10 @@ Gem::Specification.new do |s|
|
|
165
184
|
s.add_dependency(%q<rails-app-spec>, ["~> 0.2.14"])
|
166
185
|
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
167
186
|
s.add_dependency(%q<devise-links>, ["~> 0.1.4"])
|
168
|
-
s.add_dependency(%q<cancan-rest-links>, ["~> 0.1.
|
169
|
-
s.add_dependency(%q<cancan-permits>, ["~> 0.
|
187
|
+
s.add_dependency(%q<cancan-rest-links>, ["~> 0.1.4"])
|
188
|
+
s.add_dependency(%q<cancan-permits>, ["~> 0.2.4"])
|
170
189
|
s.add_dependency(%q<devise>, [">= 1.1.2"])
|
171
|
-
s.add_dependency(%q<cancan>, ["~> 1.
|
190
|
+
s.add_dependency(%q<cancan>, ["~> 1.4.0"])
|
172
191
|
s.add_dependency(%q<rails>, ["~> 3.0.0"])
|
173
192
|
s.add_dependency(%q<rails3_artifactor>, ["~> 0.2.5"])
|
174
193
|
s.add_dependency(%q<logging_assist>, ["~> 0.1.3"])
|
@@ -19,9 +19,12 @@ Rails3::Plugin::Extender.new do
|
|
19
19
|
after :initialize do
|
20
20
|
require_all File.dirname(__FILE__) + '/after_init'
|
21
21
|
|
22
|
-
Rails3.with_configuration do
|
23
|
-
|
24
|
-
|
22
|
+
# Rails3.with_configuration do
|
23
|
+
# autoload_paths += %W(#{Rails.root}/app/permits)
|
24
|
+
# load_paths += %W( #{RAILS_ROOT}/extras )
|
25
|
+
# end
|
26
|
+
|
27
|
+
ActiveSupport::Dependencies.load_paths << %W(#{Rails.root}/app/permits)
|
25
28
|
|
26
29
|
# set cream config object
|
27
30
|
# Rails3.with_configuration do
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'sugar-high/file'
|
2
|
+
require 'sugar-high/module'
|
3
|
+
require 'cream'
|
4
|
+
require 'rails3_artifactor'
|
5
|
+
require 'logging_assist'
|
6
|
+
|
7
|
+
module CanCan
|
8
|
+
module Generators
|
9
|
+
class ConfigGenerator < Rails::Generators::Base
|
10
|
+
desc "Configure CanCan"
|
11
|
+
|
12
|
+
class_option :logfile, :type => :string, :default => nil, :desc => "Logfile location"
|
13
|
+
|
14
|
+
def cancan_configure
|
15
|
+
logger.add_logfile :logfile => logfile if logfile
|
16
|
+
cancan_gems
|
17
|
+
cancan_exception_handling
|
18
|
+
end
|
19
|
+
|
20
|
+
protected
|
21
|
+
|
22
|
+
include Rails3::Assist::BasicLogger
|
23
|
+
extend Rails3::Assist::UseMacro
|
24
|
+
|
25
|
+
use_helpers :controller, :app
|
26
|
+
|
27
|
+
def logfile
|
28
|
+
options[:logfile]
|
29
|
+
end
|
30
|
+
|
31
|
+
def cancan_gems
|
32
|
+
gem 'cancan'
|
33
|
+
gem 'cancan-rest-links'
|
34
|
+
end
|
35
|
+
|
36
|
+
# CanCan access denied exception handling
|
37
|
+
def cancan_exception_handling
|
38
|
+
logger.debug "Rescue exists? #{rescue_exists?}"
|
39
|
+
return if rescue_exists?
|
40
|
+
|
41
|
+
logger.debug "Insert rescue into application controller"
|
42
|
+
insert_into_controller :application, :after => "ActionController::Base\n" do
|
43
|
+
%{
|
44
|
+
rescue_from CanCan::AccessDenied do |exception|
|
45
|
+
flash[:error] = exception.message
|
46
|
+
redirect_to root_url
|
47
|
+
end
|
48
|
+
}
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def rescue_exists?
|
53
|
+
File.read(controller_file :application) =~ /rescue_from CanCan::AccessDenied/
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'sugar-high/file'
|
2
|
+
require 'sugar-high/module'
|
3
|
+
require 'cream'
|
4
|
+
require 'rails3_artifactor'
|
5
|
+
require 'logging_assist'
|
6
|
+
|
7
|
+
module Roles
|
8
|
+
module Generators
|
9
|
+
class ConfigGenerator < Rails::Generators::Base
|
10
|
+
extend Rails3::Assist::UseMacro
|
11
|
+
|
12
|
+
desc "Configure Permits"
|
13
|
+
|
14
|
+
# ORM to use
|
15
|
+
class_option :orm, :type => :string, :default => 'active_record', :desc => "ORM to use"
|
16
|
+
|
17
|
+
class_option :logfile, :type => :string, :default => nil, :desc => "Logfile location"
|
18
|
+
|
19
|
+
def configure_application
|
20
|
+
app_orm
|
21
|
+
app_routes
|
22
|
+
app_layout
|
23
|
+
end
|
24
|
+
|
25
|
+
protected
|
26
|
+
|
27
|
+
def app_orm
|
28
|
+
return if orm == 'active_record'
|
29
|
+
File.replace_content_from config_file(:application), :where => "require 'rails/all'" do
|
30
|
+
%q{
|
31
|
+
require "action_controller/railtie"
|
32
|
+
require "action_mailer/railtie"
|
33
|
+
require "active_resource/railtie"
|
34
|
+
require "rails/test_unit/railtie"
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
def app_routes
|
39
|
+
routes = read_from config_file(:routes)
|
40
|
+
# if no :welcome controller
|
41
|
+
if !(routes =~ /root\s+:/)
|
42
|
+
# create one with an 'index' view.
|
43
|
+
insert_into config_file(:routes) :after => 'do', :content => 'root :to => "welcome#index"'
|
44
|
+
execute "rails g controller Welcome index"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# in 'app/views/layouts/application.html.erb'
|
49
|
+
# insert special flash msg displayers after opening <body> element
|
50
|
+
def app_layout
|
51
|
+
layout_content = read_view :application, :folder => 'layouts' #, :type => :erb
|
52
|
+
|
53
|
+
[:alert, :notice].each{|name| insert_flash_displayer name}
|
54
|
+
end
|
55
|
+
|
56
|
+
def insert_flash_displayer name
|
57
|
+
return if layout_content =~ /<%=\s+#{name}\s+%>/
|
58
|
+
insert_into_view :application, :folder => 'layouts', :after => '<body>' do
|
59
|
+
'<p class="alert"><%= alert %></p>'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'sugar-high/file'
|
2
|
-
require 'sugar-high/
|
2
|
+
require 'sugar-high/module'
|
3
3
|
require 'cream'
|
4
4
|
require 'rails3_artifactor'
|
5
5
|
require 'logging_assist'
|
@@ -71,7 +71,7 @@ module Cream::Generators
|
|
71
71
|
use_helpers :model, :controller, :permit, :application
|
72
72
|
|
73
73
|
def configure_logger
|
74
|
-
logger.add_logfile :logfile => logfile
|
74
|
+
logger.add_logfile :logfile => logfile if logfile
|
75
75
|
logger.debug 'main flow'
|
76
76
|
end
|
77
77
|
|
@@ -23,7 +23,7 @@ require "rails/test_unit/railtie"
|
|
23
23
|
# if no :welcome controller
|
24
24
|
if !(routes =~ /root\s+:/)
|
25
25
|
# create one with an 'index' view.
|
26
|
-
insert_into config_file(:routes) :after => 'do', :content => 'root :to => "welcome#index"'
|
26
|
+
insert_into config_file(:routes), :after => 'do', :content => 'root :to => "welcome#index"'
|
27
27
|
execute "rails g controller Welcome index"
|
28
28
|
end
|
29
29
|
end
|
@@ -49,7 +49,7 @@ module Cream::Generators
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def devise_users?
|
52
|
-
|
52
|
+
has_devise_user?(:user) && has_devise_user?(:admin)
|
53
53
|
end
|
54
54
|
|
55
55
|
def has_devise_user? user
|
@@ -57,7 +57,7 @@ module Cream::Generators
|
|
57
57
|
begin
|
58
58
|
read_model(user) =~ /devise/
|
59
59
|
rescue Exception => e
|
60
|
-
logger.info "Exception for
|
60
|
+
logger.info "Exception for #has_devise_user? #{user}: #{e.message}"
|
61
61
|
false
|
62
62
|
end
|
63
63
|
end
|
@@ -68,18 +68,23 @@ module Cream::Generators
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
|
-
module Inherit
|
72
|
-
|
73
|
-
|
74
|
-
|
71
|
+
module Inherit
|
72
|
+
self << class
|
73
|
+
extend Rails3::Assist::UseMacro
|
74
|
+
use_helpers :model
|
75
|
+
|
76
|
+
def remove_inheritance user
|
77
|
+
File.remove_from model_file user, :content => /<\s*ActiveRecord::Base/
|
78
|
+
end
|
75
79
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
+
def inherit_model hash
|
81
|
+
subclass = hash.keys.first
|
82
|
+
superclass = hash.values.first.to_s.camelize
|
83
|
+
File.replace_content_from model_file subclass, :where => /class Admin/, :with => "class Admin < #{superclass}"
|
84
|
+
end
|
80
85
|
end
|
81
86
|
end
|
82
|
-
|
87
|
+
|
83
88
|
module Strategy
|
84
89
|
self << class
|
85
90
|
extend Rails3::Assist::UseMacro
|
@@ -91,8 +96,8 @@ module Cream::Generators
|
|
91
96
|
"devise #{*names}"
|
92
97
|
end
|
93
98
|
end
|
94
|
-
|
95
|
-
def
|
99
|
+
|
100
|
+
def devise_default_strategies
|
96
101
|
[:database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable]
|
97
102
|
end
|
98
103
|
end
|