Class: ApplicationPolicy

Inherits:
Object
  • Object
show all
Defined in:
app/policies/application_policy.rb

Direct Known Subclasses

EmployeePolicy, EmployeeTimesheetPolicy

Constant Summary collapse

VALID_DISPLAYS =
%i[
  disabled
  hidden
]

Instance Method Summary collapse

Instance Method Details

#to_hObject



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/policies/application_policy.rb', line 7

def to_h
  policy_methods = self.class.instance_methods(false) - ApplicationPolicy.instance_methods(false)

  policy_methods.each_with_object({}) do |method, hash|
    hash[method] = send(method)
  rescue PermissionDeniedError => e
    hash[method] = {
      status: false,
      message: e.message,
      display: e.display
    }
  end
end