Sha256: f29e9b4210cad0e7ef339f33df5554e4bf91cdece2aba8b4f9e87ee1dafe4b74
Contents?: true
Size: 757 Bytes
Versions: 4
Compression:
Stored size: 757 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 register? true 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
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ditty-0.3.0 | lib/ditty/policies/user_policy.rb |
ditty-0.2.2 | lib/ditty/policies/user_policy.rb |
ditty-0.2.1 | lib/ditty/policies/user_policy.rb |
ditty-0.2.0 | lib/ditty/policies/user_policy.rb |