Sha256: 8470ea2f5dab72515e48955ce0bdff5c73de365b1e9581bf862c2cdb2e5243d3

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

module Bearcat
  class Client < Footrest::Client
    module Courses

      def course(course, params={})
        get("/api/v1/courses/#{course}", params)
      end

      def create_course(account_id, params={})
        post("/api/v1/accounts/#{account_id}/courses", params)
      end

      def delete_course(course, params={event: :delete})
        delete("/api/v1/courses/#{course}", params)
      end

      def update_course(course, params={})
        put("/api/v1/courses/#{course}", params)
      end

      def list_course_users(course, params={})
        get("/api/v1/courses/#{course}/users", params)
      end

      def course_quiz_extensions(course, params={})
        post("/api/v1/courses/#{course}/quiz_extensions", params)
      end

      def course_outcome_results(course, params={})
        get("/api/v1/courses/#{course}/outcome_results", params)
      end

      def create_content_migration(course, file_path, params={})
        response = post("/api/v1/courses/#{course}/content_migrations", params)
        pre_attachment = response['pre_attachment']
        confirmation_url = post_file(pre_attachment['upload_url'], pre_attachment['upload_params'], file_path)
        confirm_file_upload(confirmation_url)
      end

      # Performs effectively the same operation as #create_content_migration, but without the need to specify a file to be uploaded
      def copy_course(course, params = {})
        post("/api/v1/courses/#{course}/content_migrations", params)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bearcat-1.0.25 lib/bearcat/client/courses.rb