Sha256: 2b2e87f1b0d1ae3d35ae4299ed998f0bc6f858996cd3fd320ec0b2820462e233

Contents?: true

Size: 630 Bytes

Versions: 10

Compression:

Stored size: 630 Bytes

Contents

class CheckoutPolicy < ApplicationPolicy
  def index?
    true
  end

  def show?
    if user.try(:has_role?, 'Librarian')
      true
    elsif user and user == record.user
      true
    end
  end

  def create?
    user.try(:has_role?, 'Librarian')
  end

  def update?
    if user.try(:has_role?, 'Librarian')
      true
    elsif user and user == record.user
      true
    end
  end

  def destroy?
    if record.checkin
      if user.try(:has_role?, 'Librarian')
        true
      elsif user and user == record.user
        true
      end
    end
  end

  def remove_all?
    true if user.try(:has_role?, 'User')
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
enju_circulation-0.2.5 app/policies/checkout_policy.rb
enju_circulation-0.2.4 app/policies/checkout_policy.rb
enju_circulation-0.2.3 app/policies/checkout_policy.rb
enju_circulation-0.2.2 app/policies/checkout_policy.rb
enju_circulation-0.2.1 app/policies/checkout_policy.rb
enju_circulation-0.2.0 app/policies/checkout_policy.rb
enju_circulation-0.2.0.beta.4 app/policies/checkout_policy.rb
enju_circulation-0.2.0.beta.3 app/policies/checkout_policy.rb
enju_circulation-0.2.0.beta.2 app/policies/checkout_policy.rb
enju_circulation-0.2.0.beta.1 app/policies/checkout_policy.rb