pandarus 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/pandarus/models.rb +4 -0
- data/lib/pandarus/models/course.rb +15 -2
- data/lib/pandarus/models/feature.rb +25 -0
- data/lib/pandarus/models/feature_flag.rb +22 -0
- data/lib/pandarus/models/grade_change_event.rb +24 -0
- data/lib/pandarus/models/group_membership.rb +3 -2
- data/lib/pandarus/models/page_revision.rb +2 -1
- data/lib/pandarus/models/quiz.rb +3 -1
- data/lib/pandarus/models/quiz_question.rb +27 -0
- data/lib/pandarus/v1_api.rb +1028 -143
- data/lib/pandarus/version.rb +1 -1
- metadata +6 -2
data/lib/pandarus/models.rb
CHANGED
@@ -27,6 +27,8 @@ require 'pandarus/models/submission_history'
|
|
27
27
|
require 'pandarus/models/course'
|
28
28
|
require 'pandarus/models/migration_issue'
|
29
29
|
require 'pandarus/models/grader'
|
30
|
+
require 'pandarus/models/feature_flag'
|
31
|
+
require 'pandarus/models/grade_change_event'
|
30
32
|
require 'pandarus/models/favorite'
|
31
33
|
require 'pandarus/models/user'
|
32
34
|
require 'pandarus/models/outcome_link'
|
@@ -35,7 +37,9 @@ require 'pandarus/models/assignment'
|
|
35
37
|
require 'pandarus/models/module_item'
|
36
38
|
require 'pandarus/models/outcome'
|
37
39
|
require 'pandarus/models/external_feed'
|
40
|
+
require 'pandarus/models/feature'
|
38
41
|
require 'pandarus/models/communication_channel'
|
42
|
+
require 'pandarus/models/quiz_question'
|
39
43
|
require 'pandarus/models/progress'
|
40
44
|
require 'pandarus/models/module'
|
41
45
|
require 'pandarus/models/page_revision'
|
@@ -3,7 +3,7 @@ require "pandarus/model_base"
|
|
3
3
|
# This is an autogenerated file. See readme.md.
|
4
4
|
module Pandarus
|
5
5
|
class Course < ModelBase
|
6
|
-
attr_accessor :id, :sis_course_id, :name, :course_code, :workflow_state, :account_id, :start_at, :end_at, :enrollments, :calendar, :default_view, :syllabus_body, :needs_grading_count, :term, :apply_assignment_group_weights, :permissions
|
6
|
+
attr_accessor :id, :sis_course_id, :name, :course_code, :workflow_state, :account_id, :root_account_id, :start_at, :end_at, :enrollments, :calendar, :default_view, :syllabus_body, :needs_grading_count, :term, :apply_assignment_group_weights, :permissions, :is_public, :public_syllabus, :public_description, :storage_quota_mb, :hide_final_grades, :license, :allow_student_assignment_edits, :allow_wiki_comments, :allow_student_forum_attachments, :open_enrollment, :self_enrollment, :restrict_enrollments_to_course_dates
|
7
7
|
|
8
8
|
|
9
9
|
def self.attribute_map
|
@@ -14,6 +14,7 @@ module Pandarus
|
|
14
14
|
:course_code => {:external => "course_code", :container => false, :type => nil},
|
15
15
|
:workflow_state => {:external => "workflow_state", :container => false, :type => nil},
|
16
16
|
:account_id => {:external => "account_id", :container => false, :type => nil},
|
17
|
+
:root_account_id => {:external => "root_account_id", :container => false, :type => nil},
|
17
18
|
:start_at => {:external => "start_at", :container => false, :type => nil},
|
18
19
|
:end_at => {:external => "end_at", :container => false, :type => nil},
|
19
20
|
:enrollments => {:external => "enrollments", :container => false, :type => nil},
|
@@ -23,7 +24,19 @@ module Pandarus
|
|
23
24
|
:needs_grading_count => {:external => "needs_grading_count", :container => false, :type => nil},
|
24
25
|
:term => {:external => "term", :container => false, :type => nil},
|
25
26
|
:apply_assignment_group_weights => {:external => "apply_assignment_group_weights", :container => false, :type => nil},
|
26
|
-
:permissions => {:external => "permissions", :container => false, :type => nil}
|
27
|
+
:permissions => {:external => "permissions", :container => false, :type => nil},
|
28
|
+
:is_public => {:external => "is_public", :container => false, :type => nil},
|
29
|
+
:public_syllabus => {:external => "public_syllabus", :container => false, :type => nil},
|
30
|
+
:public_description => {:external => "public_description", :container => false, :type => nil},
|
31
|
+
:storage_quota_mb => {:external => "storage_quota_mb", :container => false, :type => nil},
|
32
|
+
:hide_final_grades => {:external => "hide_final_grades", :container => false, :type => nil},
|
33
|
+
:license => {:external => "license", :container => false, :type => nil},
|
34
|
+
:allow_student_assignment_edits => {:external => "allow_student_assignment_edits", :container => false, :type => nil},
|
35
|
+
:allow_wiki_comments => {:external => "allow_wiki_comments", :container => false, :type => nil},
|
36
|
+
:allow_student_forum_attachments => {:external => "allow_student_forum_attachments", :container => false, :type => nil},
|
37
|
+
:open_enrollment => {:external => "open_enrollment", :container => false, :type => nil},
|
38
|
+
:self_enrollment => {:external => "self_enrollment", :container => false, :type => nil},
|
39
|
+
:restrict_enrollments_to_course_dates => {:external => "restrict_enrollments_to_course_dates", :container => false, :type => nil}
|
27
40
|
|
28
41
|
}
|
29
42
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "pandarus/model_base"
|
2
|
+
|
3
|
+
# This is an autogenerated file. See readme.md.
|
4
|
+
module Pandarus
|
5
|
+
class Feature < ModelBase
|
6
|
+
attr_accessor :name, :display_name, :applies_to, :enable_at, :feature_flag, :root_opt_in, :beta, :development, :release_notes_url
|
7
|
+
|
8
|
+
|
9
|
+
def self.attribute_map
|
10
|
+
{
|
11
|
+
:name => {:external => "name", :container => false, :type => nil},
|
12
|
+
:display_name => {:external => "display_name", :container => false, :type => nil},
|
13
|
+
:applies_to => {:external => "applies_to", :container => false, :type => nil},
|
14
|
+
:enable_at => {:external => "enable_at", :container => false, :type => "Date"},
|
15
|
+
:feature_flag => {:external => "feature_flag", :container => false, :type => nil},
|
16
|
+
:root_opt_in => {:external => "root_opt_in", :container => false, :type => nil},
|
17
|
+
:beta => {:external => "beta", :container => false, :type => nil},
|
18
|
+
:development => {:external => "development", :container => false, :type => nil},
|
19
|
+
:release_notes_url => {:external => "release_notes_url", :container => false, :type => nil}
|
20
|
+
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require "pandarus/model_base"
|
2
|
+
|
3
|
+
# This is an autogenerated file. See readme.md.
|
4
|
+
module Pandarus
|
5
|
+
class FeatureFlag < ModelBase
|
6
|
+
attr_accessor :context_type, :context_id, :feature, :state, :locked, :locking_account_id
|
7
|
+
|
8
|
+
|
9
|
+
def self.attribute_map
|
10
|
+
{
|
11
|
+
:context_type => {:external => "context_type", :container => false, :type => nil},
|
12
|
+
:context_id => {:external => "context_id", :container => false, :type => nil},
|
13
|
+
:feature => {:external => "feature", :container => false, :type => nil},
|
14
|
+
:state => {:external => "state", :container => false, :type => nil},
|
15
|
+
:locked => {:external => "locked", :container => false, :type => nil},
|
16
|
+
:locking_account_id => {:external => "locking_account_id", :container => false, :type => nil}
|
17
|
+
|
18
|
+
}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require "pandarus/model_base"
|
2
|
+
|
3
|
+
# This is an autogenerated file. See readme.md.
|
4
|
+
module Pandarus
|
5
|
+
class GradeChangeEvent < ModelBase
|
6
|
+
attr_accessor :id, :created_at, :event_type, :grade_after, :grade_before, :version_number, :request_id, :links
|
7
|
+
|
8
|
+
|
9
|
+
def self.attribute_map
|
10
|
+
{
|
11
|
+
:id => {:external => "id", :container => false, :type => nil},
|
12
|
+
:created_at => {:external => "created_at", :container => false, :type => nil},
|
13
|
+
:event_type => {:external => "event_type", :container => false, :type => nil},
|
14
|
+
:grade_after => {:external => "grade_after", :container => false, :type => nil},
|
15
|
+
:grade_before => {:external => "grade_before", :container => false, :type => nil},
|
16
|
+
:version_number => {:external => "version_number", :container => false, :type => nil},
|
17
|
+
:request_id => {:external => "request_id", :container => false, :type => nil},
|
18
|
+
:links => {:external => "links", :container => false, :type => nil}
|
19
|
+
|
20
|
+
}
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
@@ -3,7 +3,7 @@ require "pandarus/model_base"
|
|
3
3
|
# This is an autogenerated file. See readme.md.
|
4
4
|
module Pandarus
|
5
5
|
class GroupMembership < ModelBase
|
6
|
-
attr_accessor :id, :group_id, :user_id, :workflow_state, :moderator
|
6
|
+
attr_accessor :id, :group_id, :user_id, :workflow_state, :moderator, :just_created
|
7
7
|
|
8
8
|
|
9
9
|
def self.attribute_map
|
@@ -12,7 +12,8 @@ module Pandarus
|
|
12
12
|
:group_id => {:external => "group_id", :container => false, :type => nil},
|
13
13
|
:user_id => {:external => "user_id", :container => false, :type => nil},
|
14
14
|
:workflow_state => {:external => "workflow_state", :container => false, :type => nil},
|
15
|
-
:moderator => {:external => "moderator", :container => false, :type => nil}
|
15
|
+
:moderator => {:external => "moderator", :container => false, :type => nil},
|
16
|
+
:just_created => {:external => "just_created", :container => false, :type => nil}
|
16
17
|
|
17
18
|
}
|
18
19
|
end
|
@@ -3,13 +3,14 @@ require "pandarus/model_base"
|
|
3
3
|
# This is an autogenerated file. See readme.md.
|
4
4
|
module Pandarus
|
5
5
|
class PageRevision < ModelBase
|
6
|
-
attr_accessor :revision_id, :updated_at, :edited_by, :url, :title, :body
|
6
|
+
attr_accessor :revision_id, :updated_at, :latest, :edited_by, :url, :title, :body
|
7
7
|
|
8
8
|
|
9
9
|
def self.attribute_map
|
10
10
|
{
|
11
11
|
:revision_id => {:external => "revision_id", :container => false, :type => nil},
|
12
12
|
:updated_at => {:external => "updated_at", :container => false, :type => nil},
|
13
|
+
:latest => {:external => "latest", :container => false, :type => nil},
|
13
14
|
:edited_by => {:external => "edited_by", :container => false, :type => nil},
|
14
15
|
:url => {:external => "url", :container => false, :type => nil},
|
15
16
|
:title => {:external => "title", :container => false, :type => nil},
|
data/lib/pandarus/models/quiz.rb
CHANGED
@@ -3,7 +3,7 @@ require "pandarus/model_base"
|
|
3
3
|
# This is an autogenerated file. See readme.md.
|
4
4
|
module Pandarus
|
5
5
|
class Quiz < ModelBase
|
6
|
-
attr_accessor :id, :title, :html_url, :mobile_url, :description, :quiz_type, :assignment_group_id, :time_limit, :shuffle_answers, :hide_results, :show_correct_answers, :scoring_policy, :allowed_attempts, :one_question_at_a_time, :question_count, :points_possible, :cant_go_back, :access_code, :ip_filter, :due_at, :lock_at, :unlock_at, :published, :unpublishable, :locked_for_user, :lock_info, :lock_explanation
|
6
|
+
attr_accessor :id, :title, :html_url, :mobile_url, :description, :quiz_type, :assignment_group_id, :time_limit, :shuffle_answers, :hide_results, :show_correct_answers, :show_correct_answers_at, :hide_correct_answers_at, :scoring_policy, :allowed_attempts, :one_question_at_a_time, :question_count, :points_possible, :cant_go_back, :access_code, :ip_filter, :due_at, :lock_at, :unlock_at, :published, :unpublishable, :locked_for_user, :lock_info, :lock_explanation
|
7
7
|
|
8
8
|
|
9
9
|
def self.attribute_map
|
@@ -19,6 +19,8 @@ module Pandarus
|
|
19
19
|
:shuffle_answers => {:external => "shuffle_answers", :container => false, :type => nil},
|
20
20
|
:hide_results => {:external => "hide_results", :container => false, :type => nil},
|
21
21
|
:show_correct_answers => {:external => "show_correct_answers", :container => false, :type => nil},
|
22
|
+
:show_correct_answers_at => {:external => "show_correct_answers_at", :container => false, :type => nil},
|
23
|
+
:hide_correct_answers_at => {:external => "hide_correct_answers_at", :container => false, :type => nil},
|
22
24
|
:scoring_policy => {:external => "scoring_policy", :container => false, :type => nil},
|
23
25
|
:allowed_attempts => {:external => "allowed_attempts", :container => false, :type => nil},
|
24
26
|
:one_question_at_a_time => {:external => "one_question_at_a_time", :container => false, :type => nil},
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require "pandarus/model_base"
|
2
|
+
|
3
|
+
# This is an autogenerated file. See readme.md.
|
4
|
+
module Pandarus
|
5
|
+
class QuizQuestion < ModelBase
|
6
|
+
attr_accessor :id, :quiz_id, :position, :question_name, :question_type, :question_text, :points_possible, :correct_comments, :incorrect_comments, :neutral_comments, :answers
|
7
|
+
|
8
|
+
|
9
|
+
def self.attribute_map
|
10
|
+
{
|
11
|
+
:id => {:external => "id", :container => false, :type => nil},
|
12
|
+
:quiz_id => {:external => "quiz_id", :container => false, :type => nil},
|
13
|
+
:position => {:external => "position", :container => false, :type => nil},
|
14
|
+
:question_name => {:external => "question_name", :container => false, :type => nil},
|
15
|
+
:question_type => {:external => "question_type", :container => false, :type => nil},
|
16
|
+
:question_text => {:external => "question_text", :container => false, :type => nil},
|
17
|
+
:points_possible => {:external => "points_possible", :container => false, :type => nil},
|
18
|
+
:correct_comments => {:external => "correct_comments", :container => false, :type => nil},
|
19
|
+
:incorrect_comments => {:external => "incorrect_comments", :container => false, :type => nil},
|
20
|
+
:neutral_comments => {:external => "neutral_comments", :container => false, :type => nil},
|
21
|
+
:answers => {:external => "answers", :container => true, :type => "Enrollment"}
|
22
|
+
|
23
|
+
}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
data/lib/pandarus/v1_api.rb
CHANGED
@@ -443,7 +443,8 @@ module Pandarus
|
|
443
443
|
|
444
444
|
# set default values and merge with input
|
445
445
|
options = underscored_merge_opts(opts,
|
446
|
-
|
446
|
+
{}
|
447
|
+
|
447
448
|
)
|
448
449
|
|
449
450
|
# resource path
|
@@ -700,6 +701,42 @@ module Pandarus
|
|
700
701
|
response
|
701
702
|
|
702
703
|
end
|
704
|
+
def create_new_sub_account(account_id,account__name__,opts={})
|
705
|
+
query_param_keys = [
|
706
|
+
|
707
|
+
]
|
708
|
+
|
709
|
+
form_param_keys = [
|
710
|
+
:account__name__,
|
711
|
+
:account__default_storage_quota_mb__,
|
712
|
+
:account__default_user_storage_quota_mb__,
|
713
|
+
:account__default_group_storage_quota_mb__,
|
714
|
+
|
715
|
+
]
|
716
|
+
|
717
|
+
# verify existence of params
|
718
|
+
raise "account_id is required" if account_id.nil?
|
719
|
+
raise "account__name__ is required" if account__name__.nil?
|
720
|
+
# set default values and merge with input
|
721
|
+
options = underscored_merge_opts(opts,
|
722
|
+
:account_id => account_id,
|
723
|
+
:account__name__ => account__name__
|
724
|
+
)
|
725
|
+
|
726
|
+
# resource path
|
727
|
+
path = path_replace("/v1/accounts/{account_id}/sub_accounts",
|
728
|
+
:account_id => account_id)
|
729
|
+
headers = nil
|
730
|
+
form_params = select_params(options, form_param_keys)
|
731
|
+
query_params = select_params(options, query_param_keys)
|
732
|
+
if opts[:next_page]
|
733
|
+
pagination_params = page_params_load(:post, path)
|
734
|
+
query_params.merge! pagination_params if pagination_params
|
735
|
+
end
|
736
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
737
|
+
page_params_store(:post, path)
|
738
|
+
response.map {|response|Account.new(response)}
|
739
|
+
end
|
703
740
|
def make_account_admin(account_id,user_id,opts={})
|
704
741
|
query_param_keys = [
|
705
742
|
|
@@ -1202,7 +1239,8 @@ module Pandarus
|
|
1202
1239
|
|
1203
1240
|
# set default values and merge with input
|
1204
1241
|
options = underscored_merge_opts(opts,
|
1205
|
-
|
1242
|
+
{}
|
1243
|
+
|
1206
1244
|
)
|
1207
1245
|
|
1208
1246
|
# resource path
|
@@ -2179,7 +2217,8 @@ module Pandarus
|
|
2179
2217
|
|
2180
2218
|
# set default values and merge with input
|
2181
2219
|
options = underscored_merge_opts(opts,
|
2182
|
-
|
2220
|
+
{}
|
2221
|
+
|
2183
2222
|
)
|
2184
2223
|
|
2185
2224
|
# resource path
|
@@ -2449,7 +2488,8 @@ module Pandarus
|
|
2449
2488
|
|
2450
2489
|
# set default values and merge with input
|
2451
2490
|
options = underscored_merge_opts(opts,
|
2452
|
-
|
2491
|
+
{}
|
2492
|
+
|
2453
2493
|
)
|
2454
2494
|
|
2455
2495
|
# resource path
|
@@ -3194,7 +3234,7 @@ module Pandarus
|
|
3194
3234
|
page_params_store(:get, path)
|
3195
3235
|
ContentMigration.new(response)
|
3196
3236
|
end
|
3197
|
-
def create_content_migration(course_id,migration_type,pre_attachment__name__,opts={})
|
3237
|
+
def create_content_migration(course_id,migration_type,pre_attachment__name__,settings__file_url__,opts={})
|
3198
3238
|
query_param_keys = [
|
3199
3239
|
|
3200
3240
|
]
|
@@ -3203,6 +3243,7 @@ module Pandarus
|
|
3203
3243
|
:migration_type,
|
3204
3244
|
:pre_attachment__name__,
|
3205
3245
|
:pre_attachment__x__,
|
3246
|
+
:settings__file_url__,
|
3206
3247
|
:settings__source_course_id__,
|
3207
3248
|
:settings__folder_id__,
|
3208
3249
|
:settings__overwrite_quizzes__,
|
@@ -3221,11 +3262,13 @@ module Pandarus
|
|
3221
3262
|
raise "course_id is required" if course_id.nil?
|
3222
3263
|
raise "migration_type is required" if migration_type.nil?
|
3223
3264
|
raise "pre_attachment__name__ is required" if pre_attachment__name__.nil?
|
3265
|
+
raise "settings__file_url__ is required" if settings__file_url__.nil?
|
3224
3266
|
# set default values and merge with input
|
3225
3267
|
options = underscored_merge_opts(opts,
|
3226
3268
|
:course_id => course_id,
|
3227
3269
|
:migration_type => migration_type,
|
3228
|
-
:pre_attachment__name__ => pre_attachment__name__
|
3270
|
+
:pre_attachment__name__ => pre_attachment__name__,
|
3271
|
+
:settings__file_url__ => settings__file_url__
|
3229
3272
|
)
|
3230
3273
|
|
3231
3274
|
# resource path
|
@@ -3408,7 +3451,8 @@ module Pandarus
|
|
3408
3451
|
|
3409
3452
|
# set default values and merge with input
|
3410
3453
|
options = underscored_merge_opts(opts,
|
3411
|
-
|
3454
|
+
{}
|
3455
|
+
|
3412
3456
|
)
|
3413
3457
|
|
3414
3458
|
# resource path
|
@@ -3522,7 +3566,8 @@ module Pandarus
|
|
3522
3566
|
|
3523
3567
|
# set default values and merge with input
|
3524
3568
|
options = underscored_merge_opts(opts,
|
3525
|
-
|
3569
|
+
{}
|
3570
|
+
|
3526
3571
|
)
|
3527
3572
|
|
3528
3573
|
# resource path
|
@@ -3729,7 +3774,8 @@ module Pandarus
|
|
3729
3774
|
|
3730
3775
|
# set default values and merge with input
|
3731
3776
|
options = underscored_merge_opts(opts,
|
3732
|
-
|
3777
|
+
{}
|
3778
|
+
|
3733
3779
|
)
|
3734
3780
|
|
3735
3781
|
# resource path
|
@@ -3758,7 +3804,8 @@ module Pandarus
|
|
3758
3804
|
|
3759
3805
|
# set default values and merge with input
|
3760
3806
|
options = underscored_merge_opts(opts,
|
3761
|
-
|
3807
|
+
{}
|
3808
|
+
|
3762
3809
|
)
|
3763
3810
|
|
3764
3811
|
# resource path
|
@@ -5566,7 +5613,8 @@ module Pandarus
|
|
5566
5613
|
|
5567
5614
|
# set default values and merge with input
|
5568
5615
|
options = underscored_merge_opts(opts,
|
5569
|
-
|
5616
|
+
{}
|
5617
|
+
|
5570
5618
|
)
|
5571
5619
|
|
5572
5620
|
# resource path
|
@@ -5654,7 +5702,8 @@ module Pandarus
|
|
5654
5702
|
|
5655
5703
|
# set default values and merge with input
|
5656
5704
|
options = underscored_merge_opts(opts,
|
5657
|
-
|
5705
|
+
{}
|
5706
|
+
|
5658
5707
|
)
|
5659
5708
|
|
5660
5709
|
# resource path
|
@@ -5672,6 +5721,168 @@ module Pandarus
|
|
5672
5721
|
response
|
5673
5722
|
|
5674
5723
|
end
|
5724
|
+
def list_features(user_id,opts={})
|
5725
|
+
query_param_keys = [
|
5726
|
+
|
5727
|
+
]
|
5728
|
+
|
5729
|
+
form_param_keys = [
|
5730
|
+
|
5731
|
+
]
|
5732
|
+
|
5733
|
+
# verify existence of params
|
5734
|
+
raise "user_id is required" if user_id.nil?
|
5735
|
+
# set default values and merge with input
|
5736
|
+
options = underscored_merge_opts(opts,
|
5737
|
+
:user_id => user_id
|
5738
|
+
)
|
5739
|
+
|
5740
|
+
# resource path
|
5741
|
+
path = path_replace("/v1/users/{user_id}/features",
|
5742
|
+
:user_id => user_id)
|
5743
|
+
headers = nil
|
5744
|
+
form_params = select_params(options, form_param_keys)
|
5745
|
+
query_params = select_params(options, query_param_keys)
|
5746
|
+
if opts[:next_page]
|
5747
|
+
pagination_params = page_params_load(:get, path)
|
5748
|
+
query_params.merge! pagination_params if pagination_params
|
5749
|
+
end
|
5750
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
5751
|
+
page_params_store(:get, path)
|
5752
|
+
response.map {|response|Feature.new(response)}
|
5753
|
+
end
|
5754
|
+
def list_enabled_features(user_id,opts={})
|
5755
|
+
query_param_keys = [
|
5756
|
+
|
5757
|
+
]
|
5758
|
+
|
5759
|
+
form_param_keys = [
|
5760
|
+
|
5761
|
+
]
|
5762
|
+
|
5763
|
+
# verify existence of params
|
5764
|
+
raise "user_id is required" if user_id.nil?
|
5765
|
+
# set default values and merge with input
|
5766
|
+
options = underscored_merge_opts(opts,
|
5767
|
+
:user_id => user_id
|
5768
|
+
)
|
5769
|
+
|
5770
|
+
# resource path
|
5771
|
+
path = path_replace("/v1/users/{user_id}/features/enabled",
|
5772
|
+
:user_id => user_id)
|
5773
|
+
headers = nil
|
5774
|
+
form_params = select_params(options, form_param_keys)
|
5775
|
+
query_params = select_params(options, query_param_keys)
|
5776
|
+
if opts[:next_page]
|
5777
|
+
pagination_params = page_params_load(:get, path)
|
5778
|
+
query_params.merge! pagination_params if pagination_params
|
5779
|
+
end
|
5780
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
5781
|
+
page_params_store(:get, path)
|
5782
|
+
response
|
5783
|
+
|
5784
|
+
end
|
5785
|
+
def get_feature_flag(user_id,feature,opts={})
|
5786
|
+
query_param_keys = [
|
5787
|
+
|
5788
|
+
]
|
5789
|
+
|
5790
|
+
form_param_keys = [
|
5791
|
+
|
5792
|
+
]
|
5793
|
+
|
5794
|
+
# verify existence of params
|
5795
|
+
raise "user_id is required" if user_id.nil?
|
5796
|
+
raise "feature is required" if feature.nil?
|
5797
|
+
# set default values and merge with input
|
5798
|
+
options = underscored_merge_opts(opts,
|
5799
|
+
:user_id => user_id,
|
5800
|
+
:feature => feature
|
5801
|
+
)
|
5802
|
+
|
5803
|
+
# resource path
|
5804
|
+
path = path_replace("/v1/users/{user_id}/features/flags/{feature}",
|
5805
|
+
:user_id => user_id,
|
5806
|
+
:feature => feature)
|
5807
|
+
headers = nil
|
5808
|
+
form_params = select_params(options, form_param_keys)
|
5809
|
+
query_params = select_params(options, query_param_keys)
|
5810
|
+
if opts[:next_page]
|
5811
|
+
pagination_params = page_params_load(:get, path)
|
5812
|
+
query_params.merge! pagination_params if pagination_params
|
5813
|
+
end
|
5814
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
5815
|
+
page_params_store(:get, path)
|
5816
|
+
FeatureFlag.new(response)
|
5817
|
+
end
|
5818
|
+
def set_feature_flag(user_id,feature,opts={})
|
5819
|
+
query_param_keys = [
|
5820
|
+
|
5821
|
+
]
|
5822
|
+
|
5823
|
+
form_param_keys = [
|
5824
|
+
:state,
|
5825
|
+
:locking_account_id,
|
5826
|
+
|
5827
|
+
]
|
5828
|
+
|
5829
|
+
# verify existence of params
|
5830
|
+
raise "user_id is required" if user_id.nil?
|
5831
|
+
raise "feature is required" if feature.nil?
|
5832
|
+
# set default values and merge with input
|
5833
|
+
options = underscored_merge_opts(opts,
|
5834
|
+
:user_id => user_id,
|
5835
|
+
:feature => feature
|
5836
|
+
)
|
5837
|
+
|
5838
|
+
# resource path
|
5839
|
+
path = path_replace("/v1/users/{user_id}/features/flags/{feature}",
|
5840
|
+
:user_id => user_id,
|
5841
|
+
:feature => feature)
|
5842
|
+
headers = nil
|
5843
|
+
form_params = select_params(options, form_param_keys)
|
5844
|
+
query_params = select_params(options, query_param_keys)
|
5845
|
+
if opts[:next_page]
|
5846
|
+
pagination_params = page_params_load(:put, path)
|
5847
|
+
query_params.merge! pagination_params if pagination_params
|
5848
|
+
end
|
5849
|
+
response = mixed_request(:put, path, query_params, form_params, headers)
|
5850
|
+
page_params_store(:put, path)
|
5851
|
+
FeatureFlag.new(response)
|
5852
|
+
end
|
5853
|
+
def remove_feature_flag(user_id,feature,opts={})
|
5854
|
+
query_param_keys = [
|
5855
|
+
|
5856
|
+
]
|
5857
|
+
|
5858
|
+
form_param_keys = [
|
5859
|
+
|
5860
|
+
]
|
5861
|
+
|
5862
|
+
# verify existence of params
|
5863
|
+
raise "user_id is required" if user_id.nil?
|
5864
|
+
raise "feature is required" if feature.nil?
|
5865
|
+
# set default values and merge with input
|
5866
|
+
options = underscored_merge_opts(opts,
|
5867
|
+
:user_id => user_id,
|
5868
|
+
:feature => feature
|
5869
|
+
)
|
5870
|
+
|
5871
|
+
# resource path
|
5872
|
+
path = path_replace("/v1/users/{user_id}/features/flags/{feature}",
|
5873
|
+
:user_id => user_id,
|
5874
|
+
:feature => feature)
|
5875
|
+
headers = nil
|
5876
|
+
form_params = select_params(options, form_param_keys)
|
5877
|
+
query_params = select_params(options, query_param_keys)
|
5878
|
+
if opts[:next_page]
|
5879
|
+
pagination_params = page_params_load(:delete, path)
|
5880
|
+
query_params.merge! pagination_params if pagination_params
|
5881
|
+
end
|
5882
|
+
response = mixed_request(:delete, path, query_params, form_params, headers)
|
5883
|
+
page_params_store(:delete, path)
|
5884
|
+
FeatureFlag.new(response)
|
5885
|
+
end
|
5675
5886
|
def list_files(id,opts={})
|
5676
5887
|
query_param_keys = [
|
5677
5888
|
:content_types,
|
@@ -6041,9 +6252,10 @@ module Pandarus
|
|
6041
6252
|
response
|
6042
6253
|
|
6043
6254
|
end
|
6044
|
-
def
|
6255
|
+
def query_by_assignment(assignment_id,opts={})
|
6045
6256
|
query_param_keys = [
|
6046
|
-
|
6257
|
+
:start_time,
|
6258
|
+
:end_time
|
6047
6259
|
]
|
6048
6260
|
|
6049
6261
|
form_param_keys = [
|
@@ -6051,15 +6263,15 @@ module Pandarus
|
|
6051
6263
|
]
|
6052
6264
|
|
6053
6265
|
# verify existence of params
|
6054
|
-
raise "
|
6266
|
+
raise "assignment_id is required" if assignment_id.nil?
|
6055
6267
|
# set default values and merge with input
|
6056
6268
|
options = underscored_merge_opts(opts,
|
6057
|
-
:
|
6269
|
+
:assignment_id => assignment_id
|
6058
6270
|
)
|
6059
6271
|
|
6060
6272
|
# resource path
|
6061
|
-
path = path_replace("/v1/
|
6062
|
-
:
|
6273
|
+
path = path_replace("/v1/audit/grade_change/assignments/{assignment_id}",
|
6274
|
+
:assignment_id => assignment_id)
|
6063
6275
|
headers = nil
|
6064
6276
|
form_params = select_params(options, form_param_keys)
|
6065
6277
|
query_params = select_params(options, query_param_keys)
|
@@ -6069,11 +6281,12 @@ module Pandarus
|
|
6069
6281
|
end
|
6070
6282
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6071
6283
|
page_params_store(:get, path)
|
6072
|
-
response.map {|response|
|
6284
|
+
response.map {|response|GradeChangeEvent.new(response)}
|
6073
6285
|
end
|
6074
|
-
def
|
6286
|
+
def query_by_course(course_id,opts={})
|
6075
6287
|
query_param_keys = [
|
6076
|
-
|
6288
|
+
:start_time,
|
6289
|
+
:end_time
|
6077
6290
|
]
|
6078
6291
|
|
6079
6292
|
form_param_keys = [
|
@@ -6082,17 +6295,14 @@ module Pandarus
|
|
6082
6295
|
|
6083
6296
|
# verify existence of params
|
6084
6297
|
raise "course_id is required" if course_id.nil?
|
6085
|
-
raise "date is required" if date.nil?
|
6086
6298
|
# set default values and merge with input
|
6087
6299
|
options = underscored_merge_opts(opts,
|
6088
|
-
:course_id => course_id
|
6089
|
-
:date => date
|
6300
|
+
:course_id => course_id
|
6090
6301
|
)
|
6091
6302
|
|
6092
6303
|
# resource path
|
6093
|
-
path = path_replace("/v1/courses/{course_id}
|
6094
|
-
:course_id => course_id
|
6095
|
-
:date => date)
|
6304
|
+
path = path_replace("/v1/audit/grade_change/courses/{course_id}",
|
6305
|
+
:course_id => course_id)
|
6096
6306
|
headers = nil
|
6097
6307
|
form_params = select_params(options, form_param_keys)
|
6098
6308
|
query_params = select_params(options, query_param_keys)
|
@@ -6102,11 +6312,12 @@ module Pandarus
|
|
6102
6312
|
end
|
6103
6313
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6104
6314
|
page_params_store(:get, path)
|
6105
|
-
response.map {|response|
|
6315
|
+
response.map {|response|GradeChangeEvent.new(response)}
|
6106
6316
|
end
|
6107
|
-
def
|
6317
|
+
def query_by_student(student_id,opts={})
|
6108
6318
|
query_param_keys = [
|
6109
|
-
|
6319
|
+
:start_time,
|
6320
|
+
:end_time
|
6110
6321
|
]
|
6111
6322
|
|
6112
6323
|
form_param_keys = [
|
@@ -6114,24 +6325,15 @@ module Pandarus
|
|
6114
6325
|
]
|
6115
6326
|
|
6116
6327
|
# verify existence of params
|
6117
|
-
raise "
|
6118
|
-
raise "date is required" if date.nil?
|
6119
|
-
raise "grader_id is required" if grader_id.nil?
|
6120
|
-
raise "assignment_id is required" if assignment_id.nil?
|
6328
|
+
raise "student_id is required" if student_id.nil?
|
6121
6329
|
# set default values and merge with input
|
6122
6330
|
options = underscored_merge_opts(opts,
|
6123
|
-
:
|
6124
|
-
:date => date,
|
6125
|
-
:grader_id => grader_id,
|
6126
|
-
:assignment_id => assignment_id
|
6331
|
+
:student_id => student_id
|
6127
6332
|
)
|
6128
6333
|
|
6129
6334
|
# resource path
|
6130
|
-
path = path_replace("/v1/
|
6131
|
-
:
|
6132
|
-
:date => date,
|
6133
|
-
:grader_id => grader_id,
|
6134
|
-
:assignment_id => assignment_id)
|
6335
|
+
path = path_replace("/v1/audit/grade_change/students/{student_id}",
|
6336
|
+
:student_id => student_id)
|
6135
6337
|
headers = nil
|
6136
6338
|
form_params = select_params(options, form_param_keys)
|
6137
6339
|
query_params = select_params(options, query_param_keys)
|
@@ -6141,13 +6343,12 @@ module Pandarus
|
|
6141
6343
|
end
|
6142
6344
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6143
6345
|
page_params_store(:get, path)
|
6144
|
-
response.map {|response|
|
6346
|
+
response.map {|response|GradeChangeEvent.new(response)}
|
6145
6347
|
end
|
6146
|
-
def
|
6348
|
+
def query_by_grader(grader_id,opts={})
|
6147
6349
|
query_param_keys = [
|
6148
|
-
:
|
6149
|
-
:
|
6150
|
-
:ascending
|
6350
|
+
:start_time,
|
6351
|
+
:end_time
|
6151
6352
|
]
|
6152
6353
|
|
6153
6354
|
form_param_keys = [
|
@@ -6155,15 +6356,15 @@ module Pandarus
|
|
6155
6356
|
]
|
6156
6357
|
|
6157
6358
|
# verify existence of params
|
6158
|
-
raise "
|
6359
|
+
raise "grader_id is required" if grader_id.nil?
|
6159
6360
|
# set default values and merge with input
|
6160
6361
|
options = underscored_merge_opts(opts,
|
6161
|
-
:
|
6362
|
+
:grader_id => grader_id
|
6162
6363
|
)
|
6163
6364
|
|
6164
6365
|
# resource path
|
6165
|
-
path = path_replace("/v1/
|
6166
|
-
:
|
6366
|
+
path = path_replace("/v1/audit/grade_change/graders/{grader_id}",
|
6367
|
+
:grader_id => grader_id)
|
6167
6368
|
headers = nil
|
6168
6369
|
form_params = select_params(options, form_param_keys)
|
6169
6370
|
query_params = select_params(options, query_param_keys)
|
@@ -6173,9 +6374,9 @@ module Pandarus
|
|
6173
6374
|
end
|
6174
6375
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6175
6376
|
page_params_store(:get, path)
|
6176
|
-
response.map {|response|
|
6377
|
+
response.map {|response|GradeChangeEvent.new(response)}
|
6177
6378
|
end
|
6178
|
-
def
|
6379
|
+
def days_in_gradebook_history_for_this_course(course_id,opts={})
|
6179
6380
|
query_param_keys = [
|
6180
6381
|
|
6181
6382
|
]
|
@@ -6192,7 +6393,7 @@ module Pandarus
|
|
6192
6393
|
)
|
6193
6394
|
|
6194
6395
|
# resource path
|
6195
|
-
path = path_replace("/v1/courses/{course_id}/
|
6396
|
+
path = path_replace("/v1/courses/{course_id}/gradebook_history/days",
|
6196
6397
|
:course_id => course_id)
|
6197
6398
|
headers = nil
|
6198
6399
|
form_params = select_params(options, form_param_keys)
|
@@ -6203,9 +6404,143 @@ module Pandarus
|
|
6203
6404
|
end
|
6204
6405
|
response = mixed_request(:get, path, query_params, form_params, headers)
|
6205
6406
|
page_params_store(:get, path)
|
6206
|
-
response.map {|response|
|
6407
|
+
response.map {|response|Day.new(response)}
|
6207
6408
|
end
|
6208
|
-
def
|
6409
|
+
def details_for_given_date_in_gradebook_history_for_this_course(course_id,date,opts={})
|
6410
|
+
query_param_keys = [
|
6411
|
+
|
6412
|
+
]
|
6413
|
+
|
6414
|
+
form_param_keys = [
|
6415
|
+
|
6416
|
+
]
|
6417
|
+
|
6418
|
+
# verify existence of params
|
6419
|
+
raise "course_id is required" if course_id.nil?
|
6420
|
+
raise "date is required" if date.nil?
|
6421
|
+
# set default values and merge with input
|
6422
|
+
options = underscored_merge_opts(opts,
|
6423
|
+
:course_id => course_id,
|
6424
|
+
:date => date
|
6425
|
+
)
|
6426
|
+
|
6427
|
+
# resource path
|
6428
|
+
path = path_replace("/v1/courses/{course_id}/gradebook_history/{date}",
|
6429
|
+
:course_id => course_id,
|
6430
|
+
:date => date)
|
6431
|
+
headers = nil
|
6432
|
+
form_params = select_params(options, form_param_keys)
|
6433
|
+
query_params = select_params(options, query_param_keys)
|
6434
|
+
if opts[:next_page]
|
6435
|
+
pagination_params = page_params_load(:get, path)
|
6436
|
+
query_params.merge! pagination_params if pagination_params
|
6437
|
+
end
|
6438
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
6439
|
+
page_params_store(:get, path)
|
6440
|
+
response.map {|response|Grader.new(response)}
|
6441
|
+
end
|
6442
|
+
def lists_submissions(course_id,date,grader_id,assignment_id,opts={})
|
6443
|
+
query_param_keys = [
|
6444
|
+
|
6445
|
+
]
|
6446
|
+
|
6447
|
+
form_param_keys = [
|
6448
|
+
|
6449
|
+
]
|
6450
|
+
|
6451
|
+
# verify existence of params
|
6452
|
+
raise "course_id is required" if course_id.nil?
|
6453
|
+
raise "date is required" if date.nil?
|
6454
|
+
raise "grader_id is required" if grader_id.nil?
|
6455
|
+
raise "assignment_id is required" if assignment_id.nil?
|
6456
|
+
# set default values and merge with input
|
6457
|
+
options = underscored_merge_opts(opts,
|
6458
|
+
:course_id => course_id,
|
6459
|
+
:date => date,
|
6460
|
+
:grader_id => grader_id,
|
6461
|
+
:assignment_id => assignment_id
|
6462
|
+
)
|
6463
|
+
|
6464
|
+
# resource path
|
6465
|
+
path = path_replace("/v1/courses/{course_id}/gradebook_history/{date}/graders/{grader_id}/assignments/{assignment_id}/submissions",
|
6466
|
+
:course_id => course_id,
|
6467
|
+
:date => date,
|
6468
|
+
:grader_id => grader_id,
|
6469
|
+
:assignment_id => assignment_id)
|
6470
|
+
headers = nil
|
6471
|
+
form_params = select_params(options, form_param_keys)
|
6472
|
+
query_params = select_params(options, query_param_keys)
|
6473
|
+
if opts[:next_page]
|
6474
|
+
pagination_params = page_params_load(:get, path)
|
6475
|
+
query_params.merge! pagination_params if pagination_params
|
6476
|
+
end
|
6477
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
6478
|
+
page_params_store(:get, path)
|
6479
|
+
response.map {|response|SubmissionHistory.new(response)}
|
6480
|
+
end
|
6481
|
+
def list_uncollated_submission_versions(course_id,opts={})
|
6482
|
+
query_param_keys = [
|
6483
|
+
:assignment_id,
|
6484
|
+
:user_id,
|
6485
|
+
:ascending
|
6486
|
+
]
|
6487
|
+
|
6488
|
+
form_param_keys = [
|
6489
|
+
|
6490
|
+
]
|
6491
|
+
|
6492
|
+
# verify existence of params
|
6493
|
+
raise "course_id is required" if course_id.nil?
|
6494
|
+
# set default values and merge with input
|
6495
|
+
options = underscored_merge_opts(opts,
|
6496
|
+
:course_id => course_id
|
6497
|
+
)
|
6498
|
+
|
6499
|
+
# resource path
|
6500
|
+
path = path_replace("/v1/courses/{course_id}/gradebook_history/feed",
|
6501
|
+
:course_id => course_id)
|
6502
|
+
headers = nil
|
6503
|
+
form_params = select_params(options, form_param_keys)
|
6504
|
+
query_params = select_params(options, query_param_keys)
|
6505
|
+
if opts[:next_page]
|
6506
|
+
pagination_params = page_params_load(:get, path)
|
6507
|
+
query_params.merge! pagination_params if pagination_params
|
6508
|
+
end
|
6509
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
6510
|
+
page_params_store(:get, path)
|
6511
|
+
response.map {|response|SubmissionVersion.new(response)}
|
6512
|
+
end
|
6513
|
+
def list_group_categories_for_context(course_id,opts={})
|
6514
|
+
query_param_keys = [
|
6515
|
+
|
6516
|
+
]
|
6517
|
+
|
6518
|
+
form_param_keys = [
|
6519
|
+
|
6520
|
+
]
|
6521
|
+
|
6522
|
+
# verify existence of params
|
6523
|
+
raise "course_id is required" if course_id.nil?
|
6524
|
+
# set default values and merge with input
|
6525
|
+
options = underscored_merge_opts(opts,
|
6526
|
+
:course_id => course_id
|
6527
|
+
)
|
6528
|
+
|
6529
|
+
# resource path
|
6530
|
+
path = path_replace("/v1/courses/{course_id}/group_categories",
|
6531
|
+
:course_id => course_id)
|
6532
|
+
headers = nil
|
6533
|
+
form_params = select_params(options, form_param_keys)
|
6534
|
+
query_params = select_params(options, query_param_keys)
|
6535
|
+
if opts[:next_page]
|
6536
|
+
pagination_params = page_params_load(:get, path)
|
6537
|
+
query_params.merge! pagination_params if pagination_params
|
6538
|
+
end
|
6539
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
6540
|
+
page_params_store(:get, path)
|
6541
|
+
response.map {|response|GroupCategory.new(response)}
|
6542
|
+
end
|
6543
|
+
def get_single_group_category(group_category_id,opts={})
|
6209
6544
|
query_param_keys = [
|
6210
6545
|
|
6211
6546
|
]
|
@@ -6443,7 +6778,8 @@ module Pandarus
|
|
6443
6778
|
|
6444
6779
|
# set default values and merge with input
|
6445
6780
|
options = underscored_merge_opts(opts,
|
6446
|
-
|
6781
|
+
{}
|
6782
|
+
|
6447
6783
|
)
|
6448
6784
|
|
6449
6785
|
# resource path
|
@@ -7622,7 +7958,8 @@ module Pandarus
|
|
7622
7958
|
|
7623
7959
|
# set default values and merge with input
|
7624
7960
|
options = underscored_merge_opts(opts,
|
7625
|
-
|
7961
|
+
{}
|
7962
|
+
|
7626
7963
|
)
|
7627
7964
|
|
7628
7965
|
# resource path
|
@@ -8390,30 +8727,64 @@ module Pandarus
|
|
8390
8727
|
page_params_store(:get, path)
|
8391
8728
|
Progress.new(response)
|
8392
8729
|
end
|
8393
|
-
def
|
8730
|
+
def get_available_quiz_ip_filters(course_id,quiz_id,opts={})
|
8394
8731
|
query_param_keys = [
|
8395
8732
|
|
8396
8733
|
]
|
8397
8734
|
|
8398
8735
|
form_param_keys = [
|
8399
|
-
:quiz_report__report_type__,
|
8400
|
-
:quiz_report__includes_all_versions__,
|
8401
8736
|
|
8402
8737
|
]
|
8403
8738
|
|
8404
8739
|
# verify existence of params
|
8405
8740
|
raise "course_id is required" if course_id.nil?
|
8406
8741
|
raise "quiz_id is required" if quiz_id.nil?
|
8407
|
-
raise "quiz_report__report_type__ is required" if quiz_report__report_type__.nil?
|
8408
8742
|
# set default values and merge with input
|
8409
8743
|
options = underscored_merge_opts(opts,
|
8410
8744
|
:course_id => course_id,
|
8411
|
-
:quiz_id => quiz_id
|
8412
|
-
:quiz_report__report_type__ => quiz_report__report_type__
|
8745
|
+
:quiz_id => quiz_id
|
8413
8746
|
)
|
8414
8747
|
|
8415
8748
|
# resource path
|
8416
|
-
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/
|
8749
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/ip_filters",
|
8750
|
+
:course_id => course_id,
|
8751
|
+
:quiz_id => quiz_id)
|
8752
|
+
headers = nil
|
8753
|
+
form_params = select_params(options, form_param_keys)
|
8754
|
+
query_params = select_params(options, query_param_keys)
|
8755
|
+
if opts[:next_page]
|
8756
|
+
pagination_params = page_params_load(:get, path)
|
8757
|
+
query_params.merge! pagination_params if pagination_params
|
8758
|
+
end
|
8759
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
8760
|
+
page_params_store(:get, path)
|
8761
|
+
response
|
8762
|
+
|
8763
|
+
end
|
8764
|
+
def create_question_group(course_id,quiz_id,opts={})
|
8765
|
+
query_param_keys = [
|
8766
|
+
|
8767
|
+
]
|
8768
|
+
|
8769
|
+
form_param_keys = [
|
8770
|
+
:quiz_groups__name__,
|
8771
|
+
:quiz_groups__pick_count__,
|
8772
|
+
:quiz_groups__question_points__,
|
8773
|
+
:quiz_groups__assessment_question_bank_id__,
|
8774
|
+
|
8775
|
+
]
|
8776
|
+
|
8777
|
+
# verify existence of params
|
8778
|
+
raise "course_id is required" if course_id.nil?
|
8779
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8780
|
+
# set default values and merge with input
|
8781
|
+
options = underscored_merge_opts(opts,
|
8782
|
+
:course_id => course_id,
|
8783
|
+
:quiz_id => quiz_id
|
8784
|
+
)
|
8785
|
+
|
8786
|
+
# resource path
|
8787
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/groups",
|
8417
8788
|
:course_id => course_id,
|
8418
8789
|
:quiz_id => quiz_id)
|
8419
8790
|
headers = nil
|
@@ -8425,14 +8796,18 @@ module Pandarus
|
|
8425
8796
|
end
|
8426
8797
|
response = mixed_request(:post, path, query_params, form_params, headers)
|
8427
8798
|
page_params_store(:post, path)
|
8428
|
-
|
8799
|
+
response
|
8800
|
+
|
8429
8801
|
end
|
8430
|
-
def
|
8802
|
+
def update_question_group(course_id,quiz_id,id,opts={})
|
8431
8803
|
query_param_keys = [
|
8432
8804
|
|
8433
8805
|
]
|
8434
8806
|
|
8435
8807
|
form_param_keys = [
|
8808
|
+
:quiz_groups__name__,
|
8809
|
+
:quiz_groups__pick_count__,
|
8810
|
+
:quiz_groups__question_points__,
|
8436
8811
|
|
8437
8812
|
]
|
8438
8813
|
|
@@ -8448,7 +8823,7 @@ module Pandarus
|
|
8448
8823
|
)
|
8449
8824
|
|
8450
8825
|
# resource path
|
8451
|
-
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/
|
8826
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/groups/{id}",
|
8452
8827
|
:course_id => course_id,
|
8453
8828
|
:quiz_id => quiz_id,
|
8454
8829
|
:id => id)
|
@@ -8456,16 +8831,17 @@ module Pandarus
|
|
8456
8831
|
form_params = select_params(options, form_param_keys)
|
8457
8832
|
query_params = select_params(options, query_param_keys)
|
8458
8833
|
if opts[:next_page]
|
8459
|
-
pagination_params = page_params_load(:
|
8834
|
+
pagination_params = page_params_load(:put, path)
|
8460
8835
|
query_params.merge! pagination_params if pagination_params
|
8461
8836
|
end
|
8462
|
-
response = mixed_request(:
|
8463
|
-
page_params_store(:
|
8464
|
-
|
8837
|
+
response = mixed_request(:put, path, query_params, form_params, headers)
|
8838
|
+
page_params_store(:put, path)
|
8839
|
+
response
|
8840
|
+
|
8465
8841
|
end
|
8466
|
-
def
|
8842
|
+
def delete_question_group(course_id,quiz_id,id,opts={})
|
8467
8843
|
query_param_keys = [
|
8468
|
-
|
8844
|
+
|
8469
8845
|
]
|
8470
8846
|
|
8471
8847
|
form_param_keys = [
|
@@ -8474,91 +8850,570 @@ module Pandarus
|
|
8474
8850
|
|
8475
8851
|
# verify existence of params
|
8476
8852
|
raise "course_id is required" if course_id.nil?
|
8853
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8854
|
+
raise "id is required" if id.nil?
|
8477
8855
|
# set default values and merge with input
|
8478
8856
|
options = underscored_merge_opts(opts,
|
8479
|
-
:course_id => course_id
|
8857
|
+
:course_id => course_id,
|
8858
|
+
:quiz_id => quiz_id,
|
8859
|
+
:id => id
|
8480
8860
|
)
|
8481
8861
|
|
8482
8862
|
# resource path
|
8483
|
-
path = path_replace("/v1/courses/{course_id}/quizzes",
|
8484
|
-
:course_id => course_id
|
8863
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/groups/{id}",
|
8864
|
+
:course_id => course_id,
|
8865
|
+
:quiz_id => quiz_id,
|
8866
|
+
:id => id)
|
8485
8867
|
headers = nil
|
8486
8868
|
form_params = select_params(options, form_param_keys)
|
8487
8869
|
query_params = select_params(options, query_param_keys)
|
8488
8870
|
if opts[:next_page]
|
8489
|
-
pagination_params = page_params_load(:
|
8871
|
+
pagination_params = page_params_load(:delete, path)
|
8490
8872
|
query_params.merge! pagination_params if pagination_params
|
8491
8873
|
end
|
8492
|
-
response = mixed_request(:
|
8493
|
-
page_params_store(:
|
8494
|
-
response
|
8874
|
+
response = mixed_request(:delete, path, query_params, form_params, headers)
|
8875
|
+
page_params_store(:delete, path)
|
8876
|
+
response
|
8877
|
+
|
8495
8878
|
end
|
8496
|
-
def
|
8879
|
+
def reorder_question_groups(course_id,quiz_id,id,order__id__,order__type__,opts={})
|
8497
8880
|
query_param_keys = [
|
8498
8881
|
|
8499
8882
|
]
|
8500
8883
|
|
8501
8884
|
form_param_keys = [
|
8885
|
+
:order__id__,
|
8886
|
+
:order__type__,
|
8502
8887
|
|
8503
8888
|
]
|
8504
8889
|
|
8505
8890
|
# verify existence of params
|
8506
8891
|
raise "course_id is required" if course_id.nil?
|
8892
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8507
8893
|
raise "id is required" if id.nil?
|
8894
|
+
raise "order__id__ is required" if order__id__.nil?
|
8895
|
+
raise "order__type__ is required" if order__type__.nil?
|
8508
8896
|
# set default values and merge with input
|
8509
8897
|
options = underscored_merge_opts(opts,
|
8510
8898
|
:course_id => course_id,
|
8511
|
-
:
|
8899
|
+
:quiz_id => quiz_id,
|
8900
|
+
:id => id,
|
8901
|
+
:order__id__ => order__id__,
|
8902
|
+
:order__type__ => order__type__
|
8512
8903
|
)
|
8513
8904
|
|
8514
8905
|
# resource path
|
8515
|
-
path = path_replace("/v1/courses/{course_id}/quizzes/{id}",
|
8906
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/groups/{id}/reorder",
|
8516
8907
|
:course_id => course_id,
|
8908
|
+
:quiz_id => quiz_id,
|
8517
8909
|
:id => id)
|
8518
8910
|
headers = nil
|
8519
8911
|
form_params = select_params(options, form_param_keys)
|
8520
8912
|
query_params = select_params(options, query_param_keys)
|
8521
8913
|
if opts[:next_page]
|
8522
|
-
pagination_params = page_params_load(:
|
8914
|
+
pagination_params = page_params_load(:post, path)
|
8523
8915
|
query_params.merge! pagination_params if pagination_params
|
8524
8916
|
end
|
8525
|
-
response = mixed_request(:
|
8526
|
-
page_params_store(:
|
8527
|
-
|
8917
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
8918
|
+
page_params_store(:post, path)
|
8919
|
+
response
|
8920
|
+
|
8528
8921
|
end
|
8529
|
-
def
|
8922
|
+
def create_quiz_report(course_id,quiz_id,quiz_report__report_type__,opts={})
|
8530
8923
|
query_param_keys = [
|
8531
8924
|
|
8532
8925
|
]
|
8533
8926
|
|
8534
8927
|
form_param_keys = [
|
8535
|
-
:
|
8536
|
-
:
|
8537
|
-
:quiz__quiz_type__,
|
8538
|
-
:quiz__assignment_group_id__,
|
8539
|
-
:quiz__time_limit__,
|
8540
|
-
:quiz__shuffle_answers__,
|
8541
|
-
:quiz__hide_results__,
|
8542
|
-
:quiz__show_correct_answers__,
|
8543
|
-
:quiz__allowed_attempts__,
|
8544
|
-
:quiz__scoring_policy__,
|
8545
|
-
:quiz__one_question_at_a_time__,
|
8546
|
-
:quiz__cant_go_back__,
|
8547
|
-
:quiz__access_code__,
|
8548
|
-
:quiz__ip_filter__,
|
8549
|
-
:quiz__due_at__,
|
8550
|
-
:quiz__lock_at__,
|
8551
|
-
:quiz__unlock_at__,
|
8552
|
-
:quiz__published__,
|
8928
|
+
:quiz_report__report_type__,
|
8929
|
+
:quiz_report__includes_all_versions__,
|
8553
8930
|
|
8554
8931
|
]
|
8555
8932
|
|
8556
8933
|
# verify existence of params
|
8557
8934
|
raise "course_id is required" if course_id.nil?
|
8558
|
-
raise "
|
8559
|
-
raise "
|
8560
|
-
|
8561
|
-
|
8935
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8936
|
+
raise "quiz_report__report_type__ is required" if quiz_report__report_type__.nil?
|
8937
|
+
# set default values and merge with input
|
8938
|
+
options = underscored_merge_opts(opts,
|
8939
|
+
:course_id => course_id,
|
8940
|
+
:quiz_id => quiz_id,
|
8941
|
+
:quiz_report__report_type__ => quiz_report__report_type__
|
8942
|
+
)
|
8943
|
+
|
8944
|
+
# resource path
|
8945
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/reports",
|
8946
|
+
:course_id => course_id,
|
8947
|
+
:quiz_id => quiz_id)
|
8948
|
+
headers = nil
|
8949
|
+
form_params = select_params(options, form_param_keys)
|
8950
|
+
query_params = select_params(options, query_param_keys)
|
8951
|
+
if opts[:next_page]
|
8952
|
+
pagination_params = page_params_load(:post, path)
|
8953
|
+
query_params.merge! pagination_params if pagination_params
|
8954
|
+
end
|
8955
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
8956
|
+
page_params_store(:post, path)
|
8957
|
+
QuizReport.new(response)
|
8958
|
+
end
|
8959
|
+
def get_quiz_report(course_id,quiz_id,id,opts={})
|
8960
|
+
query_param_keys = [
|
8961
|
+
|
8962
|
+
]
|
8963
|
+
|
8964
|
+
form_param_keys = [
|
8965
|
+
|
8966
|
+
]
|
8967
|
+
|
8968
|
+
# verify existence of params
|
8969
|
+
raise "course_id is required" if course_id.nil?
|
8970
|
+
raise "quiz_id is required" if quiz_id.nil?
|
8971
|
+
raise "id is required" if id.nil?
|
8972
|
+
# set default values and merge with input
|
8973
|
+
options = underscored_merge_opts(opts,
|
8974
|
+
:course_id => course_id,
|
8975
|
+
:quiz_id => quiz_id,
|
8976
|
+
:id => id
|
8977
|
+
)
|
8978
|
+
|
8979
|
+
# resource path
|
8980
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/reports/{id}",
|
8981
|
+
:course_id => course_id,
|
8982
|
+
:quiz_id => quiz_id,
|
8983
|
+
:id => id)
|
8984
|
+
headers = nil
|
8985
|
+
form_params = select_params(options, form_param_keys)
|
8986
|
+
query_params = select_params(options, query_param_keys)
|
8987
|
+
if opts[:next_page]
|
8988
|
+
pagination_params = page_params_load(:get, path)
|
8989
|
+
query_params.merge! pagination_params if pagination_params
|
8990
|
+
end
|
8991
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
8992
|
+
page_params_store(:get, path)
|
8993
|
+
QuizReport.new(response)
|
8994
|
+
end
|
8995
|
+
def upload_file(course_id,quiz_id,name,on_duplicate,opts={})
|
8996
|
+
query_param_keys = [
|
8997
|
+
|
8998
|
+
]
|
8999
|
+
|
9000
|
+
form_param_keys = [
|
9001
|
+
:name,
|
9002
|
+
:on_duplicate,
|
9003
|
+
|
9004
|
+
]
|
9005
|
+
|
9006
|
+
# verify existence of params
|
9007
|
+
raise "course_id is required" if course_id.nil?
|
9008
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9009
|
+
raise "name is required" if name.nil?
|
9010
|
+
raise "on_duplicate is required" if on_duplicate.nil?
|
9011
|
+
# set default values and merge with input
|
9012
|
+
options = underscored_merge_opts(opts,
|
9013
|
+
:course_id => course_id,
|
9014
|
+
:quiz_id => quiz_id,
|
9015
|
+
:name => name,
|
9016
|
+
:on_duplicate => on_duplicate
|
9017
|
+
)
|
9018
|
+
|
9019
|
+
# resource path
|
9020
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/self/files",
|
9021
|
+
:course_id => course_id,
|
9022
|
+
:quiz_id => quiz_id)
|
9023
|
+
headers = nil
|
9024
|
+
form_params = select_params(options, form_param_keys)
|
9025
|
+
query_params = select_params(options, query_param_keys)
|
9026
|
+
if opts[:next_page]
|
9027
|
+
pagination_params = page_params_load(:post, path)
|
9028
|
+
query_params.merge! pagination_params if pagination_params
|
9029
|
+
end
|
9030
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
9031
|
+
page_params_store(:post, path)
|
9032
|
+
response
|
9033
|
+
|
9034
|
+
end
|
9035
|
+
def get_all_quiz_submissions(course_id,quiz_id,include,opts={})
|
9036
|
+
query_param_keys = [
|
9037
|
+
:include
|
9038
|
+
]
|
9039
|
+
|
9040
|
+
form_param_keys = [
|
9041
|
+
|
9042
|
+
]
|
9043
|
+
|
9044
|
+
# verify existence of params
|
9045
|
+
raise "course_id is required" if course_id.nil?
|
9046
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9047
|
+
raise "include is required" if include.nil?
|
9048
|
+
# set default values and merge with input
|
9049
|
+
options = underscored_merge_opts(opts,
|
9050
|
+
:course_id => course_id,
|
9051
|
+
:quiz_id => quiz_id,
|
9052
|
+
:include => include
|
9053
|
+
)
|
9054
|
+
|
9055
|
+
# resource path
|
9056
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/submissions",
|
9057
|
+
:course_id => course_id,
|
9058
|
+
:quiz_id => quiz_id)
|
9059
|
+
headers = nil
|
9060
|
+
form_params = select_params(options, form_param_keys)
|
9061
|
+
query_params = select_params(options, query_param_keys)
|
9062
|
+
if opts[:next_page]
|
9063
|
+
pagination_params = page_params_load(:get, path)
|
9064
|
+
query_params.merge! pagination_params if pagination_params
|
9065
|
+
end
|
9066
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9067
|
+
page_params_store(:get, path)
|
9068
|
+
response
|
9069
|
+
|
9070
|
+
end
|
9071
|
+
def get_single_quiz_submission(course_id,quiz_id,id,include,opts={})
|
9072
|
+
query_param_keys = [
|
9073
|
+
:include
|
9074
|
+
]
|
9075
|
+
|
9076
|
+
form_param_keys = [
|
9077
|
+
|
9078
|
+
]
|
9079
|
+
|
9080
|
+
# verify existence of params
|
9081
|
+
raise "course_id is required" if course_id.nil?
|
9082
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9083
|
+
raise "id is required" if id.nil?
|
9084
|
+
raise "include is required" if include.nil?
|
9085
|
+
# set default values and merge with input
|
9086
|
+
options = underscored_merge_opts(opts,
|
9087
|
+
:course_id => course_id,
|
9088
|
+
:quiz_id => quiz_id,
|
9089
|
+
:id => id,
|
9090
|
+
:include => include
|
9091
|
+
)
|
9092
|
+
|
9093
|
+
# resource path
|
9094
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}",
|
9095
|
+
:course_id => course_id,
|
9096
|
+
:quiz_id => quiz_id,
|
9097
|
+
:id => id)
|
9098
|
+
headers = nil
|
9099
|
+
form_params = select_params(options, form_param_keys)
|
9100
|
+
query_params = select_params(options, query_param_keys)
|
9101
|
+
if opts[:next_page]
|
9102
|
+
pagination_params = page_params_load(:get, path)
|
9103
|
+
query_params.merge! pagination_params if pagination_params
|
9104
|
+
end
|
9105
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9106
|
+
page_params_store(:get, path)
|
9107
|
+
response
|
9108
|
+
|
9109
|
+
end
|
9110
|
+
def list_questions_in_quiz(course_id,quiz_id,opts={})
|
9111
|
+
query_param_keys = [
|
9112
|
+
|
9113
|
+
]
|
9114
|
+
|
9115
|
+
form_param_keys = [
|
9116
|
+
|
9117
|
+
]
|
9118
|
+
|
9119
|
+
# verify existence of params
|
9120
|
+
raise "course_id is required" if course_id.nil?
|
9121
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9122
|
+
# set default values and merge with input
|
9123
|
+
options = underscored_merge_opts(opts,
|
9124
|
+
:course_id => course_id,
|
9125
|
+
:quiz_id => quiz_id
|
9126
|
+
)
|
9127
|
+
|
9128
|
+
# resource path
|
9129
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions",
|
9130
|
+
:course_id => course_id,
|
9131
|
+
:quiz_id => quiz_id)
|
9132
|
+
headers = nil
|
9133
|
+
form_params = select_params(options, form_param_keys)
|
9134
|
+
query_params = select_params(options, query_param_keys)
|
9135
|
+
if opts[:next_page]
|
9136
|
+
pagination_params = page_params_load(:get, path)
|
9137
|
+
query_params.merge! pagination_params if pagination_params
|
9138
|
+
end
|
9139
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9140
|
+
page_params_store(:get, path)
|
9141
|
+
response.map {|response|QuizQuestion.new(response)}
|
9142
|
+
end
|
9143
|
+
def get_single_quiz_question(course_id,quiz_id,id,opts={})
|
9144
|
+
query_param_keys = [
|
9145
|
+
|
9146
|
+
]
|
9147
|
+
|
9148
|
+
form_param_keys = [
|
9149
|
+
|
9150
|
+
]
|
9151
|
+
|
9152
|
+
# verify existence of params
|
9153
|
+
raise "course_id is required" if course_id.nil?
|
9154
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9155
|
+
raise "id is required" if id.nil?
|
9156
|
+
# set default values and merge with input
|
9157
|
+
options = underscored_merge_opts(opts,
|
9158
|
+
:course_id => course_id,
|
9159
|
+
:quiz_id => quiz_id,
|
9160
|
+
:id => id
|
9161
|
+
)
|
9162
|
+
|
9163
|
+
# resource path
|
9164
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions/{id}",
|
9165
|
+
:course_id => course_id,
|
9166
|
+
:quiz_id => quiz_id,
|
9167
|
+
:id => id)
|
9168
|
+
headers = nil
|
9169
|
+
form_params = select_params(options, form_param_keys)
|
9170
|
+
query_params = select_params(options, query_param_keys)
|
9171
|
+
if opts[:next_page]
|
9172
|
+
pagination_params = page_params_load(:get, path)
|
9173
|
+
query_params.merge! pagination_params if pagination_params
|
9174
|
+
end
|
9175
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9176
|
+
page_params_store(:get, path)
|
9177
|
+
QuizQuestion.new(response)
|
9178
|
+
end
|
9179
|
+
def create_single_quiz_question(course_id,quiz_id,question__question_name__,question__question_text__,question__question_type__,opts={})
|
9180
|
+
query_param_keys = [
|
9181
|
+
|
9182
|
+
]
|
9183
|
+
|
9184
|
+
form_param_keys = [
|
9185
|
+
:question__question_name__,
|
9186
|
+
:question__question_text__,
|
9187
|
+
:question__quiz_group_id__,
|
9188
|
+
:question__question_type__,
|
9189
|
+
:question__position__,
|
9190
|
+
:question__points_possible__,
|
9191
|
+
:question__correct_comments__,
|
9192
|
+
:question__incorrect_comments__,
|
9193
|
+
:question__neutral_comments__,
|
9194
|
+
:question__text_after_answers__,
|
9195
|
+
:question__answers__,
|
9196
|
+
|
9197
|
+
]
|
9198
|
+
|
9199
|
+
# verify existence of params
|
9200
|
+
raise "course_id is required" if course_id.nil?
|
9201
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9202
|
+
raise "question__question_name__ is required" if question__question_name__.nil?
|
9203
|
+
raise "question__question_text__ is required" if question__question_text__.nil?
|
9204
|
+
raise "question__question_type__ is required" if question__question_type__.nil?
|
9205
|
+
# set default values and merge with input
|
9206
|
+
options = underscored_merge_opts(opts,
|
9207
|
+
:course_id => course_id,
|
9208
|
+
:quiz_id => quiz_id,
|
9209
|
+
:question__question_name__ => question__question_name__,
|
9210
|
+
:question__question_text__ => question__question_text__,
|
9211
|
+
:question__question_type__ => question__question_type__
|
9212
|
+
)
|
9213
|
+
|
9214
|
+
# resource path
|
9215
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions",
|
9216
|
+
:course_id => course_id,
|
9217
|
+
:quiz_id => quiz_id)
|
9218
|
+
headers = nil
|
9219
|
+
form_params = select_params(options, form_param_keys)
|
9220
|
+
query_params = select_params(options, query_param_keys)
|
9221
|
+
if opts[:next_page]
|
9222
|
+
pagination_params = page_params_load(:post, path)
|
9223
|
+
query_params.merge! pagination_params if pagination_params
|
9224
|
+
end
|
9225
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
9226
|
+
page_params_store(:post, path)
|
9227
|
+
QuizQuestion.new(response)
|
9228
|
+
end
|
9229
|
+
def update_existing_quiz_question(course_id,quiz_id,id,question__question_name__,question__question_text__,question__question_type__,opts={})
|
9230
|
+
query_param_keys = [
|
9231
|
+
|
9232
|
+
]
|
9233
|
+
|
9234
|
+
form_param_keys = [
|
9235
|
+
:question__question_name__,
|
9236
|
+
:question__question_text__,
|
9237
|
+
:question__quiz_group_id__,
|
9238
|
+
:question__question_type__,
|
9239
|
+
:question__position__,
|
9240
|
+
:question__points_possible__,
|
9241
|
+
:question__correct_comments__,
|
9242
|
+
:question__incorrect_comments__,
|
9243
|
+
:question__neutral_comments__,
|
9244
|
+
:question__text_after_answers__,
|
9245
|
+
:question__answers__,
|
9246
|
+
|
9247
|
+
]
|
9248
|
+
|
9249
|
+
# verify existence of params
|
9250
|
+
raise "course_id is required" if course_id.nil?
|
9251
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9252
|
+
raise "id is required" if id.nil?
|
9253
|
+
raise "question__question_name__ is required" if question__question_name__.nil?
|
9254
|
+
raise "question__question_text__ is required" if question__question_text__.nil?
|
9255
|
+
raise "question__question_type__ is required" if question__question_type__.nil?
|
9256
|
+
# set default values and merge with input
|
9257
|
+
options = underscored_merge_opts(opts,
|
9258
|
+
:course_id => course_id,
|
9259
|
+
:quiz_id => quiz_id,
|
9260
|
+
:id => id,
|
9261
|
+
:question__question_name__ => question__question_name__,
|
9262
|
+
:question__question_text__ => question__question_text__,
|
9263
|
+
:question__question_type__ => question__question_type__
|
9264
|
+
)
|
9265
|
+
|
9266
|
+
# resource path
|
9267
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions/{id}",
|
9268
|
+
:course_id => course_id,
|
9269
|
+
:quiz_id => quiz_id,
|
9270
|
+
:id => id)
|
9271
|
+
headers = nil
|
9272
|
+
form_params = select_params(options, form_param_keys)
|
9273
|
+
query_params = select_params(options, query_param_keys)
|
9274
|
+
if opts[:next_page]
|
9275
|
+
pagination_params = page_params_load(:put, path)
|
9276
|
+
query_params.merge! pagination_params if pagination_params
|
9277
|
+
end
|
9278
|
+
response = mixed_request(:put, path, query_params, form_params, headers)
|
9279
|
+
page_params_store(:put, path)
|
9280
|
+
QuizQuestion.new(response)
|
9281
|
+
end
|
9282
|
+
def delete_quiz_question(course_id,quiz_id,id,opts={})
|
9283
|
+
query_param_keys = [
|
9284
|
+
|
9285
|
+
]
|
9286
|
+
|
9287
|
+
form_param_keys = [
|
9288
|
+
|
9289
|
+
]
|
9290
|
+
|
9291
|
+
# verify existence of params
|
9292
|
+
raise "course_id is required" if course_id.nil?
|
9293
|
+
raise "quiz_id is required" if quiz_id.nil?
|
9294
|
+
raise "id is required" if id.nil?
|
9295
|
+
# set default values and merge with input
|
9296
|
+
options = underscored_merge_opts(opts,
|
9297
|
+
:course_id => course_id,
|
9298
|
+
:quiz_id => quiz_id,
|
9299
|
+
:id => id
|
9300
|
+
)
|
9301
|
+
|
9302
|
+
# resource path
|
9303
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{quiz_id}/questions/{id}",
|
9304
|
+
:course_id => course_id,
|
9305
|
+
:quiz_id => quiz_id,
|
9306
|
+
:id => id)
|
9307
|
+
headers = nil
|
9308
|
+
form_params = select_params(options, form_param_keys)
|
9309
|
+
query_params = select_params(options, query_param_keys)
|
9310
|
+
if opts[:next_page]
|
9311
|
+
pagination_params = page_params_load(:delete, path)
|
9312
|
+
query_params.merge! pagination_params if pagination_params
|
9313
|
+
end
|
9314
|
+
response = mixed_request(:delete, path, query_params, form_params, headers)
|
9315
|
+
page_params_store(:delete, path)
|
9316
|
+
response
|
9317
|
+
|
9318
|
+
end
|
9319
|
+
def list_quizzes_in_course(course_id,opts={})
|
9320
|
+
query_param_keys = [
|
9321
|
+
:search_term
|
9322
|
+
]
|
9323
|
+
|
9324
|
+
form_param_keys = [
|
9325
|
+
|
9326
|
+
]
|
9327
|
+
|
9328
|
+
# verify existence of params
|
9329
|
+
raise "course_id is required" if course_id.nil?
|
9330
|
+
# set default values and merge with input
|
9331
|
+
options = underscored_merge_opts(opts,
|
9332
|
+
:course_id => course_id
|
9333
|
+
)
|
9334
|
+
|
9335
|
+
# resource path
|
9336
|
+
path = path_replace("/v1/courses/{course_id}/quizzes",
|
9337
|
+
:course_id => course_id)
|
9338
|
+
headers = nil
|
9339
|
+
form_params = select_params(options, form_param_keys)
|
9340
|
+
query_params = select_params(options, query_param_keys)
|
9341
|
+
if opts[:next_page]
|
9342
|
+
pagination_params = page_params_load(:get, path)
|
9343
|
+
query_params.merge! pagination_params if pagination_params
|
9344
|
+
end
|
9345
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9346
|
+
page_params_store(:get, path)
|
9347
|
+
response.map {|response|Quiz.new(response)}
|
9348
|
+
end
|
9349
|
+
def get_single_quiz(course_id,id,opts={})
|
9350
|
+
query_param_keys = [
|
9351
|
+
|
9352
|
+
]
|
9353
|
+
|
9354
|
+
form_param_keys = [
|
9355
|
+
|
9356
|
+
]
|
9357
|
+
|
9358
|
+
# verify existence of params
|
9359
|
+
raise "course_id is required" if course_id.nil?
|
9360
|
+
raise "id is required" if id.nil?
|
9361
|
+
# set default values and merge with input
|
9362
|
+
options = underscored_merge_opts(opts,
|
9363
|
+
:course_id => course_id,
|
9364
|
+
:id => id
|
9365
|
+
)
|
9366
|
+
|
9367
|
+
# resource path
|
9368
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{id}",
|
9369
|
+
:course_id => course_id,
|
9370
|
+
:id => id)
|
9371
|
+
headers = nil
|
9372
|
+
form_params = select_params(options, form_param_keys)
|
9373
|
+
query_params = select_params(options, query_param_keys)
|
9374
|
+
if opts[:next_page]
|
9375
|
+
pagination_params = page_params_load(:get, path)
|
9376
|
+
query_params.merge! pagination_params if pagination_params
|
9377
|
+
end
|
9378
|
+
response = mixed_request(:get, path, query_params, form_params, headers)
|
9379
|
+
page_params_store(:get, path)
|
9380
|
+
Quiz.new(response)
|
9381
|
+
end
|
9382
|
+
def create_quiz(course_id,quiz__title__,quiz__description__,quiz__quiz_type__,quiz__assignment_group_id__,quiz__time_limit__,quiz__shuffle_answers__,quiz__scoring_policy__,quiz__due_at__,quiz__lock_at__,quiz__unlock_at__,quiz__published__,opts={})
|
9383
|
+
query_param_keys = [
|
9384
|
+
|
9385
|
+
]
|
9386
|
+
|
9387
|
+
form_param_keys = [
|
9388
|
+
:quiz__title__,
|
9389
|
+
:quiz__description__,
|
9390
|
+
:quiz__quiz_type__,
|
9391
|
+
:quiz__assignment_group_id__,
|
9392
|
+
:quiz__time_limit__,
|
9393
|
+
:quiz__shuffle_answers__,
|
9394
|
+
:quiz__hide_results__,
|
9395
|
+
:quiz__show_correct_answers__,
|
9396
|
+
:quiz__show_correct_answers_at__,
|
9397
|
+
:quiz__hide_correct_answers_at__,
|
9398
|
+
:quiz__allowed_attempts__,
|
9399
|
+
:quiz__scoring_policy__,
|
9400
|
+
:quiz__one_question_at_a_time__,
|
9401
|
+
:quiz__cant_go_back__,
|
9402
|
+
:quiz__access_code__,
|
9403
|
+
:quiz__ip_filter__,
|
9404
|
+
:quiz__due_at__,
|
9405
|
+
:quiz__lock_at__,
|
9406
|
+
:quiz__unlock_at__,
|
9407
|
+
:quiz__published__,
|
9408
|
+
|
9409
|
+
]
|
9410
|
+
|
9411
|
+
# verify existence of params
|
9412
|
+
raise "course_id is required" if course_id.nil?
|
9413
|
+
raise "quiz__title__ is required" if quiz__title__.nil?
|
9414
|
+
raise "quiz__description__ is required" if quiz__description__.nil?
|
9415
|
+
raise "quiz__quiz_type__ is required" if quiz__quiz_type__.nil?
|
9416
|
+
raise "quiz__assignment_group_id__ is required" if quiz__assignment_group_id__.nil?
|
8562
9417
|
raise "quiz__time_limit__ is required" if quiz__time_limit__.nil?
|
8563
9418
|
raise "quiz__shuffle_answers__ is required" if quiz__shuffle_answers__.nil?
|
8564
9419
|
raise "quiz__scoring_policy__ is required" if quiz__scoring_policy__.nil?
|
@@ -8665,6 +9520,46 @@ module Pandarus
|
|
8665
9520
|
page_params_store(:delete, path)
|
8666
9521
|
Quiz.new(response)
|
8667
9522
|
end
|
9523
|
+
def reorder_quiz_items(course_id,id,order__id__,order__type__,opts={})
|
9524
|
+
query_param_keys = [
|
9525
|
+
|
9526
|
+
]
|
9527
|
+
|
9528
|
+
form_param_keys = [
|
9529
|
+
:order__id__,
|
9530
|
+
:order__type__,
|
9531
|
+
|
9532
|
+
]
|
9533
|
+
|
9534
|
+
# verify existence of params
|
9535
|
+
raise "course_id is required" if course_id.nil?
|
9536
|
+
raise "id is required" if id.nil?
|
9537
|
+
raise "order__id__ is required" if order__id__.nil?
|
9538
|
+
raise "order__type__ is required" if order__type__.nil?
|
9539
|
+
# set default values and merge with input
|
9540
|
+
options = underscored_merge_opts(opts,
|
9541
|
+
:course_id => course_id,
|
9542
|
+
:id => id,
|
9543
|
+
:order__id__ => order__id__,
|
9544
|
+
:order__type__ => order__type__
|
9545
|
+
)
|
9546
|
+
|
9547
|
+
# resource path
|
9548
|
+
path = path_replace("/v1/courses/{course_id}/quizzes/{id}/reorder",
|
9549
|
+
:course_id => course_id,
|
9550
|
+
:id => id)
|
9551
|
+
headers = nil
|
9552
|
+
form_params = select_params(options, form_param_keys)
|
9553
|
+
query_params = select_params(options, query_param_keys)
|
9554
|
+
if opts[:next_page]
|
9555
|
+
pagination_params = page_params_load(:post, path)
|
9556
|
+
query_params.merge! pagination_params if pagination_params
|
9557
|
+
end
|
9558
|
+
response = mixed_request(:post, path, query_params, form_params, headers)
|
9559
|
+
page_params_store(:post, path)
|
9560
|
+
response
|
9561
|
+
|
9562
|
+
end
|
8668
9563
|
def list_roles(account_id,state,opts={})
|
8669
9564
|
query_param_keys = [
|
8670
9565
|
:state
|
@@ -9222,7 +10117,8 @@ module Pandarus
|
|
9222
10117
|
|
9223
10118
|
# set default values and merge with input
|
9224
10119
|
options = underscored_merge_opts(opts,
|
9225
|
-
|
10120
|
+
{}
|
10121
|
+
|
9226
10122
|
)
|
9227
10123
|
|
9228
10124
|
# resource path
|
@@ -9251,7 +10147,8 @@ module Pandarus
|
|
9251
10147
|
|
9252
10148
|
# set default values and merge with input
|
9253
10149
|
options = underscored_merge_opts(opts,
|
9254
|
-
|
10150
|
+
{}
|
10151
|
+
|
9255
10152
|
)
|
9256
10153
|
|
9257
10154
|
# resource path
|
@@ -9269,49 +10166,31 @@ module Pandarus
|
|
9269
10166
|
response
|
9270
10167
|
|
9271
10168
|
end
|
9272
|
-
def
|
10169
|
+
def upload_file(course_id,assignment_id,user_id,opts={})
|
9273
10170
|
query_param_keys = [
|
9274
10171
|
|
9275
10172
|
]
|
9276
10173
|
|
9277
10174
|
form_param_keys = [
|
9278
|
-
:comment__text_comment__,
|
9279
|
-
:submission__submission_type__,
|
9280
|
-
:submission__body__,
|
9281
|
-
:submission__url__,
|
9282
|
-
:submission__file_ids__,
|
9283
|
-
:submission__media_comment_id__,
|
9284
|
-
:submission__media_comment_type__,
|
9285
10175
|
|
9286
10176
|
]
|
9287
10177
|
|
9288
10178
|
# verify existence of params
|
9289
10179
|
raise "course_id is required" if course_id.nil?
|
9290
10180
|
raise "assignment_id is required" if assignment_id.nil?
|
9291
|
-
raise "
|
9292
|
-
raise "submission__submission_type__ is required" if submission__submission_type__.nil?
|
9293
|
-
raise "submission__body__ is required" if submission__body__.nil?
|
9294
|
-
raise "submission__url__ is required" if submission__url__.nil?
|
9295
|
-
raise "submission__file_ids__ is required" if submission__file_ids__.nil?
|
9296
|
-
raise "submission__media_comment_id__ is required" if submission__media_comment_id__.nil?
|
9297
|
-
raise "submission__media_comment_type__ is required" if submission__media_comment_type__.nil?
|
10181
|
+
raise "user_id is required" if user_id.nil?
|
9298
10182
|
# set default values and merge with input
|
9299
10183
|
options = underscored_merge_opts(opts,
|
9300
10184
|
:course_id => course_id,
|
9301
10185
|
:assignment_id => assignment_id,
|
9302
|
-
:
|
9303
|
-
:submission__submission_type__ => submission__submission_type__,
|
9304
|
-
:submission__body__ => submission__body__,
|
9305
|
-
:submission__url__ => submission__url__,
|
9306
|
-
:submission__file_ids__ => submission__file_ids__,
|
9307
|
-
:submission__media_comment_id__ => submission__media_comment_id__,
|
9308
|
-
:submission__media_comment_type__ => submission__media_comment_type__
|
10186
|
+
:user_id => user_id
|
9309
10187
|
)
|
9310
10188
|
|
9311
10189
|
# resource path
|
9312
|
-
path = path_replace("/v1/courses/{course_id}/assignments/{assignment_id}/submissions",
|
10190
|
+
path = path_replace("/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/comments/files",
|
9313
10191
|
:course_id => course_id,
|
9314
|
-
:assignment_id => assignment_id
|
10192
|
+
:assignment_id => assignment_id,
|
10193
|
+
:user_id => user_id)
|
9315
10194
|
headers = nil
|
9316
10195
|
form_params = select_params(options, form_param_keys)
|
9317
10196
|
query_params = select_params(options, query_param_keys)
|
@@ -9488,6 +10367,7 @@ module Pandarus
|
|
9488
10367
|
:comment__group_comment__,
|
9489
10368
|
:comment__media_comment_id__,
|
9490
10369
|
:comment__media_comment_type__,
|
10370
|
+
:comment__file_ids__,
|
9491
10371
|
:submission__posted_grade__,
|
9492
10372
|
:rubric_assessment,
|
9493
10373
|
|
@@ -9605,7 +10485,8 @@ module Pandarus
|
|
9605
10485
|
|
9606
10486
|
# set default values and merge with input
|
9607
10487
|
options = underscored_merge_opts(opts,
|
9608
|
-
|
10488
|
+
{}
|
10489
|
+
|
9609
10490
|
)
|
9610
10491
|
|
9611
10492
|
# resource path
|
@@ -9634,7 +10515,8 @@ module Pandarus
|
|
9634
10515
|
|
9635
10516
|
# set default values and merge with input
|
9636
10517
|
options = underscored_merge_opts(opts,
|
9637
|
-
|
10518
|
+
{}
|
10519
|
+
|
9638
10520
|
)
|
9639
10521
|
|
9640
10522
|
# resource path
|
@@ -9663,7 +10545,8 @@ module Pandarus
|
|
9663
10545
|
|
9664
10546
|
# set default values and merge with input
|
9665
10547
|
options = underscored_merge_opts(opts,
|
9666
|
-
|
10548
|
+
{}
|
10549
|
+
|
9667
10550
|
)
|
9668
10551
|
|
9669
10552
|
# resource path
|
@@ -9692,7 +10575,8 @@ module Pandarus
|
|
9692
10575
|
|
9693
10576
|
# set default values and merge with input
|
9694
10577
|
options = underscored_merge_opts(opts,
|
9695
|
-
|
10578
|
+
{}
|
10579
|
+
|
9696
10580
|
)
|
9697
10581
|
|
9698
10582
|
# resource path
|
@@ -9752,7 +10636,8 @@ module Pandarus
|
|
9752
10636
|
|
9753
10637
|
# set default values and merge with input
|
9754
10638
|
options = underscored_merge_opts(opts,
|
9755
|
-
|
10639
|
+
{}
|
10640
|
+
|
9756
10641
|
)
|
9757
10642
|
|
9758
10643
|
# resource path
|