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