Sha256: 74865780ada77027da5bb00949fd3253b0774cd22a2f76306ba03ac4577ea733

Contents?: true

Size: 611 Bytes

Versions: 8

Compression:

Stored size: 611 Bytes

Contents

module Dorsale::Flyboy::TaskPolicyHelper
  POLICY_METHODS = [
    :list?,
    :export?,
    :create?,
    :read?,
    :comment?,
    :update?,
    :delete?,
    :complete?,
    :snooze?,
    :copy?,
  ]

  def create?
    return false if cannot_read_taskable?
    super
  end

  def complete?
    return false if task.done?
    super
  end

  def snooze?
    return false unless task.snoozer.snoozable?
    super
  end

  private

  def cannot_read_taskable?
    return false unless task.is_a?(::Dorsale::Flyboy::Task)
    return false unless task.taskable.present?

    ! policy(task.taskable).read?
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dorsale-3.8.1 app/policies/dorsale/flyboy/task_policy_helper.rb
dorsale-3.8.0 app/policies/dorsale/flyboy/task_policy_helper.rb
dorsale-3.7.8 app/policies/dorsale/flyboy/task_policy_helper.rb
dorsale-3.7.7 app/policies/dorsale/flyboy/task_policy_helper.rb
dorsale-3.7.6 app/policies/dorsale/flyboy/task_policy_helper.rb
dorsale-3.7.5 app/policies/dorsale/flyboy/task_policy_helper.rb
dorsale-3.7.4 app/policies/dorsale/flyboy/task_policy_helper.rb
dorsale-3.7.2 app/policies/dorsale/flyboy/task_policy_helper.rb