class GlobalRoles::Generators::InstallGenerator

Constants

DEFAULT_ROLES

Public Instance Methods

inject_user_class() click to toggle source
# File lib/generators/global_roles/install_generator.rb, line 17
      def inject_user_class
        inject_into_file(model_path, :after => inject_global_roles_method) do
<<RUBY

  # Global roles
  ROLES = #{roles_list}
  setup_global_roles!#{default_role}

RUBY
        end
      end
setup_migration() click to toggle source
# File lib/generators/global_roles/install_generator.rb, line 29
def setup_migration
  invoke "active_record:install", [ name, fetch_default ]
end

Protected Instance Methods

default_role() click to toggle source
# File lib/generators/global_roles/install_generator.rb, line 57
def default_role
  a = fetch_default
  (a == -1) ? '' : " default: :#{roles_list[a]}"
end
fetch_default() click to toggle source
# File lib/generators/global_roles/install_generator.rb, line 52
def fetch_default
  d = roles.map {|r| r.split(':') }.select {|r| r[1] == 'default'}
  d.empty? ? -1 : roles_list.index(d[0].first.to_sym)
end
inject_global_roles_method() click to toggle source
# File lib/generators/global_roles/install_generator.rb, line 35
def inject_global_roles_method
  Regexp.union(
    /class #{class_name.camelize}\n/,
    /class #{class_name.camelize} .*\n/,
    /class #{class_name.demodulize.camelize}\n/,
    /class #{class_name.demodulize.camelize} .*\n/
  )
end
model_path() click to toggle source
# File lib/generators/global_roles/install_generator.rb, line 44
def model_path
  File.join("app", "models", "#{file_path}.rb")
end
roles_list() click to toggle source
# File lib/generators/global_roles/install_generator.rb, line 48
def roles_list
  roles.map{ |r| r.split(':').first.to_sym }
end