canvas_sync 0.19.0.beta9 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/canvas_sync/concerns/ability_helper.rb +1 -1
- data/lib/canvas_sync/concerns/account/ancestry.rb +1 -1
- data/lib/canvas_sync/concerns/api_syncable.rb +1 -1
- data/lib/canvas_sync/generators/templates/migrations/create_course_nicknames.rb +17 -0
- data/lib/canvas_sync/generators/templates/models/course_nickname.rb +13 -0
- data/lib/canvas_sync/job_batches/batch.rb +2 -6
- data/lib/canvas_sync/processors/model_mappings.yml +18 -0
- data/lib/canvas_sync/processors/provisioning_report_processor.rb +10 -0
- data/lib/canvas_sync/record.rb +1 -1
- data/lib/canvas_sync/version.rb +1 -1
- data/lib/canvas_sync.rb +1 -0
- data/spec/canvas_sync/processors/provisioning_report_processor_spec.rb +9 -0
- data/spec/dummy/app/models/account.rb +2 -0
- data/spec/dummy/app/models/admin.rb +2 -0
- data/spec/dummy/app/models/assignment.rb +2 -0
- data/spec/dummy/app/models/assignment_group.rb +2 -0
- data/spec/dummy/app/models/content_migration.rb +2 -0
- data/spec/dummy/app/models/context_module.rb +2 -0
- data/spec/dummy/app/models/context_module_item.rb +2 -0
- data/spec/dummy/app/models/course.rb +2 -0
- data/spec/dummy/app/models/course_nickname.rb +19 -0
- data/spec/dummy/app/models/enrollment.rb +2 -0
- data/spec/dummy/app/models/grading_period.rb +2 -0
- data/spec/dummy/app/models/grading_period_group.rb +2 -0
- data/spec/dummy/app/models/group.rb +2 -0
- data/spec/dummy/app/models/group_membership.rb +2 -0
- data/spec/dummy/app/models/learning_outcome.rb +2 -0
- data/spec/dummy/app/models/pseudonym.rb +2 -0
- data/spec/dummy/app/models/role.rb +2 -0
- data/spec/dummy/app/models/section.rb +2 -0
- data/spec/dummy/app/models/submission.rb +2 -0
- data/spec/dummy/app/models/term.rb +2 -0
- data/spec/dummy/app/models/user.rb +2 -0
- data/spec/dummy/app/models/user_observer.rb +2 -0
- data/spec/dummy/db/migrate/20240408223326_create_course_nicknames.rb +23 -0
- data/spec/dummy/db/schema.rb +12 -1
- data/spec/support/fixtures/reports/course_nicknames.csv +3 -0
- metadata +12 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56b320065eb2aec256795336a077f2c5c93652293313bd3d69ebbb8f65a70d4e
|
4
|
+
data.tar.gz: 750f717c88eebcdebc3959bd084fd2872bee21f7bb507ae7f15207ad2ea9bfcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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::
|
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
|
@@ -493,12 +493,8 @@ module CanvasSync
|
|
493
493
|
|
494
494
|
def pipelined(*args, &block)
|
495
495
|
Batch.redis do |r|
|
496
|
-
|
497
|
-
|
498
|
-
block.call(r)
|
499
|
-
end
|
500
|
-
else
|
501
|
-
r.pipelined(*args, &block)
|
496
|
+
r.pipelined(*args) do |r2|
|
497
|
+
block.call(r2 || r)
|
502
498
|
end
|
503
499
|
end
|
504
500
|
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
|
data/lib/canvas_sync/record.rb
CHANGED
data/lib/canvas_sync/version.rb
CHANGED
data/lib/canvas_sync.rb
CHANGED
@@ -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
|
@@ -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({
|
@@ -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
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -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:
|
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"
|
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
|
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-
|
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:
|
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
|