class MoodleRb::Courses
Attributes
query_options[R]
token[R]
Public Class Methods
new(token, url, query_options)
click to toggle source
# File lib/moodle_rb/courses.rb, line 8 def initialize(token, url, query_options) @token = token @query_options = query_options self.class.base_uri url end
Public Instance Methods
create(params)
click to toggle source
required params: full_name short_name
must be unique
parent_category
the parent category id inside which the new category will be created
optional params: idnumber
the new course external reference. must be unique
# File lib/moodle_rb/courses.rb, line 34 def create(params) response = self.class.post( '/webservice/rest/server.php', { :query => query_hash('core_course_create_courses', token), :body => { :courses => { '0' => { :fullname => params[:full_name], :shortname => params[:short_name], :categoryid => params[:parent_category], :idnumber => params[:idnumber] } } } }.merge(query_options) ) check_for_errors(response) response.parsed_response.first end
destroy(id)
click to toggle source
# File lib/moodle_rb/courses.rb, line 73 def destroy(id) response = self.class.post( '/webservice/rest/server.php', { :query => query_hash('core_course_delete_courses', token), :body => { :courseids => { '0' => id } } }.merge(query_options) ) check_for_errors(response) response.parsed_response end
enrolled_users(course_id)
click to toggle source
# File lib/moodle_rb/courses.rb, line 89 def enrolled_users(course_id) response = self.class.post( '/webservice/rest/server.php', { :query => query_hash('core_enrol_get_enrolled_users', token), :body => { :courseid => course_id } }.merge(query_options) ) check_for_errors(response) response.parsed_response end
index()
click to toggle source
# File lib/moodle_rb/courses.rb, line 14 def index response = self.class.get( '/webservice/rest/server.php', { :query => query_hash('core_course_get_courses', token) }.merge(query_options) ) check_for_errors(response) response.parsed_response end
show(id)
click to toggle source
# File lib/moodle_rb/courses.rb, line 55 def show(id) response = self.class.post( '/webservice/rest/server.php', { :query => query_hash('core_course_get_courses', token), :body => { :options => { :ids => { '0' => id } } } }.merge(query_options) ) check_for_errors(response) response.parsed_response.first end