Sha256: 0f25efc146847660dbdd6efb4f1cdd451f3e6242162d1be21f821d16f0717297
Contents?: true
Size: 909 Bytes
Versions: 2
Compression:
Stored size: 909 Bytes
Contents
require 'active_record' class CanHazPermission < ActiveRecord::Base validates :cobject_id, :uniqueness => {:scope => [:permission_name, :csubject_id]} # Gets the permission row between two objects # # @param subject [ActiveRecord::Base] The subject # @param object [ActiveRecord::Base] The object # @param permission [String, Symbol] The permission identifier # @return [CanHazPermission, nil] The corresponding permission if found or nil def self.find_permission(subject, object, permission) raise NotACanHazSubject unless subject.canhaz_subject? raise NotACanHazObject unless object.canhaz_object? results = CanHazPermission.where( :csubject_id => subject.id, :csubject_type => subject.class.to_s, :cobject_id => object.id, :cobject_type => object.class.to_s, :permission_name => permission ) results.first end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rails-canhaz-0.1.2 | lib/rails-canhaz/canhaz_permission.rb |
rails-canhaz-0.1.1 | lib/rails-canhaz/canhaz_permission.rb |