canvas-lms/gems/adheres_to_policy
James Williams 7f3eb3b828 cache 'false' values in adheres_to_policy
should improve performance in requests when permissions
 are checked for users that don't have them

(e.g. student grade summary page)

refs #CNVS-21317

Change-Id: I349a02664bcc81da1808e76bbc023f5d743f90a4
Reviewed-on: https://gerrit.instructure.com/56846
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-06-22 15:58:28 +00:00
..
lib cache 'false' values in adheres_to_policy 2015-06-22 15:58:28 +00:00
spec cache 'false' values in adheres_to_policy 2015-06-22 15:58:28 +00:00
.rspec convert adheres to policy plugin into proper gem 2014-01-31 17:22:45 +00:00
Gemfile begin rails 4 2014-08-27 23:09:17 +00:00
README.md increase permissions performance 2014-06-18 22:27:39 +00:00
Rakefile convert adheres to policy plugin into proper gem 2014-01-31 17:22:45 +00:00
adheres_to_policy.gemspec begin rails 4 2014-08-27 23:09:17 +00:00
test.sh do some cleanup on gem test runs 2015-05-18 22:39:17 +00:00

README.md

AdheresToPolicy

This allows us to do something like:

class Account < ActiveRecord::Base set_policy do given { |u| self.user == u } can :read and can :write end end

u = User.first a = Account.first a.check_policy(u)

License

Copyright (C) 2014 Instructure, Inc.

This file is part of Canvas.

Canvas is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.

Canvas is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.