Sha256: 5536189652c8ca714e3e72cb9f4dad97f88a8dfa62eec63678a879ebbfd3d5f6

Contents?: true

Size: 672 Bytes

Versions: 1

Compression:

Stored size: 672 Bytes

Contents

class UserPolicy < AbstractResourcePolicy

  class Scope < Scope
    def resolve
      if current_user.admin?
        scope.all
      else
        scope.where(account_id: current_user.account.id)
      end
    end
  end


  def index?
    current_user.admin? || current_user.account_admin?
  end

  def show?
    current_user.admin? or current_user.account_admin? or current_user == model
  end

  def update?
    current_user.admin? || current_user.account_admin?
  end

  def create?
    current_user.admin? || current_user.account_admin?
  end

  def destroy?
    return false if @current_user == model
    current_user.admin? || current_user.account_admin?
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
oxen_account-0.1.0 app/policies/user_policy.rb