Sha256: 0573d6756ebc7dcf1746313e5265141570567a7aa98458fc991b43e615b9b479
Contents?: true
Size: 941 Bytes
Versions: 10
Compression:
Stored size: 941 Bytes
Contents
module Dorsale::Flyboy::TaskPolicyHelper POLICY_METHODS = [ :list?, :export?, :create?, :read?, :update?, :delete?, :complete?, :snooze?, ] def create? return false if folder_is_closed? return false if cannot_read_taskable? super end def update? return false if folder_is_closed? super end def delete? return false if folder_is_closed? super end def complete? return false if task.done? super end def snooze? return false unless task.snoozable? super end private def folder_is_closed? return false unless task.is_a?(::Dorsale::Flyboy::Task) return false unless task.taskable.is_a?(::Dorsale::Flyboy::Folder) task.taskable.closed? end 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
10 entries across 10 versions & 1 rubygems