class Micro::Authorization::Policy
Public Class Methods
new(context, subject = nil, permissions: nil)
click to toggle source
# File lib/micro/authorization/policy.rb, line 12 def initialize(context, subject = nil, permissions: nil) @context = context @subject = subject @permissions = permissions end
type(klass)
click to toggle source
# File lib/micro/authorization/policy.rb, line 6 def self.type(klass) return klass if klass < self raise ArgumentError, "policy must be a #{self.name}" end
Public Instance Methods
method_missing(method, *args, **keyargs, &block)
click to toggle source
Calls superclass method
# File lib/micro/authorization/policy.rb, line 18 def method_missing(method, *args, **keyargs, &block) return false if method =~ /\?\z/ super(method) end
Private Instance Methods
context()
click to toggle source
# File lib/micro/authorization/policy.rb, line 25 def context; @context; end
current_user()
click to toggle source
# File lib/micro/authorization/policy.rb, line 28 def current_user @current_user ||= context[:user] || context[:current_user] end
Also aliased as: user
permissions()
click to toggle source
# File lib/micro/authorization/policy.rb, line 27 def permissions; @permissions; end
subject()
click to toggle source
# File lib/micro/authorization/policy.rb, line 26 def subject; @subject; end