Sha256: 0ce7dda953a77fee24272469b9c9a1de802b4f90f874ff6c33ea776576f77a09
Contents?: true
Size: 1.49 KB
Versions: 3
Compression:
Stored size: 1.49 KB
Contents
module Rolify module Configure @@dynamic_shortcuts = false @@orm = "active_record" @@remove_role_if_empty = true def configure(*role_cnames) return if !sanity_check(role_cnames) yield self if block_given? end def dynamic_shortcuts @@dynamic_shortcuts end def dynamic_shortcuts=(is_dynamic) @@dynamic_shortcuts = is_dynamic end def orm @@orm end def orm=(orm) @@orm = orm end def use_mongoid self.orm = "mongoid" end def use_dynamic_shortcuts self.dynamic_shortcuts = true end def use_defaults configure do |config| config.dynamic_shortcuts = false config.orm = "active_record" end end def remove_role_if_empty=(is_remove) @@remove_role_if_empty = is_remove end def remove_role_if_empty @@remove_role_if_empty end private def sanity_check(role_cnames) return true if "assets:precompile"==ARGV[0] role_cnames = [ "Role" ] if role_cnames.empty? role_cnames.each do |role_cname| role_class = role_cname.constantize if role_class.superclass.to_s == "ActiveRecord::Base" && role_table_missing?(role_class) warn "[WARN] table '#{role_cname}' doesn't exist. Did you run the migration ? Ignoring rolify config." return false end end true end def role_table_missing?(role_class) role_class.connected? && !role_class.table_exists? end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rolify-3.5.2 | lib/rolify/configure.rb |
rolify-3.5.1 | lib/rolify/configure.rb |
rolify-3.5.0 | lib/rolify/configure.rb |