canvas_shim 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 679cecc8b153257e7993a6fe3a48bfec0cc4eb29be5e171df36479edd18d73ed
4
- data.tar.gz: 02c799f1891990f84fb5d2ceab60c6a549a52dbba3dfbe01998412af63a1aa60
3
+ metadata.gz: 56234ee394496d4b0430d19e6ba708a38d08790b2dacd2b584efbb1d0cd388f4
4
+ data.tar.gz: '08de3a1c5a958a7b6e181c6b73c1410a41c9c53cfd2d613d9ee84c766e798d0a'
5
5
  SHA512:
6
- metadata.gz: b0b926cec810b6e55f1956541902439be3199fdcfab26079312253e10b8aac830b358a7aaf31e0ea1af1946f18c1ff72da66d2a6bdfd83428bcf1c20c4300b64
7
- data.tar.gz: 5c232ed55e4430c1ba4e6d50fb4670a8bf69981d3852c7457f899ccfc8abf9948803ea9415322da6740f41dc4835d56401937a769005c0b06dc1c08c2c22376d
6
+ metadata.gz: 006c49ca5b5e8205681b57b6ebd7c047fcf2071939faf0a78c78379b36aa8ed71d16165c49e1d5f0664b2cdefae2cda481519b11ae8a8e30bca2ba4e936932eb
7
+ data.tar.gz: 579759304ca6fe7662c92d927a514a47456964799531f2b209d52b2289551ce8f000103e4bf97ec600ec243c3d3b45802663666dcde320db91f2dc535d0e922a
@@ -2,7 +2,9 @@ require 'fileutils'
2
2
 
3
3
  module GradesService
4
4
  def self.zero_out_grades!(options={})
5
- return unless SettingsService.get_settings(object: :school, id: 1)['zero_out_past_due'] == 'on'
5
+ settings = SettingsService.get_settings(object: :school, id: 1)
6
+ return unless settings
7
+ return unless settings['zero_out_past_due'] == 'on'
6
8
 
7
9
  options[:log_file] = 'zero_grader_audit_' + Time.now.strftime('%Y%m%d%H%M') + '.csv'
8
10
  FileUtils.touch('/tmp/' + options[:log_file])
@@ -14,14 +16,7 @@ module GradesService
14
16
  end
15
17
 
16
18
  def self.submissions
17
- Submission
18
- .joins(assignment: :course)
19
- .where('submissions.workflow_state = ?', 'unsubmitted')
20
- .where(score: nil)
21
- .where(grade: nil)
22
- .where('assignments.due_at < ?', 1.hour.ago)
23
- .where('courses.conclude_at > ?', Time.now)
24
- .where('assignments.workflow_state = ?', 'published')
19
+ Queries::ZeroGraderSubmissions.new.query
25
20
  end
26
21
 
27
22
  def self.save_audit(options)
@@ -0,0 +1,34 @@
1
+ module GradesService
2
+ module Queries
3
+ class ZeroGraderSubmissions
4
+ def initialize
5
+ @zero_grader_start_date = SettingsService.get_settings(object: :school, id: 1)['zero_out_start_date']
6
+ end
7
+
8
+ def query
9
+ submissions_scope
10
+ start_date_scope if zero_grader_start_date
11
+ scope
12
+ end
13
+
14
+ private
15
+
16
+ attr_accessor :scope, :zero_grader_start_date
17
+
18
+ def submissions_scope
19
+ @scope = Submission
20
+ .joins(assignment: :course)
21
+ .where('submissions.workflow_state = ?', 'unsubmitted')
22
+ .where(score: nil)
23
+ .where(grade: nil)
24
+ .where('assignments.due_at < ?', 1.hour.ago)
25
+ .where('courses.conclude_at > ?', Time.now)
26
+ .where('assignments.workflow_state = ?', 'published')
27
+ end
28
+
29
+ def start_date_scope
30
+ @scope = scope.where('courses.start_at >= ?', zero_grader_start_date)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,3 +1,3 @@
1
1
  module CanvasShim
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canvas_shim
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-26 00:00:00.000000000 Z
11
+ date: 2018-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -206,6 +206,7 @@ files:
206
206
  - app/services/grades_service/account.rb
207
207
  - app/services/grades_service/commands/zero_out_assignment_grades.rb
208
208
  - app/services/grades_service/commands/zero_out_assignment_grades_rollback.rb
209
+ - app/services/grades_service/queries/zero_grader_submissions.rb
209
210
  - app/services/pipeline_service.rb
210
211
  - app/services/pipeline_service/account.rb
211
212
  - app/services/pipeline_service/api/publish.rb