Class: CanvasFactory::Course
- Inherits:
-
Object
- Object
- CanvasFactory::Course
- Defined in:
- lib/japanda/canvas_factory/course.rb
Overview
canvas course class
Instance Attribute Summary collapse
-
#assignments ⇒ Object
readonly
Returns the value of attribute assignments.
-
#course_code ⇒ Object
readonly
Returns the value of attribute course_code.
-
#course_id ⇒ Object
readonly
Returns the value of attribute course_id.
-
#course_name ⇒ Object
readonly
Returns the value of attribute course_name.
-
#course_request ⇒ Object
readonly
Returns the value of attribute course_request.
-
#course_response ⇒ Object
readonly
Returns the value of attribute course_response.
-
#modules ⇒ Object
readonly
Returns the value of attribute modules.
-
#quizzes ⇒ Object
readonly
Returns the value of attribute quizzes.
-
#sections ⇒ Object
readonly
Returns the value of attribute sections.
Instance Method Summary collapse
- #add_assignment(opts = {}, merge = true) ⇒ Object
- #add_module(opts = {}, merge = true) ⇒ Object
- #add_quiz(opts = {}, merge = true) ⇒ Object
- #add_section(opts = {}, merge = true) ⇒ Object
- #delete_course ⇒ Object
-
#initialize(opts = {}, merge = true) ⇒ Course
constructor
A new instance of Course.
Constructor Details
#initialize(opts = {}, merge = true) ⇒ Course
Returns a new instance of Course.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/japanda/canvas_factory/course.rb', line 7 def initialize(opts = {}, merge = true) @sections = [] @modules = [] @assignments = [] @quizzes = [] course_name_code = "auto#{SecureRandom.hex}" @course_request = { account_id: CANVAS_ACCOUNT_ID, course: { name: course_name_code, course_code: course_name_code, start_at: Time.now, end_at: Time.now + (30 * 24 * 60 * 60), license: 'public_domain', is_public: true, is_public_to_auth_users: false, public_syllabus: false, public_description: 'api created course', allow_student_wiki_edits: true, allow_wiki_comments: true, allow_student_forum_attachments: true, open_enrollment: true, self_enrollment: false, restrict_enrollments_to_course_dates: false, term_id: nil, # sis_course_id: '', # field is included only when user has permission to view SIS information # integration_id: '', # field is included only when user has permission to view SIS information hide_final_grades: true, apply_assignment_group_weights: false, syllabus_body: 'api syllabus', grading_standard_id: nil, course_format: 'online' }, offer: true, enroll_me: false, enable_sis_reactivation: false } @course_request = Mergie.deep_merge(@course_request, opts, merge) create_course end |
Instance Attribute Details
#assignments ⇒ Object (readonly)
Returns the value of attribute assignments.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def assignments @assignments end |
#course_code ⇒ Object (readonly)
Returns the value of attribute course_code.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def course_code @course_code end |
#course_id ⇒ Object (readonly)
Returns the value of attribute course_id.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def course_id @course_id end |
#course_name ⇒ Object (readonly)
Returns the value of attribute course_name.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def course_name @course_name end |
#course_request ⇒ Object (readonly)
Returns the value of attribute course_request.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def course_request @course_request end |
#course_response ⇒ Object (readonly)
Returns the value of attribute course_response.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def course_response @course_response end |
#modules ⇒ Object (readonly)
Returns the value of attribute modules.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def modules @modules end |
#quizzes ⇒ Object (readonly)
Returns the value of attribute quizzes.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def quizzes @quizzes end |
#sections ⇒ Object (readonly)
Returns the value of attribute sections.
4 5 6 |
# File 'lib/japanda/canvas_factory/course.rb', line 4 def sections @sections end |
Instance Method Details
#add_assignment(opts = {}, merge = true) ⇒ Object
59 60 61 62 63 |
# File 'lib/japanda/canvas_factory/course.rb', line 59 def add_assignment(opts = {}, merge = true) assignment = CanvasFactory::Assignment.new(@course_id, opts, merge) @assignments << assignment assignment end |
#add_module(opts = {}, merge = true) ⇒ Object
53 54 55 56 57 |
# File 'lib/japanda/canvas_factory/course.rb', line 53 def add_module(opts = {}, merge = true) mod = CanvasFactory::Module.new(@course_id, opts, merge) @modules << mod mod end |
#add_quiz(opts = {}, merge = true) ⇒ Object
65 66 67 68 69 |
# File 'lib/japanda/canvas_factory/course.rb', line 65 def add_quiz(opts = {}, merge = true) quiz = CanvasFactory::Quiz.new(@course_id, opts, merge) @quizzes << quiz quiz end |
#add_section(opts = {}, merge = true) ⇒ Object
48 49 50 51 |
# File 'lib/japanda/canvas_factory/course.rb', line 48 def add_section(opts = {}, merge = true) section = CanvasFactory::Section.new(@course_id, opts, merge) @sections << section end |
#delete_course ⇒ Object
71 72 73 74 |
# File 'lib/japanda/canvas_factory/course.rb', line 71 def delete_course delete_end_point = "#{CANVAS_API_V1}/courses/#{@course_id}?event=delete" CanvasFactory.perform_delete(delete_end_point) end |