canvas_sync 0.19.0.beta10 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/canvas_sync/concerns/account/ancestry.rb +1 -1
  3. data/lib/canvas_sync/concerns/api_syncable.rb +1 -1
  4. data/lib/canvas_sync/generators/templates/migrations/create_course_nicknames.rb +17 -0
  5. data/lib/canvas_sync/generators/templates/models/course_nickname.rb +13 -0
  6. data/lib/canvas_sync/processors/model_mappings.yml +18 -0
  7. data/lib/canvas_sync/processors/provisioning_report_processor.rb +10 -0
  8. data/lib/canvas_sync/record.rb +1 -1
  9. data/lib/canvas_sync/version.rb +1 -1
  10. data/lib/canvas_sync.rb +1 -0
  11. data/spec/canvas_sync/processors/provisioning_report_processor_spec.rb +9 -0
  12. data/spec/dummy/app/models/account.rb +2 -0
  13. data/spec/dummy/app/models/admin.rb +2 -0
  14. data/spec/dummy/app/models/assignment.rb +2 -0
  15. data/spec/dummy/app/models/assignment_group.rb +2 -0
  16. data/spec/dummy/app/models/content_migration.rb +2 -0
  17. data/spec/dummy/app/models/context_module.rb +2 -0
  18. data/spec/dummy/app/models/context_module_item.rb +2 -0
  19. data/spec/dummy/app/models/course.rb +2 -0
  20. data/spec/dummy/app/models/course_nickname.rb +19 -0
  21. data/spec/dummy/app/models/enrollment.rb +2 -0
  22. data/spec/dummy/app/models/grading_period.rb +2 -0
  23. data/spec/dummy/app/models/grading_period_group.rb +2 -0
  24. data/spec/dummy/app/models/group.rb +2 -0
  25. data/spec/dummy/app/models/group_membership.rb +2 -0
  26. data/spec/dummy/app/models/learning_outcome.rb +2 -0
  27. data/spec/dummy/app/models/pseudonym.rb +2 -0
  28. data/spec/dummy/app/models/role.rb +2 -0
  29. data/spec/dummy/app/models/section.rb +2 -0
  30. data/spec/dummy/app/models/submission.rb +2 -0
  31. data/spec/dummy/app/models/term.rb +2 -0
  32. data/spec/dummy/app/models/user.rb +2 -0
  33. data/spec/dummy/app/models/user_observer.rb +2 -0
  34. data/spec/dummy/db/migrate/20240408223326_create_course_nicknames.rb +23 -0
  35. data/spec/dummy/db/schema.rb +12 -1
  36. data/spec/support/fixtures/reports/course_nicknames.csv +3 -0
  37. metadata +12 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3cd64554a1f451160b874e8901b7275a25b6f9c526d687a29e531abff9f0b285
4
- data.tar.gz: 9cac31449a633b4c3513088abf00b0274b0ce794e54f72742d65802bf2bb5a8c
3
+ metadata.gz: 56b320065eb2aec256795336a077f2c5c93652293313bd3d69ebbb8f65a70d4e
4
+ data.tar.gz: 750f717c88eebcdebc3959bd084fd2872bee21f7bb507ae7f15207ad2ea9bfcd
5
5
  SHA512:
6
- metadata.gz: a479a1705e765b3e338c7aed688728436fbeedd82809218bcbd288775e9a2175c62d5294dc2a206fdb77a7945f0223be723b74e9ec6800635841124e42149c22
7
- data.tar.gz: 96bef245b0ba1a4de671dfc1d49a184d35bd03fea62efad44dbaac1bdcff345cabd19b1f12147f1d334b967641ce72e9c66704e0709f55b5f2378475d39d9d86
6
+ metadata.gz: b98a1f43e84bda12e540da6d4d45c2e5781435db2232f7b71400d42991cfd7cb38e1c686930801e3e91ac9ccd97e550e2cf5661e4895cbd804cfd7bd739bed8d
7
+ data.tar.gz: b0e1546e0ceb23dc1577cdaab04a6b6e64fe2351634aa1cd3a0cc8897d78d301585350f68baf577badcccedd77b9280a7d8fb65e0c7abfb574bee2120d086c2f
@@ -11,7 +11,7 @@ module CanvasSync::Concerns
11
11
  extend ActiveSupport::Concern
12
12
  include CanvasSync::Record
13
13
 
14
- CanvasSync::Record.define_feature self, default: ->{ column_names.include?("ancestry") }
14
+ CanvasSync::Record.define_feature self, default: ->{ column_names.include?("ancestry") rescue nil }
15
15
 
16
16
  included do
17
17
  has_ancestry
@@ -1,7 +1,7 @@
1
1
  module CanvasSync::Concerns
2
2
  module ApiSyncable
3
3
  extend ActiveSupport::Concern
4
- NON_EXISTANT_ERRORS = [Faraday::Error::ResourceNotFound, Footrest::HttpError::NotFound]
4
+ NON_EXISTANT_ERRORS = [Faraday::ResourceNotFound, Footrest::HttpError::NotFound]
5
5
 
6
6
  class_methods do
7
7
  def find_or_fetch(canvas_id, save: false, retries: 1, **kwargs)
@@ -0,0 +1,17 @@
1
+ # <%= autogenerated_migration_warning %>
2
+
3
+ class CreateCourseNicknames < ActiveRecord::Migration[5.1]
4
+ def change
5
+ create_table :course_nicknames do |t|
6
+ t.bigint :canvas_user_preference_value_id, null: false
7
+ t.integer :canvas_user_id
8
+ t.integer :canvas_course_id
9
+ t.string :nickname
10
+
11
+ t.timestamps
12
+ end
13
+
14
+ add_index :course_nicknames, :canvas_user_preference_value_id, unique: true
15
+ add_index :course_nicknames, [:canvas_course_id, :canvas_user_id], unique: true
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ # # <%= autogenerated_migration_warning %>
4
+
5
+ class CourseNickname < ApplicationRecord
6
+ include CanvasSync::Record
7
+ include CanvasSync::Concerns::ApiSyncable
8
+
9
+ canvas_sync_features :defaults
10
+
11
+ belongs_to :user, primary_key: :canvas_id, foreign_key: :canvas_user_id, optional: true
12
+ belongs_to :course, primary_key: :canvas_id, foreign_key: :canvas_course_id, optional: true
13
+ end
@@ -565,3 +565,21 @@ learning_outcomes:
565
565
  description:
566
566
  database_column_name: description
567
567
  type: string
568
+
569
+ course_nicknames:
570
+ conflict_target:
571
+ - canvas_user_id
572
+ - canvas_course_id
573
+ report_columns:
574
+ user_preference_value_id:
575
+ database_column_name: canvas_user_preference_value_id
576
+ type: integer
577
+ canvas_user_id:
578
+ database_column_name: canvas_user_id
579
+ type: integer
580
+ canvas_course_id:
581
+ database_column_name: canvas_course_id
582
+ type: integer
583
+ nickname:
584
+ database_column_name: nickname
585
+ type: string
@@ -123,6 +123,16 @@ module CanvasSync
123
123
  row
124
124
  end
125
125
  end
126
+
127
+ def bulk_process_course_nicknames(report_file_path)
128
+ exists = []
129
+ do_bulk_import(report_file_path, CourseNickname, options: @options) do |row|
130
+ exists << row[:user_preference_value_id]
131
+ row
132
+ end
133
+ # Canvas does not soft delete UserPreferenceValues so there's no point in doing the same
134
+ CourseNickname.where.not(canvas_user_preference_value_id: exists).delete_all
135
+ end
126
136
  end
127
137
  end
128
138
  end
@@ -47,7 +47,7 @@ module CanvasSync
47
47
  feat = applicable_canvas_sync_features[feature]
48
48
 
49
49
  if !feat
50
- raise "Unkown feature :#{feature} for model #{self}"
50
+ raise "Unknown feature :#{feature} for model #{self}"
51
51
  end
52
52
 
53
53
  setup = feat[:setup]
@@ -1,3 +1,3 @@
1
1
  module CanvasSync
2
- VERSION = "0.19.0.beta10".freeze
2
+ VERSION = "0.19.0".freeze
3
3
  end
data/lib/canvas_sync.rb CHANGED
@@ -46,6 +46,7 @@ module CanvasSync
46
46
  grading_period_groups
47
47
  content_migrations
48
48
  learning_outcomes
49
+ course_nicknames
49
50
  ].freeze
50
51
 
51
52
  SUPPORTED_TERM_SCOPE_MODELS = %w[
@@ -131,6 +131,15 @@ RSpec.describe CanvasSync::Processors::ProvisioningReportProcessor do
131
131
  }.to change { LearningOutcome.count }.by(2)
132
132
  end
133
133
 
134
+ it 'processes course_nicknames' do
135
+ CourseNickname.create(canvas_user_preference_value_id: 42, canvas_course_id: 42, canvas_user_id: 42, nickname: 'test')
136
+ expect(CourseNickname.all.pluck(:canvas_user_preference_value_id)).to include(42)
137
+ expect {
138
+ subject.process('spec/support/fixtures/reports/course_nicknames.csv', { models: ['course_nicknames'] }, 1)
139
+ }.to change { CourseNickname.count }.by(1)
140
+ expect(CourseNickname.all.pluck(:canvas_user_preference_value_id)).not_to include(42)
141
+ end
142
+
134
143
  it 'model with composite key behaves as expected' do
135
144
  expect {
136
145
  subject.process('spec/support/fixtures/reports/user_observers.csv', { models: ['user_observers'] }, 1)
@@ -11,6 +11,8 @@ class Account < ApplicationRecord
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
  # include CanvasSync::Concerns::Account::Ancestry # Add support for the ancestry Gem
13
13
 
14
+ canvas_sync_features :defaults
15
+
14
16
  validates :canvas_id, uniqueness: true, presence: true
15
17
 
16
18
  has_many :admins, primary_key: :canvas_id, foreign_key: :canvas_account_id
@@ -10,6 +10,8 @@ class Admin < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :account, primary_key: :canvas_id, foreign_key: :canvas_account_id, optional: true
15
17
  belongs_to :user, primary_key: :canvas_id, foreign_key: :canvas_user_id, optional: true
@@ -10,6 +10,8 @@ class Assignment < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :context, polymorphic: true, optional: true, primary_key: :canvas_id, foreign_key: :canvas_context_id, foreign_type: :canvas_context_type
15
17
  belongs_to :assignment_group, optional: true, primary_key: :canvas_id, foreign_key: :canvas_assignment_group_id
@@ -10,6 +10,8 @@ class AssignmentGroup < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :course, primary_key: :canvas_id, foreign_key: :canvas_course_id, optional: true
15
17
  has_many :assignments, primary_key: :canvas_id, foreign_key: :canvas_assignment_group_id
@@ -10,6 +10,8 @@ class ContentMigration < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :context, polymorphic: true, optional: true, primary_key: :canvas_id, foreign_key: :canvas_context_id, foreign_type: :canvas_context_type
15
17
 
@@ -13,6 +13,8 @@ class ContextModule < ApplicationRecord
13
13
  include CanvasSync::Record
14
14
  include CanvasSync::Concerns::ApiSyncable
15
15
 
16
+ canvas_sync_features :defaults
17
+
16
18
  belongs_to :context, polymorphic: true, optional: true, primary_key: :canvas_id, foreign_key: :canvas_context_id, foreign_type: :canvas_context_type
17
19
  has_many :context_module_items, primary_key: :canvas_id, foreign_key: :canvas_context_module_id
18
20
  has_many :assignments, through: :context_module_items
@@ -10,6 +10,8 @@ class ContextModuleItem < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  belongs_to :context_module, primary_key: :canvas_id, foreign_key: :canvas_context_module_id, optional: true
14
16
  belongs_to :content, polymorphic: true, optional: true, primary_key: :canvas_id, foreign_key: :canvas_content_id, foreign_type: :canvas_content_type
15
17
  belongs_to :assignment, foreign_key: :canvas_assignment_id, primary_key: :canvas_id
@@ -10,6 +10,8 @@ class Course < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :term, foreign_key: :canvas_term_id, primary_key: :canvas_id, optional: true
15
17
  has_many :enrollments, primary_key: :canvas_id, foreign_key: :canvas_course_id
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ # # #
4
+ # AUTO GENERATED MIGRATION
5
+ # This migration was auto generated by the CanvasSync Gem.
6
+ # You can add new columns to this table, but removing or
7
+ # re-naming ones created here may break Canvas Syncing.
8
+ #
9
+
10
+
11
+ class CourseNickname < ApplicationRecord
12
+ include CanvasSync::Record
13
+ include CanvasSync::Concerns::ApiSyncable
14
+
15
+ canvas_sync_features :defaults
16
+
17
+ belongs_to :user, primary_key: :canvas_id, foreign_key: :canvas_user_id, optional: true
18
+ belongs_to :course, primary_key: :canvas_id, foreign_key: :canvas_course_id, optional: true
19
+ end
@@ -10,6 +10,8 @@ class Enrollment < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :user, primary_key: :canvas_id, foreign_key: :canvas_user_id, optional: true
15
17
  belongs_to :role, primary_key: :canvas_id, foreign_key: :canvas_role_id, optional: true
@@ -9,6 +9,8 @@
9
9
  class GradingPeriod < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
 
12
+ canvas_sync_features :defaults
13
+
12
14
  validates :canvas_id, uniqueness: true, presence: true
13
15
  belongs_to :grading_period_group, primary_key: :canvas_id, foreign_key: :canvas_grading_period_group_id, optional: true
14
16
  end
@@ -9,5 +9,7 @@
9
9
  class GradingPeriodGroup < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
 
12
+ canvas_sync_features :defaults
13
+
12
14
  validates :canvas_id, uniqueness: true, presence: true
13
15
  end
@@ -10,6 +10,8 @@ class Group < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :course, primary_key: :canvas_id, foreign_key: :canvas_course_id, optional: true
15
17
  belongs_to :account, primary_key: :canvas_id, foreign_key: :canvas_account_id, optional: true
@@ -10,6 +10,8 @@ class GroupMembership < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :group, primary_key: :canvas_id, foreign_key: :canvas_group_id
15
17
  belongs_to :user, primary_key: :canvas_id, foreign_key: :canvas_user_id
@@ -12,6 +12,8 @@ class LearningOutcome < ApplicationRecord
12
12
  include CanvasSync::Record
13
13
  include CanvasSync::Concerns::ApiSyncable
14
14
 
15
+ canvas_sync_features :defaults
16
+
15
17
  belongs_to :context, polymorphic: true, optional: true, primary_key: :canvas_id, foreign_key: :canvas_context_id, foreign_type: :canvas_context_type
16
18
 
17
19
  api_syncable({
@@ -9,6 +9,8 @@
9
9
  class Pseudonym < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
 
12
+ canvas_sync_features :defaults
13
+
12
14
  validates :canvas_id, uniqueness: true, presence: true
13
15
  belongs_to :user, primary_key: :canvas_id, foreign_key: :canvas_user_id
14
16
  end
@@ -10,6 +10,8 @@ class Role < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  has_many :admins, foreign_key: :canvas_role_id, primary_key: :canvas_id
15
17
 
@@ -10,6 +10,8 @@ class Section < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :course, primary_key: :canvas_id, foreign_key: :canvas_course_id, optional: true
15
17
  has_many :enrollments, primary_key: :canvas_id, foreign_key: :canvas_section_id
@@ -10,6 +10,8 @@ class Submission < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  belongs_to :assignment, primary_key: :canvas_id, foreign_key: :canvas_assignment_id, optional: true
15
17
  belongs_to :user, primary_key: :canvas_id, foreign_key: :canvas_user_id, optional: true
@@ -10,6 +10,8 @@ class Term < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  has_many :courses, foreign_key: :canvas_term_id, primary_key: :canvas_id
15
17
  belongs_to :grading_period_group, primary_key: :canvas_id, foreign_key: :grading_period_group_id, optional: true
@@ -10,6 +10,8 @@ class User < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
  has_many :pseudonyms, primary_key: :canvas_id, foreign_key: :canvas_user_id
15
17
  has_many :enrollments, primary_key: :canvas_id, foreign_key: :canvas_user_id
@@ -10,6 +10,8 @@ class UserObserver < ApplicationRecord
10
10
  include CanvasSync::Record
11
11
  include CanvasSync::Concerns::ApiSyncable
12
12
 
13
+ canvas_sync_features :defaults
14
+
13
15
  validates :canvas_id, uniqueness: true, presence: true
14
16
 
15
17
  belongs_to :observing_user, primary_key: :canvas_id, foreign_key: :observing_user_id, class_name: 'User', optional: true
@@ -0,0 +1,23 @@
1
+ # #
2
+ # AUTO GENERATED MIGRATION
3
+ # This migration was auto generated by the CanvasSync Gem.
4
+ # You can add new columns to this table, but removing or
5
+ # re-naming ones created here may break Canvas Syncing.
6
+ #
7
+
8
+
9
+ class CreateCourseNicknames < ActiveRecord::Migration[5.1]
10
+ def change
11
+ create_table :course_nicknames do |t|
12
+ t.bigint :canvas_user_preference_value_id, null: false
13
+ t.integer :canvas_user_id
14
+ t.integer :canvas_course_id
15
+ t.string :nickname
16
+
17
+ t.timestamps
18
+ end
19
+
20
+ add_index :course_nicknames, :canvas_user_preference_value_id, unique: true
21
+ add_index :course_nicknames, [:canvas_course_id, :canvas_user_id], unique: true
22
+ end
23
+ end
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # It's strongly recommended that you check this file into your version control system.
12
12
 
13
- ActiveRecord::Schema.define(version: 2022_09_26_221926) do
13
+ ActiveRecord::Schema.define(version: 2024_04_08_223326) do
14
14
 
15
15
  # These are extensions that must be enabled in order to support this database
16
16
  enable_extension "plpgsql"
@@ -157,6 +157,17 @@ ActiveRecord::Schema.define(version: 2022_09_26_221926) do
157
157
  t.index ["canvas_id"], name: "index_context_modules_on_canvas_id", unique: true
158
158
  end
159
159
 
160
+ create_table "course_nicknames", force: :cascade do |t|
161
+ t.bigint "canvas_user_preference_value_id", null: false
162
+ t.integer "canvas_user_id"
163
+ t.integer "canvas_course_id"
164
+ t.string "nickname"
165
+ t.datetime "created_at", null: false
166
+ t.datetime "updated_at", null: false
167
+ t.index ["canvas_course_id", "canvas_user_id"], name: "index_course_nicknames_on_canvas_course_id_and_canvas_user_id", unique: true
168
+ t.index ["canvas_user_preference_value_id"], name: "index_course_nicknames_on_canvas_user_preference_value_id", unique: true
169
+ end
170
+
160
171
  create_table "courses", force: :cascade do |t|
161
172
  t.bigint "canvas_id", null: false
162
173
  t.string "sis_id"
@@ -0,0 +1,3 @@
1
+ user_preference_value_id,canvas_user_id,canvas_course_id,nickname
2
+ 86,17,35,foo
3
+ 123,8348,12,bar
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: canvas_sync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0.beta10
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-28 00:00:00.000000000 Z
11
+ date: 2024-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -430,6 +430,7 @@ files:
430
430
  - lib/canvas_sync/generators/templates/migrations/create_content_migrations.rb
431
431
  - lib/canvas_sync/generators/templates/migrations/create_context_module_items.rb
432
432
  - lib/canvas_sync/generators/templates/migrations/create_context_modules.rb
433
+ - lib/canvas_sync/generators/templates/migrations/create_course_nicknames.rb
433
434
  - lib/canvas_sync/generators/templates/migrations/create_courses.rb
434
435
  - lib/canvas_sync/generators/templates/migrations/create_enrollments.rb
435
436
  - lib/canvas_sync/generators/templates/migrations/create_grading_period_groups.rb
@@ -452,6 +453,7 @@ files:
452
453
  - lib/canvas_sync/generators/templates/models/context_module.rb
453
454
  - lib/canvas_sync/generators/templates/models/context_module_item.rb
454
455
  - lib/canvas_sync/generators/templates/models/course.rb
456
+ - lib/canvas_sync/generators/templates/models/course_nickname.rb
455
457
  - lib/canvas_sync/generators/templates/models/enrollment.rb
456
458
  - lib/canvas_sync/generators/templates/models/grading_period.rb
457
459
  - lib/canvas_sync/generators/templates/models/grading_period_group.rb
@@ -597,6 +599,7 @@ files:
597
599
  - spec/dummy/app/models/context_module.rb
598
600
  - spec/dummy/app/models/context_module_item.rb
599
601
  - spec/dummy/app/models/course.rb
602
+ - spec/dummy/app/models/course_nickname.rb
600
603
  - spec/dummy/app/models/enrollment.rb
601
604
  - spec/dummy/app/models/grading_period.rb
602
605
  - spec/dummy/app/models/grading_period_group.rb
@@ -673,6 +676,7 @@ files:
673
676
  - spec/dummy/db/migrate/20220308072643_create_content_migrations.rb
674
677
  - spec/dummy/db/migrate/20220712210559_create_learning_outcomes.rb
675
678
  - spec/dummy/db/migrate/20220926221926_create_users.rb
679
+ - spec/dummy/db/migrate/20240408223326_create_course_nicknames.rb
676
680
  - spec/dummy/db/schema.rb
677
681
  - spec/factories/account_factory.rb
678
682
  - spec/factories/admin_factory.rb
@@ -717,6 +721,7 @@ files:
717
721
  - spec/support/fixtures/reports/content_migrations.csv
718
722
  - spec/support/fixtures/reports/context_module_items.csv
719
723
  - spec/support/fixtures/reports/context_modules.csv
724
+ - spec/support/fixtures/reports/course_nicknames.csv
720
725
  - spec/support/fixtures/reports/courses.csv
721
726
  - spec/support/fixtures/reports/enrollments.csv
722
727
  - spec/support/fixtures/reports/grading_period_groups.csv
@@ -746,9 +751,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
746
751
  version: '0'
747
752
  required_rubygems_version: !ruby/object:Gem::Requirement
748
753
  requirements:
749
- - - ">"
754
+ - - ">="
750
755
  - !ruby/object:Gem::Version
751
- version: 1.3.1
756
+ version: '0'
752
757
  requirements: []
753
758
  rubygems_version: 3.1.6
754
759
  signing_key:
@@ -832,6 +837,7 @@ test_files:
832
837
  - spec/support/fixtures/reports/assignment_groups.csv
833
838
  - spec/support/fixtures/reports/group_memberships.csv
834
839
  - spec/support/fixtures/reports/enrollments.csv
840
+ - spec/support/fixtures/reports/course_nicknames.csv
835
841
  - spec/support/fixtures/reports/provisioning_csv
836
842
  - spec/support/fixtures/reports/grading_periods.csv
837
843
  - spec/support/fixtures/reports/content_migrations.csv
@@ -852,6 +858,7 @@ test_files:
852
858
  - spec/dummy/db/migrate/20220926221926_create_users.rb
853
859
  - spec/dummy/db/migrate/20210907233330_create_grading_periods.rb
854
860
  - spec/dummy/db/migrate/20190702203631_create_context_modules.rb
861
+ - spec/dummy/db/migrate/20240408223326_create_course_nicknames.rb
855
862
  - spec/dummy/db/migrate/20190702203632_create_context_module_items.rb
856
863
  - spec/dummy/db/migrate/20190927204545_create_roles.rb
857
864
  - spec/dummy/db/migrate/20190702203622_create_accounts.rb
@@ -893,6 +900,7 @@ test_files:
893
900
  - spec/dummy/app/services/live_events/module_item_event.rb
894
901
  - spec/dummy/app/services/live_events/submission_updated_event.rb
895
902
  - spec/dummy/app/services/live_events/user_event.rb
903
+ - spec/dummy/app/models/course_nickname.rb
896
904
  - spec/dummy/app/models/user.rb
897
905
  - spec/dummy/app/models/submission.rb
898
906
  - spec/dummy/app/models/group_membership.rb