Module: ScormEngine::Api::Endpoints::Courses::Configuration

Included in:
ScormEngine::Api::Endpoints
Defined in:
lib/scorm_engine/api/endpoints/courses/configuration.rb

Instance Method Summary collapse

Instance Method Details

#get_course_configuration(options = {}) ⇒ ScormEngine::Models::CourseConfiguration

Returns the effective value of every setting at this level, as well as the effective value of any setting at a more specific level.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :course_id (String)

    The ID of the course to get.

  • :version (Integer) — default: nil

    The version of this course to use. If not provided, the latest version will be used.

Returns:

See Also:



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/scorm_engine/api/endpoints/courses/configuration.rb', line 28

def get_course_configuration(options = {})
  require_options(options, :course_id)

  options = options.dup
  course_id = options.delete(:course_id)

  response = get("courses/#{course_id}/configuration", options)

  result = response.success? ? ScormEngine::Models::CourseConfiguration.new_from_api(response.body) : nil

  Response.new(raw_response: response, result: result)
end

#get_course_configuration_setting(options = {}) ⇒ String

Returns the effective value for this configuration setting for the resource being configured.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :course_id (String)

    The ID of the course to get.

  • :setting_id (String)

    The ID of the setting to get.

  • :version (Integer) — default: nil

    The version of this course to use. If not provided, the latest version will be used.

Returns:

  • (String)

See Also:



93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/scorm_engine/api/endpoints/courses/configuration.rb', line 93

def get_course_configuration_setting(options = {})
  require_options(options, :course_id, :setting_id)

  options = options.dup
  course_id = options.delete(:course_id)
  setting_id = options.delete(:setting_id)

  response = get("courses/#{course_id}/configuration/#{setting_id}", options)

  result = response.success? ? response.body["value"] : nil

  Response.new(raw_response: response, result: result)
end

#post_course_configuration(options = {}) ⇒ ScormEngine::Response

Bulk set configuration settings via POST request.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :course_id (String)

    The ID of the course to set.

  • :version (Integer) — default: nil

    The version of this course to use. If not provided, the latest version will be used.

  • :settings (Hash)

    Key/value pairs of configuration options to set.

Returns:

See Also:



60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/scorm_engine/api/endpoints/courses/configuration.rb', line 60

def post_course_configuration(options = {})
  require_options(options, :course_id, :settings)

  options = options.dup
  course_id = options.delete(:course_id)
  settings = options.delete(:settings)

  body = { settings: settings.map { |k, v| { "settingId" => k, "value" => v.to_s } } }

  response = post("courses/#{course_id}/configuration", options, body)

  Response.new(raw_response: response)
end

#put_course_configuration_setting(options = {}) ⇒ ScormEngine::Response

Sets the value for this configuration setting, for the resource being configured.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :course_id (String)

    The ID of the course to set.

  • :setting_id (String)

    The ID of the setting to set.

  • :value (String) — default: ""

    The value of the setting to set.

  • :version (Integer) — default: nil

    The version of this course to use. If not provided, the latest version will be used.

Returns:

See Also:



129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'lib/scorm_engine/api/endpoints/courses/configuration.rb', line 129

def put_course_configuration_setting(options = {})
  require_options(options, :course_id, :setting_id)

  options = options.dup
  course_id = options.delete(:course_id)
  setting_id = options.delete(:setting_id)

  body = { value: options.delete(:value).to_s }

  response = put("courses/#{course_id}/configuration/#{setting_id}", options, body)

  Response.new(raw_response: response)
end