class Policy::Proxy
Public Class Methods
new(policy)
click to toggle source
# File lib/egoist/proxy.rb, line 24 def initialize policy @policy = policy end
Public Instance Methods
method_missing(name, *args) { |error| ... }
click to toggle source
# File lib/egoist/proxy.rb, line 28 def method_missing name, *args, &block name = name.to_s.sub(/(.)$/, '') action = $1 @policy.can?(name, *args) @policy.model || true rescue Policy::Error => error if block_given? yield error nil elsif action == '!' raise error elsif action == '?' nil else raise ArgumentError.new('Bad policy method %s' % name) end end