Sha256: 0c9d2d1bb7ca023a92f28e34efc33f67aca7373a9cf03dd023c057cc032f103c

Contents?: true

Size: 584 Bytes

Versions: 14

Compression:

Stored size: 584 Bytes

Contents

# frozen_string_literal: true

require 'ditty/policies/application_policy'

module Ditty
  class RolePolicy < ApplicationPolicy
    def create?
      user && user.super_admin?
    end

    def list?
      create?
    end

    def read?
      create?
    end

    def update?
      read?
    end

    def delete?
      create?
    end

    def permitted_attributes
      [:name]
    end

    class Scope < ApplicationPolicy::Scope
      def resolve
        if user && user.super_admin?
          scope
        else
          scope.where(id: -1)
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ditty-0.7.2 lib/ditty/policies/role_policy.rb
ditty-0.7.1 lib/ditty/policies/role_policy.rb
ditty-0.7.0 lib/ditty/policies/role_policy.rb
ditty-0.7.0.pre.rc1 lib/ditty/policies/role_policy.rb
ditty-0.6.0 lib/ditty/policies/role_policy.rb
ditty-0.4.1 lib/ditty/policies/role_policy.rb
ditty-0.4.0 lib/ditty/policies/role_policy.rb
ditty-0.3.3 lib/ditty/policies/role_policy.rb
ditty-0.3.2 lib/ditty/policies/role_policy.rb
ditty-0.3.1 lib/ditty/policies/role_policy.rb
ditty-0.3.0 lib/ditty/policies/role_policy.rb
ditty-0.2.2 lib/ditty/policies/role_policy.rb
ditty-0.2.1 lib/ditty/policies/role_policy.rb
ditty-0.2.0 lib/ditty/policies/role_policy.rb