Sha256: 722482ed0444f891be2ae1d8582cb32c75b28f91e2d2d6c93064808c82864417

Contents?: true

Size: 945 Bytes

Versions: 44

Compression:

Stored size: 945 Bytes

Contents

module ThinkFeelDoEngine
  module Reports
    # Scenario: a Participant completes a Task on the assigned day.
    class TaskCompletion
      def self.columns
        %w( participant_id title completed_on )
      end

      def self.all
        Participant.select(:id, :study_id)
          .includes(:memberships).map do |participant|
          next unless participant.active_membership

          TaskStatus.where(membership_id: participant.active_membership.id)
            .map do |task_status|
            next unless task_status.completed_at.try(:to_date) ==
                        participant.active_membership.start_date +
                        task_status.start_day - 1

            {
              participant_id: participant.study_id,
              title: task_status.task.title,
              completed_on: task_status.completed_at.to_date.iso8601
            }
          end
        end.flatten.compact
      end
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
think_feel_do_engine-3.17.2 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.17.1 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.17.0 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.16.3 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.16.2 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.16.1 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.15.7 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.16.0 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.15.6 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.15.5 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.15.4 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.15.3 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.15.2 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.15.1 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.15.0 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.14.9 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.14.8 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.14.7 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.14.6 app/models/think_feel_do_engine/reports/task_completion.rb
think_feel_do_engine-3.14.5 app/models/think_feel_do_engine/reports/task_completion.rb