lib/generators/cream/config/modules/roles_config.rb in cream-0.6.1 vs lib/generators/cream/config/modules/roles_config.rb in cream-0.6.3
- old
+ new
@@ -1,15 +1,39 @@
module Cream::Generators
module Config
module Roles
- def configure_roles_gems
+ def configure_roles
+ create_roles
+ set_valid_roles_cream
+ use_roles_strategy
+ end
+
+ def roles_gems
gem "roles_#{orm}"
end
- def configure_roles
- command = "rails g #{orm}:roles --strategy #{strategy} --roles #{roles} #{default_roles}"
- logger.debug command
- run command
+ def create_roles
+ rgen "#{roles_generator} --strategy #{strategy} --roles #{roles} #{default_roles}"
+ end
+
+ def set_valid_roles_cream
+ if initializer_file? :cream
+ replace_in_model_file :user, :where => /valid_roles_are\s+[(.*)]/, :with => 'valid_roles_are Cream.roles'
+ end
+ end
+
+ def use_roles_strategy
+ unless read_model_file(:user) =~ /use_roles_strategy/
+ insert_into_model :user do
+ "use_roles_strategy :admin_flag"
+ end
+ end
+ end
+
+ protected
+
+ def default_roles
+ default_roles? ? '--default-roles' : '--no-default-roles'
end
end
end
end