lib/generators/roles/config/config_generator.rb in cream-0.7.6 vs lib/generators/roles/config/config_generator.rb in cream-0.7.7
- old
+ new
@@ -13,11 +13,11 @@
class_option :orm, :type => :string, :default => 'active_record', :desc => "ORM to use"
class_option :strategy, :type => :string, :default => 'role_string', :desc => "Roles strategy to use"
class_option :roles, :type => :array, :default => ['guest', 'admin'], :desc => "Valid roles to use"
class_option :logfile, :type => :string, :default => nil, :desc => "Logfile location"
class_option :default_roles, :type => :boolean, :default => true, :desc => "Create default roles :admin and :guest"
- class_option :gems, :type => :boolean, :default => false, :desc => "Add gems to gemfile?"
+ class_option :gems, :type => :boolean, :default => true, :desc => "Add gems to gemfile?"
def configure_roles
logger.add_logfile :logfile => logfile if logfile
roles_gems if gems?
create_roles
@@ -64,36 +64,40 @@
def default_roles?
options[:default_roles]
end
+ def add_gem name
+ gem name if !has_gem? name
+ end
+
def roles_gems
gem_name = "roles_#{orm}"
- gem gem_name
- bundle_install gem_name
+ add_gem gem_name
+ bundle_install #gem_name
end
- def bundle_install *gems
- run "bundle install #{gems.join(' ')}"
+ def bundle_install #*gems
+ run "bundle install" #{gems.join(' ')}
end
def roles_generator
"#{orm}:roles"
end
def create_roles
- rgen "#{roles_generator} --strategy #{strategy} --roles #{roles} #{default_roles}"
+ rgen "#{roles_generator} User --strategy #{strategy} --roles #{roles} #{default_roles}"
end
def set_valid_roles_cream
user_exist?
if initializer_file? :cream
if read_model(:user) =~ /valid_roles_are/
replace_in_model_file :user, :where => /valid_roles_are\s+[(.*)]/, :with => 'valid_roles_are Cream.roles'
else
insert_into_model :user do
- "valid_roles_are Cream.roles"
+ "valid_roles_are Cream::Role.available"
end
end
else
say "Missing initializer file for cream. Please run Cream config generator to create this initializer"
end
@@ -105,10 +109,10 @@
def use_roles_strategy
user_exist?
unless read_model(:user) =~ /use_roles_strategy/
- inject_into_file model_file(:user), "use_roles_strategy :admin_flag\n\n", :before => "class"
+ inject_into_file model_file(:user), "use_roles_strategy :#{strategy}\n\n", :before => "class"
end
end
def default_roles
default_roles? ? '--default-roles' : '--no-default-roles'
\ No newline at end of file