module Garage::Authorizable

Public Instance Methods

authorize!(subject, action) click to toggle source
# File lib/garage/authorizable.rb, line 22
def authorize!(subject, action)
  effective_permissions(subject).authorize!(action)
end
build_permissions(perms, subject) click to toggle source
# File lib/garage/authorizable.rb, line 12
def build_permissions(perms, subject)
  raise NotImplementedError, "#{self.class}#build_permissions must be implemented"
end
effective_permissions(subject) click to toggle source
# File lib/garage/authorizable.rb, line 16
def effective_permissions(subject)
  Garage::Permissions.new(subject, resource_class).tap do |perms|
    build_permissions(perms, subject)
  end
end