Sha256: 56d646891dabea3cbce8513c1df33b1c60750ba94033a24f9475a754f1d4ea07

Contents?: true

Size: 1.06 KB

Versions: 8

Compression:

Stored size: 1.06 KB

Contents

module MoodleRb
  class Grades
    include HTTParty
    include Utility

    attr_reader :token, :query_options

    def initialize(token, url, query_options)
      @token = token
      @query_options = query_options
      self.class.base_uri url
    end

    def by_assignment(assignment_id)
      response = self.class.post(
        '/webservice/rest/server.php',
        {
          :query => query_hash('mod_assign_get_grades', token),
          :body => {
            :assignmentids => api_array(assignment_id)
          }
        }.merge(query_options)
      )
      check_for_errors(response)
      response.parsed_response['assignments']
    end

    def by_course(course_id, *user_ids)
      response = self.class.post(
        '/webservice/rest/server.php',
        {
          :query => query_hash('core_grades_get_grades', token),
          :body => {
            :courseid => course_id,
            :userids => api_array(user_ids)
          }
        }.merge(query_options)
      )
      check_for_errors(response)
      response.parsed_response['items']
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
moodle_rb-2.2.0 lib/moodle_rb/grades.rb
moodle_rb-2.1.5 lib/moodle_rb/grades.rb
moodle_rb-2.1.0 lib/moodle_rb/grades.rb
moodle_rb-2.0.0 lib/moodle_rb/grades.rb
moodle_rb-1.2.0 lib/moodle_rb/grades.rb
moodle_rb-1.1.3 lib/moodle_rb/grades.rb
moodle_rb-1.0.5 lib/moodle_rb/grades.rb
moodle_rb-1.0.4 lib/moodle_rb/grades.rb