Sha256: 1585635eff176d6682b90cd370545c842573d193764ab82d37ceac5c1c4f2631
Contents?: true
Size: 1.2 KB
Versions: 5
Compression:
Stored size: 1.2 KB
Contents
module RestfulAclHelper def indexable return true if admin_enabled klass.is_indexable_by(current_user, parent_obj) end def creatable return true if admin_enabled klass.is_creatable_by(current_user, parent_obj) end alias_method :createable, :creatable def updatable(object) return true if admin_enabled parent = object.get_mom rescue nil object.is_updatable_by(current_user, parent) end alias_method :updateable, :updatable def deletable(object) return true if admin_enabled parent = object.get_mom rescue nil object.is_deletable_by(current_user, parent) end alias_method :deleteable, :deletable def readable(object) return true if admin_enabled parent = object.get_mom rescue nil object.is_readable_by(current_user, parent) end private def klass params[:controller].classify.demodulize.constantize end def parent_obj parent_klass.find(parent_id) rescue nil end def parent_klass klass.parent.to_s.classify.constantize end def parent_id params["#{klass.parent.to_s}_id"] end def admin_enabled current_user.respond_to?("is_admin?") && current_user.is_admin? end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
restful_acl-2.1.3 | lib/restful_acl/helper.rb |
restful_acl-2.1.2 | lib/helper.rb |
restful_acl-2.1.1 | lib/helper.rb |
restful_acl-2.1.0 | lib/helper.rb |
restful_acl-2.1 | lib/helper.rb |