Class: Learndot::Courses
- Inherits:
-
Object
- Object
- Learndot::Courses
- Defined in:
- lib/learndot/courses.rb
Instance Method Summary collapse
- #enrolled(course_id) ⇒ Object
- #enrollment_count(course_id) ⇒ Object
-
#initialize(api) ⇒ Courses
constructor
A new instance of Courses.
- #retrieve(conditions, options = {orderBy: 'Name', asc: true}) ⇒ Object
Constructor Details
#initialize(api) ⇒ Courses
Returns a new instance of Courses.
2 3 4 |
# File 'lib/learndot/courses.rb', line 2 def initialize(api) @api = api end |
Instance Method Details
#enrolled(course_id) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/learndot/courses.rb', line 38 def enrolled(course_id) enrollments = @api.search(:enrolment, { 'componentId' => [course_id] }) return [] if enrollments.empty? conditions = { 'id' => enrollments.collect { | k, cs | cs['id'] }, } enrollments = @api.search(:enrolment, conditions) return [] if enrollments.empty? conditions = { 'id' => enrollments.collect { | k, cs | cs['contactId'] }, } contacts = @api.search(:contact, conditions) contacts.collect do | k, cs | { :id => cs['id'], :name => cs['_displayName_'], :email => cs['email'] } end end |
#enrollment_count(course_id) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/learndot/courses.rb', line 24 def enrollment_count(course_id) enrollments = @api.search(:enrolment, { 'componentId' => [course_id] }) if ! enrollments.empty? enrollment_ids = enrollments.collect { | k, cs | cs['id'] } enrollment_conditions = { 'id' => enrollment_ids, } count = @api.count('enrolment', enrollment_conditions) end return count || 0 end |
#retrieve(conditions, options = {orderBy: 'Name', asc: true}) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/learndot/courses.rb', line 6 def retrieve(conditions, = {orderBy: 'Name', asc: true}) courses = @api.search(:learning_component, conditions, ) if !courses.empty? course_ids = courses.collect { | k, c | c['id'] }.uniq courses = @api.search(:learning_component, { 'id' => course_ids }) courses.collect do | course_id, course | course[:id] = course['id'] course[:name] = course['name'] course[:components] = course['components'] course end end end |