Sha256: 081ce3a670121e8f0a031a590aed8b170744c66dd0da2937f498007e73740f28
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 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 return if !sanity_check([]) 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 (ARGV[0] =~ /assets:/) == 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.table_exists? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rolify-4.1.1 | lib/rolify/configure.rb |
rolify-4.1.0 | lib/rolify/configure.rb |