cream 0.6.1 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
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