module Tasuku::Concerns::Models::Requirables::Requirable
Public Instance Methods
locked?(author)
click to toggle source
# File lib/tasuku/concerns/models/requirables/requirable.rb, line 13 def locked? author required_task_ids = self.task_requirements.pluck :requirement_id return false if required_task_ids.empty? completed_task_ids = Tasuku::Task.completed_by(author). where('tasuku_taskables_taskable_responses.task_id IN (?)', required_task_ids) completed_task_ids.length.eql?(required_task_ids.length) ? false : true end
locked_by_tasks(author)
click to toggle source
# File lib/tasuku/concerns/models/requirables/requirable.rb, line 23 def locked_by_tasks author completed_task_ids = Tasuku::Task.completed_by(author).pluck(:id) || [] scope = self.requirements scope = scope.where( 'tasuku_task_requirements.requirement_id NOT IN (?)', completed_task_ids ) unless completed_task_ids.empty? scope end