Sha256: 8bfd352bffc5b660aad428f1c5f21e8ae9cb16d7e5395467df6607a0c634bace
Contents?: true
Size: 719 Bytes
Versions: 6
Compression:
Stored size: 719 Bytes
Contents
# frozen_string_literal: true require 'ditty/policies/application_policy' module Ditty class UserPolicy < ApplicationPolicy def create? user && user.super_admin? end def list? create? end def read? user && (record.id == user.id || user.super_admin?) end def update? read? end def delete? create? end def permitted_attributes attribs = %i[email name surname] attribs << :role_id if user.super_admin? attribs end class Scope < ApplicationPolicy::Scope def resolve if user && user.super_admin? scope else scope.where(id: user.id) end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems