cream 0.6.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.1
1
+ 0.6.3
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{cream}
8
- s.version = "0.6.1"
8
+ s.version = "0.6.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kristian Mandrup"]
12
- s.date = %q{2010-09-26}
12
+ s.date = %q{2010-10-05}
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 = [
@@ -45,15 +45,18 @@ Gem::Specification.new do |s|
45
45
  "lib/cream/helper/host.rb",
46
46
  "lib/cream/helper/role.rb",
47
47
  "lib/cream/namespaces.rb",
48
+ "lib/cream/rails/config.rb",
48
49
  "lib/cream/role.rb",
49
50
  "lib/cream/view/host_area.rb",
50
51
  "lib/cream/view/role_area.rb",
51
52
  "lib/cream/view/user_action_menu.rb",
52
53
  "lib/generators/cream/config/DESIGN NOTES.markdown",
53
54
  "lib/generators/cream/config/config_generator.rb",
55
+ "lib/generators/cream/config/modules/app_config.rb",
54
56
  "lib/generators/cream/config/modules/cancan_config.rb",
55
57
  "lib/generators/cream/config/modules/cream_config.rb",
56
58
  "lib/generators/cream/config/modules/devise_config.rb",
59
+ "lib/generators/cream/config/modules/devise_users_config.rb",
57
60
  "lib/generators/cream/config/modules/helper.rb",
58
61
  "lib/generators/cream/config/modules/permits_config.rb",
59
62
  "lib/generators/cream/config/modules/roles_config.rb",
@@ -63,7 +66,10 @@ Gem::Specification.new do |s|
63
66
  "log/development.log",
64
67
  "sandbox/test.rb",
65
68
  "spec/configure_helper.rb",
66
- "spec/cream/configure/rails_spec.rb",
69
+ "spec/cream/configure/cream_setup_spec.rb",
70
+ "spec/cream/configure/rails_custom_roles_spec.rb",
71
+ "spec/cream/configure/rails_role_spec.rb",
72
+ "spec/cream/configure/rails_user_roles_spec.rb",
67
73
  "spec/cream/helper/host_spec.rb",
68
74
  "spec/cream/helper/role_spec.rb",
69
75
  "spec/cream/view/host_area_spec.rb",
@@ -94,7 +100,10 @@ Gem::Specification.new do |s|
94
100
  s.summary = %q{Integrates Devise, Roles and CanCan with Permits for a Rails 3 app}
95
101
  s.test_files = [
96
102
  "spec/configure_helper.rb",
97
- "spec/cream/configure/rails_spec.rb",
103
+ "spec/cream/configure/cream_setup_spec.rb",
104
+ "spec/cream/configure/rails_custom_roles_spec.rb",
105
+ "spec/cream/configure/rails_role_spec.rb",
106
+ "spec/cream/configure/rails_user_roles_spec.rb",
98
107
  "spec/cream/helper/host_spec.rb",
99
108
  "spec/cream/helper/role_spec.rb",
100
109
  "spec/cream/view/host_area_spec.rb",
@@ -17,6 +17,7 @@ require 'cream/role'
17
17
  require_all File.dirname(__FILE__) + '/cream/controller'
18
18
  require_all File.dirname(__FILE__) + '/cream/helper'
19
19
  require_all File.dirname(__FILE__) + '/cream/view'
20
+ require_all File.dirname(__FILE__) + '/cream/rails'
20
21
 
21
22
  require 'cream/configure'
22
23
 
@@ -1,3 +1,12 @@
1
1
  require 'require_all'
2
2
  require 'cream/namespaces'
3
- require 'cream/configure/rails'
3
+ require 'cream/configure/rails'
4
+
5
+ module Cream
6
+ mattr_accessor :roles
7
+ @@roles = []
8
+
9
+ def self.setup
10
+ yield self
11
+ end
12
+ end
@@ -18,5 +18,14 @@ Rails3::Plugin::Extender.new do
18
18
 
19
19
  after :initialize do
20
20
  require_all File.dirname(__FILE__) + '/after_init'
21
- end
21
+
22
+ Rails3.with_configuration do
23
+ autoload_paths += %W(#{Rails.root}/app/permits)
24
+ end
25
+
26
+ # set cream config object
27
+ # Rails3.with_configuration do
28
+ # cream = Cream::Rails::Config.new :roles => Cream::Role.available
29
+ # end
30
+ end
22
31
  end
@@ -1,7 +1,8 @@
1
1
  module Cream::Controller
2
2
  module Ability
3
3
  def current_ability
4
- @current_ability ||= Ability.new(current_user, request)
4
+ @current_ability ||= Permits::Ability.new(current_user, request)
5
5
  end
6
6
  end
7
- end
7
+ end
8
+
@@ -0,0 +1,11 @@
1
+ module Cream
2
+ module Rails
3
+ class Config
4
+ attr_accessor :roles
5
+
6
+ def initialize options = {}
7
+ self.roles ||= options[:roles]
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,7 +1,16 @@
1
1
  module Cream
2
+ class << self
3
+ attr_accessor :available_roles
4
+ end
5
+
2
6
  module Role
3
7
  def self.available
4
- ::Role.all.map(&:name).to_symbols
8
+ return Cream.available_roles if Cream.available_roles.present?
9
+ if defined? ::Role
10
+ ::Role.all.map(&:name).to_symbols
11
+ else
12
+ User.roles.to_symbols
13
+ end
5
14
  end
6
15
  end
7
16
  end
@@ -11,6 +11,24 @@ Each of the following should be a module in its own right!
11
11
  * Include modules depending on options
12
12
  * For each module call the config_[module_name] method, which is responsible for configuring that module!
13
13
 
14
+ ## App config
15
+
16
+ in config/application.rb
17
+
18
+ If not using Active Record, substitute
19
+ <pre>
20
+ require 'rails/all'
21
+ </pre>
22
+
23
+
24
+ With
25
+ <pre>
26
+ require "action_controller/railtie"
27
+ require "action_mailer/railtie"
28
+ require "active_resource/railtie"
29
+ require "rails/test_unit/railtie"
30
+ </pre>
31
+
14
32
  ## Devise Configuration
15
33
 
16
34
  Gemfile
@@ -20,10 +20,10 @@ module Cream::Generators
20
20
  source_root File.dirname(__FILE__)
21
21
 
22
22
  # Role Strategy
23
- class_option :strategy, :type => :string, :default => 'role_string', :desc => "Role strategy to use",
23
+ class_option :strategy, :type => :string, :default => 'role_string', :desc => "Role strategy to use"
24
24
 
25
25
  # Create Admin user
26
- class_option :admin_user, :type => :boolean, :default => false, :desc => "Create admin user",
26
+ class_option :admin_user, :type => :boolean, :default => false, :desc => "Create admin user"
27
27
 
28
28
  # Roles
29
29
  class_option :default_roles, :type => :boolean, :default => true, :desc => "Create default roles :admin and :guest"
@@ -42,20 +42,25 @@ module Cream::Generators
42
42
  configure_gems
43
43
 
44
44
  MODULES.each do |name|
45
- send :"configure_#{name}"
45
+ method = "configure_#{name}"
46
+ send method if respond_to?(method)
46
47
  end
47
48
  end
48
49
 
49
50
  # -----------------
50
51
  protected
51
52
 
52
- MODULES = [:devise] #, :cancan, :roles, :permits, :cream]
53
+ # configure which helper modules (from /modules subfolder) to include in this Generator!!!
54
+
55
+ MODULES = [:app, :devise, :devise_users, :cancan, :roles, :permits, :cream]
53
56
 
54
- includes Cream::Generators::Config, :helper, MODULES #, :cancan, :roles, :permits, :cream
57
+ includes Cream::Generators::Config, :helper, MODULES
55
58
 
56
59
  include Rails3::Assist::BasicLogger
57
60
 
58
- use_helpers :model, :controller, :permit
61
+ # using helpers from rails3_artifactor gem.
62
+ # A macro from rails3_assist loads appropriate modules into the class and makes various Rails 3 "mutation helper" methods available
63
+ use_helpers :model, :controller, :permit, :application
59
64
 
60
65
  def configure_logger
61
66
  logger.add_logfile :logfile => logfile
@@ -64,7 +69,8 @@ module Cream::Generators
64
69
 
65
70
  def configure_gems
66
71
  MODULES.each do |name|
67
- send :"#{name}_gems"
72
+ method = "#{name}_gems"
73
+ send method if respond_to?(method)
68
74
  end
69
75
  run "bundle install"
70
76
  end
@@ -0,0 +1,48 @@
1
+ module Cream::Generators
2
+ module Config
3
+ module CanCan
4
+ def configure_application
5
+ app_orm
6
+ app_routes
7
+ app_layout
8
+ end
9
+
10
+ def app_orm
11
+ return if orm == 'active_record'
12
+ File.replace_content_from config_file(:application), :where => "require 'rails/all'" do
13
+ %q{
14
+ require "action_controller/railtie"
15
+ require "action_mailer/railtie"
16
+ require "active_resource/railtie"
17
+ require "rails/test_unit/railtie"
18
+ }
19
+ end
20
+
21
+ def app_routes
22
+ routes = read_from config_file(:routes)
23
+ # if no :welcome controller
24
+ if !(routes =~ /root\s+:/)
25
+ # create one with an 'index' view.
26
+ insert_into config_file(:routes) :after => 'do', :content => 'root :to => "welcome#index"'
27
+ execute "rails g controller Welcome index"
28
+ end
29
+ end
30
+
31
+ # in 'app/views/layouts/application.html.erb'
32
+ # insert special flash msg displayers after opening <body> element
33
+ def app_layout
34
+ layout_content = read_view :application, :folder => 'layouts' #, :type => :erb
35
+
36
+ [:alert, :notice].each{|name| insert_flash_displayer name}
37
+ end
38
+
39
+ def insert_flash_displayer name
40
+ return if layout_content =~ /<%=\s+#{name}\s+%>/
41
+ insert_into_view :application, :folder => 'layouts', :after => '<body>' do
42
+ '<p class="alert"><%= alert %></p>'
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+
@@ -1,13 +1,18 @@
1
1
  module Cream::Generators
2
2
  module Config
3
- module CanCan
4
- def configure_devise_gems
3
+ module CanCan
4
+ def cancan_configure
5
+ configure_cancan_gems
6
+ cancan_exception_handling
7
+ end
8
+
9
+ def cancan_gems
5
10
  gem 'cancan'
6
11
  gem 'cancan-rest-links'
7
12
  end
8
13
 
9
14
  # CanCan access denied exception handling
10
- def configure_exception_handling
15
+ def cancan_exception_handling
11
16
  insert_into_controller :application, :after => "ActionController::Base\n" do
12
17
  %{
13
18
  rescue_from CanCan::AccessDenied do |exception|
@@ -1,17 +1,30 @@
1
1
  module Cream::Generators
2
2
  module Config
3
- module Cream
3
+ module Cream
4
+ def cream_configure
5
+ cream_gems
6
+ cream_initializer
7
+ cream_locale
8
+ end
9
+
4
10
  def cream_gems
5
11
  gem_name = ORM_MAP[orm]
6
12
  gem gem_name if gem_name
7
13
 
8
- gem 'devise'
9
- gem 'cancan'
10
14
  gem 'cream'
11
15
  run "bundle install"
12
16
  end
17
+
18
+ def cream_initializer
19
+ create_initializer_file :cream do
20
+ %Q{
21
+ Cream.setup do |config|
22
+ config.roles = #{roles.inspect}
23
+ end
24
+ }
25
+ end
13
26
 
14
- def configure_locale
27
+ def cream_locale
15
28
  src = File.expand_path "config/locales/en.yml".path.up(2)
16
29
  # src = "config/locales/en.yml"
17
30
  logger.debug "configure_locale, copy from: #{src}"
@@ -2,30 +2,13 @@ module Cream::Generators
2
2
  module Config
3
3
  module Devise
4
4
 
5
- def configure_devise
6
- if !has_model? :user
7
- # run devise generator to create User model
8
- create_devise_model :user
9
- end
10
-
11
- # if User model is NOT configured with devise strategy
12
- if !has_devise_strategy? :user
13
- insert_devise_strategy :user, :defaults
14
- end
15
- end
16
-
17
- configure_admin_user if configure_admin_user?
5
+ def configure_devise
6
+ initialize!
7
+ [Orm, Mailer, Protection].each{|m| m.configure!}
18
8
  end
19
9
 
20
- def configure_admin_user
21
- # if app does NOT have a Admin model
22
- if !has_model? :admin
23
- create_admin_user
24
- end
25
- if has_model? :admin
26
- # insert default devise Admin strategy
27
- insert_devise_strategy :user, :defaults
28
- end
10
+ def initialize!
11
+ rgen 'devise_install'
29
12
  end
30
13
 
31
14
  def devise_gems
@@ -43,66 +26,33 @@ module Cream::Generators
43
26
  gem 'devise_couch'
44
27
  say "Please note that Couch DB does not currently have a Roles implementation. Feel free to provide one."
45
28
  say "Look at Roles DataMapper (roles_data_mapper) for an example ;)"
29
+ else
30
+ say "Orm #{orm} is not currently supported by Cream. You are most welcome to provide a Cream adapter for that ORM ;)"
46
31
  end
47
32
  end
48
-
49
- def init_devise
50
- execute 'devise_install'
51
- end
52
33
 
53
- def devise_users?
54
- has_user?(:user) && has_user?(:admin)
55
- end
56
-
57
- def handle_devise_users
58
- return notify_create_users if !init_devise?
59
- create_users
60
- end
61
-
62
- def notify_create_users
63
- logger.debug 'notify_create_users'
64
- say "You must first run devise generators:"
65
- say "rails g devise User"
66
- say "rails g devise Admin" if admin_user?
34
+ module Protection
35
+ def self.configure!
36
+ ## Add Devise protection to Application controller:
37
+ insert_into_controller :application do
38
+ "before_filter :authenticate_user!"
39
+ end
40
+ end
67
41
  end
68
42
 
69
- def create_admin_user
70
- logger.debug 'create_admin_user'
71
- create_model :admin
72
- # remove any current inheritance
73
- remove_inheritance :admin
74
- # and make Admin model inherit from User model
75
- inherit_model :user => :admin
76
- end
77
-
78
- def remove_inheritance user
79
- File.remove_from model_file user, :content => /<\s*ActiveRecord::Base/
80
- end
81
-
82
- def inherit_model hash
83
- subclass = hash.keys.first
84
- superclass = hash.values.first.to_s.camelize
85
- File.replace_content_from model_file subclass, :where => /class Admin/, :with => "class Admin < #{superclass}"
86
- end
87
-
88
- # Must be ORM specific!
89
- def create_devise_model user
90
- execute "rails g devise #{user}"
43
+ module Orm
44
+ # inside 'config/initializers/devise.rb' change to:
45
+ # require 'devise/orm/mongo_mapper'
46
+ def self.configure!
47
+ File.replace_content_from initializer_file(:devise), :where => /devise\/orm\/w+/, :content => 'devise/orm/mongo_mapper'
48
+ end
91
49
  end
92
50
 
93
- def create_user user
94
- execute "rails g model #{user}"
95
- end
96
-
97
- def has_user? user
98
- return true if user == :admin && !admin_user?
99
- begin
100
- read_model(user) =~ /devise/
101
- rescue Exception => e
102
- logger.info "Exception for has_user? #{user}: #{e.message}"
103
- false
51
+ module Mailer
52
+ def self.configure!
53
+ insert_application_config "action_mailer.default_url_options = { :host => 'localhost:3000' }"
104
54
  end
105
- end
55
+ end
106
56
  end
107
57
  end
108
58
  end
@@ -0,0 +1,104 @@
1
+ module Cream::Generators
2
+ module Config
3
+ module DeviseUsers
4
+ attr_accessor :user_helper
5
+
6
+ def configure_devise_users
7
+ @user_helper = UserHelper.new user_generator
8
+
9
+ devise_default_user if !has_model? :user
10
+
11
+ # if User model is NOT configured with devise strategy
12
+ Strategy.insert_devise_strategy :user, :defaults if !has_devise_user? :user
13
+
14
+ devise_admin_user if admin_user?
15
+ end
16
+
17
+ def devise_default_user
18
+ user_helper.create_devise_model :user
19
+ end
20
+
21
+ def devise_admin_user
22
+ # if app does NOT have a Admin model
23
+ user_helper.create_admin_user if !has_model? :admin
24
+
25
+ # insert default devise Admin strategy
26
+ Strategy.insert_devise_strategy :admin, :defaults if has_model? :admin
27
+ end
28
+
29
+ def create_admin_user
30
+ logger.debug 'create_admin_user'
31
+ user_helper.create_user_model :admin
32
+ # remove any current inheritance
33
+ Inherit.remove_inheritance :admin
34
+ # and make Admin model inherit from User model
35
+ Inherit.inherit_model :user => :admin
36
+ end
37
+
38
+ # Helpers
39
+
40
+ class UserHelper
41
+ attr_accessor :user_generator
42
+
43
+ def initialize user_gen
44
+ @user_generator = user_gen
45
+ end
46
+
47
+ def create_user_model user = :user
48
+ rgen "#{user_generator} model #{user}"
49
+ end
50
+
51
+ def devise_users?
52
+ has_user?(:user) && has_user?(:admin)
53
+ end
54
+
55
+ def has_devise_user? user
56
+ return true if user == :admin && !admin_user?
57
+ begin
58
+ read_model(user) =~ /devise/
59
+ rescue Exception => e
60
+ logger.info "Exception for has_user? #{user}: #{e.message}"
61
+ false
62
+ end
63
+ end
64
+
65
+ # Must be ORM specific!
66
+ def create_devise_model user = :user
67
+ rgen "#{user_generator} #{user}"
68
+ end
69
+ end
70
+
71
+ module Inherit
72
+ def self.remove_inheritance user
73
+ File.remove_from model_file user, :content => /<\s*ActiveRecord::Base/
74
+ end
75
+
76
+ def self.inherit_model hash
77
+ subclass = hash.keys.first
78
+ superclass = hash.values.first.to_s.camelize
79
+ File.replace_content_from model_file subclass, :where => /class Admin/, :with => "class Admin < #{superclass}"
80
+ end
81
+ end
82
+
83
+ module Strategy
84
+ self << class
85
+ extend Rails3::Assist::UseMacro
86
+ use_helpers :model
87
+
88
+ def insert_devise_strategy model_name, *names
89
+ names = devise_default_strategies if names.first == :defaults
90
+ insert_into_model model_name do
91
+ "devise #{*names}"
92
+ end
93
+ end
94
+
95
+ def self.devise_default_strategies
96
+ [:database_authenticatable, :confirmable, :recoverable, :rememberable, :trackable, :validatable]
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+
104
+
@@ -8,6 +8,11 @@ module Cream::Generators
8
8
  :mongoid => 'rails3-mongoid-devise'
9
9
  }
10
10
 
11
+ # rails generate ...
12
+ def rgen command
13
+ execute "rails g #{command}"
14
+ end
15
+
11
16
  def execute command
12
17
  logger.debug command
13
18
  run command
@@ -21,18 +26,35 @@ module Cream::Generators
21
26
  options[:logfile]
22
27
  end
23
28
 
24
- def default_roles
25
- options[:default_roles] ? '--default-roles' : '--no-default-roles'
29
+ def users
30
+ extra_users = admin_user? ? :admin : nil
31
+ @users ||= ([:user] + extra_users).compact
26
32
  end
27
33
 
28
34
  def roles
29
- options[:roles].join(' ')
35
+ @roles ||= options[:roles].join(' ')
36
+ end
37
+
38
+ def roles_generator
39
+ "#{orm}:roles"
40
+ end
41
+
42
+ def user_generator
43
+ active_record? ? "#{orm}:devise" : 'devise'
44
+ end
45
+
46
+ def active_record?
47
+ orm == 'active_record'
30
48
  end
31
49
 
32
50
  def orm
33
51
  options[:orm]
34
52
  end
35
53
 
54
+ def default_roles?
55
+ options[:default_roles]
56
+ end
57
+
36
58
  def roles_config?
37
59
  options[:roles_config]
38
60
  end
@@ -8,7 +8,7 @@ module Cream::Generators
8
8
  def configure_permits
9
9
  logger.debug "Configure Permits"
10
10
  # Run permits generator to generate permit for each role
11
- execute "rails g permits --roles #{roles}"
11
+ rgen "permits --roles #{roles}"
12
12
  end
13
13
  end
14
14
  end
@@ -1,14 +1,38 @@
1
1
  module Cream::Generators
2
2
  module Config
3
3
  module Roles
4
- def configure_roles_gems
4
+ def configure_roles
5
+ create_roles
6
+ set_valid_roles_cream
7
+ use_roles_strategy
8
+ end
9
+
10
+ def roles_gems
5
11
  gem "roles_#{orm}"
6
12
  end
7
13
 
8
- def configure_roles
9
- command = "rails g #{orm}:roles --strategy #{strategy} --roles #{roles} #{default_roles}"
10
- logger.debug command
11
- run command
14
+ def create_roles
15
+ rgen "#{roles_generator} --strategy #{strategy} --roles #{roles} #{default_roles}"
16
+ end
17
+
18
+ def set_valid_roles_cream
19
+ if initializer_file? :cream
20
+ replace_in_model_file :user, :where => /valid_roles_are\s+[(.*)]/, :with => 'valid_roles_are Cream.roles'
21
+ end
22
+ end
23
+
24
+ def use_roles_strategy
25
+ unless read_model_file(:user) =~ /use_roles_strategy/
26
+ insert_into_model :user do
27
+ "use_roles_strategy :admin_flag"
28
+ end
29
+ end
30
+ end
31
+
32
+ protected
33
+
34
+ def default_roles
35
+ default_roles? ? '--default-roles' : '--no-default-roles'
12
36
  end
13
37
  end
14
38
  end
@@ -0,0 +1,5 @@
1
+ Cream.setup do |config|
2
+ # ==> Mailer Configuration
3
+ # Configure the e-mail address which will be shown in DeviseMailer.
4
+ config.roles = [:guest, :admin]
5
+ end
@@ -0,0 +1,30 @@
1
+ require 'configure_helper'
2
+
3
+ Cream.available_roles = [:guest, :admin]
4
+
5
+ describe "Rails extension" do
6
+ describe 'Extensions' do
7
+ it "should extend Action View with Roles helper instance_methods and specific role methods" do
8
+ after_init :view do
9
+ :view.should be_extended_with Cream::View, :role, :host, :user_action_menu
10
+ :view.should be_extended_with Cream::Helper, :role, :auth_label
11
+ end
12
+
13
+ init_app_railties :minimal, :view
14
+ end
15
+
16
+ it "should extend Action Controller" do
17
+ after_init :controller do
18
+ :controller.should be_extended_with Cream, :role
19
+ :controller.should be_extended_with Cream::Controller, :ability
20
+ :controller.should be_extended_with Cream::Helper, :role, :host, :auth_label
21
+ end
22
+
23
+ init_app_railties :minimal, :view
24
+ end
25
+
26
+ it "should work with safe_concat" do
27
+ "abc".html_safe.should == "abc"
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,34 @@
1
+ require 'configure_helper'
2
+
3
+ class User
4
+ def self.roles
5
+ [:guest, :admin]
6
+ end
7
+ end
8
+
9
+ describe "Rails extension" do
10
+ describe 'Extensions' do
11
+ it "should extend Action View with Roles helper instance_methods and specific role methods" do
12
+ after_init :view do
13
+ :view.should be_extended_with Cream::View, :role, :host, :user_action_menu
14
+ :view.should be_extended_with Cream::Helper, :role, :auth_label
15
+ end
16
+
17
+ init_app_railties :minimal, :view
18
+ end
19
+
20
+ it "should extend Action Controller" do
21
+ after_init :controller do
22
+ :controller.should be_extended_with Cream, :role
23
+ :controller.should be_extended_with Cream::Controller, :ability
24
+ :controller.should be_extended_with Cream::Helper, :role, :host, :auth_label
25
+ end
26
+
27
+ init_app_railties :minimal, :view
28
+ end
29
+
30
+ it "should work with safe_concat" do
31
+ "abc".html_safe.should == "abc"
32
+ end
33
+ end
34
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 6
8
- - 1
9
- version: 0.6.1
8
+ - 3
9
+ version: 0.6.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Kristian Mandrup
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-09-26 00:00:00 +02:00
17
+ date: 2010-10-05 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -282,15 +282,18 @@ files:
282
282
  - lib/cream/helper/host.rb
283
283
  - lib/cream/helper/role.rb
284
284
  - lib/cream/namespaces.rb
285
+ - lib/cream/rails/config.rb
285
286
  - lib/cream/role.rb
286
287
  - lib/cream/view/host_area.rb
287
288
  - lib/cream/view/role_area.rb
288
289
  - lib/cream/view/user_action_menu.rb
289
290
  - lib/generators/cream/config/DESIGN NOTES.markdown
290
291
  - lib/generators/cream/config/config_generator.rb
292
+ - lib/generators/cream/config/modules/app_config.rb
291
293
  - lib/generators/cream/config/modules/cancan_config.rb
292
294
  - lib/generators/cream/config/modules/cream_config.rb
293
295
  - lib/generators/cream/config/modules/devise_config.rb
296
+ - lib/generators/cream/config/modules/devise_users_config.rb
294
297
  - lib/generators/cream/config/modules/helper.rb
295
298
  - lib/generators/cream/config/modules/permits_config.rb
296
299
  - lib/generators/cream/config/modules/roles_config.rb
@@ -300,7 +303,10 @@ files:
300
303
  - log/development.log
301
304
  - sandbox/test.rb
302
305
  - spec/configure_helper.rb
303
- - spec/cream/configure/rails_spec.rb
306
+ - spec/cream/configure/cream_setup_spec.rb
307
+ - spec/cream/configure/rails_custom_roles_spec.rb
308
+ - spec/cream/configure/rails_role_spec.rb
309
+ - spec/cream/configure/rails_user_roles_spec.rb
304
310
  - spec/cream/helper/host_spec.rb
305
311
  - spec/cream/helper/role_spec.rb
306
312
  - spec/cream/view/host_area_spec.rb
@@ -357,7 +363,10 @@ specification_version: 3
357
363
  summary: Integrates Devise, Roles and CanCan with Permits for a Rails 3 app
358
364
  test_files:
359
365
  - spec/configure_helper.rb
360
- - spec/cream/configure/rails_spec.rb
366
+ - spec/cream/configure/cream_setup_spec.rb
367
+ - spec/cream/configure/rails_custom_roles_spec.rb
368
+ - spec/cream/configure/rails_role_spec.rb
369
+ - spec/cream/configure/rails_user_roles_spec.rb
361
370
  - spec/cream/helper/host_spec.rb
362
371
  - spec/cream/helper/role_spec.rb
363
372
  - spec/cream/view/host_area_spec.rb