Class: UnitsService::Queries::GetSubmissions

Inherits:
Object
  • Object
show all
Defined in:
app/services/units_service/queries/get_submissions.rb

Instance Method Summary collapse

Constructor Details

#initialize(course:, student:) ⇒ GetSubmissions

Returns a new instance of GetSubmissions.



4
5
6
7
# File 'app/services/units_service/queries/get_submissions.rb', line 4

def initialize(course:, student:)
  @student = student
  @course = course
end

Instance Method Details

#queryObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/services/units_service/queries/get_submissions.rb', line 9

def query
  result = {}
  units.each do |unit, items|
    items.each do |item|
      item.content.submissions
        .where(user_id: @student.id)
        .where("excused is not true").each do |submission|
          result[unit] ||= []
          result[unit] << submission
        end
    end
  end

  result
end

#unitsObject



25
26
27
# File 'app/services/units_service/queries/get_submissions.rb', line 25

def units
  GetItems.new(course: @course).query
end