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