Sha256: 47a2f747184c1e37ac7b4d79ca22edd18daf3f8d6fb2ea7f8ab32cbcc107e732
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
module Zuul module ActiveRecord module Permission def self.included(base) base.send :extend, ClassMethods base.send :include, ContextMethods # defined in lib/zuul/active_record.rb end module ClassMethods def self.extended(base) base.send :attr_accessible, :context, :context_id, :context_type, :slug add_validations base add_associations base end def self.add_validations(base) base.send :validates_presence_of, :slug base.send :validates_uniqueness_of, :slug, :scope => [:context_id, :context_type], :case_sensitive => false base.send :validates_format_of, :slug, :with => /\A[a-z0-9_]+\Z/ end def self.add_associations(base) base.send :has_many, base.auth_scope.permission_roles_table_name.to_sym base.send :has_many, base.auth_scope.roles_table_name.to_sym, :through => base.auth_scope.permission_roles_table_name.to_sym base.send :has_many, base.auth_scope.permission_subjects_table_name.to_sym base.send :has_many, base.auth_scope.subjects_table_name.to_sym, :through => base.auth_scope.permission_subjects_table_name.to_sym end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
zuul-0.2.2 | lib/zuul/active_record/permission.rb |
zuul-0.2.1 | lib/zuul/active_record/permission.rb |
zuul-0.2.0 | lib/zuul/active_record/permission.rb |