Sha256: b199577435fbfccefd9263e6a5e76ef047bc6ce7bc2b6044e1f466d0ae2b088a
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
module AbsorbApi class Course < Base include Relations attr_accessor :id, :name, :description, :notes, :external_id, :access_date, :expire_type, :expire_duration, :expiry_date, :active_status, :tag_ids, :resource_ids, :editor_ids, :prices, :competency_definition_ids, :prerequisite_course_ids, :post_enrollment_course_ids, :allow_course_evaluation, :category_id, :certificate_url, :audience, :goals, :vendor, :company_cost, :learner_cost, :company_time, :learner_time has_many :certificates has_many :chapters has_many :enrollments, :course_enrollment has_many :resources has_many :prerequisites has_many :lessons # gets all associated enrollments given a collection of courses # all calls are called in parallel def self.enrollments_from_collection(courses, **conditions) enrollments = [] connection = AbsorbApi::Api.new.connection courses.reject! do |course| AbsorbApi.configuration.ignored_course_ids.include? course.id end connection.in_parallel do courses.each do |course| enrollments << connection.get("courses/#{course.id}/enrollments", conditions) end end enrollments.map { |response| response.body.map { |attrs| CourseEnrollment.new(attrs) } }.flatten end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
absorb_api-0.2.0 | lib/absorb_api/course.rb |