class Coursera::CourseraCourses
This class is for Coursera
courses
Attributes
courses[R]
total_course_num[R]
Public Class Methods
find()
click to toggle source
# File lib/share_learning/coursera_courses.rb, line 13 def self.find total_course_num = CourseraApi.total_course_num courses = CourseraApi.courses new(total_course_num, courses) end
new(total_course_num, courses)
click to toggle source
# File lib/share_learning/coursera_courses.rb, line 8 def initialize(total_course_num, courses) @total_course_num = total_course_num @courses = courses end
Public Instance Methods
course_matched?(course, method, keyword)
click to toggle source
# File lib/share_learning/coursera_courses.rb, line 19 def course_matched?(course, method, keyword) available_methods = [:course_name, :description] result = false available_methods.each do |m| next unless method == :all || m == method result = true if course[m].downcase.include?(keyword) end result end
print_all_courses()
click to toggle source
# File lib/share_learning/coursera_courses.rb, line 38 def print_all_courses puts "#{@total_course_num} courses:" @courses.size.times do |i| print_course(@courses[i], i) end end
search_courses(method, keyword)
click to toggle source
# File lib/share_learning/coursera_courses.rb, line 29 def search_courses(method, keyword) matched_courses = [] @courses.size.times do |i| course = courses[i] matched_courses.push(course) if course_matched?(course, method, keyword) end matched_courses end
Private Instance Methods
print_course(course, sequence_number)
click to toggle source
# File lib/share_learning/coursera_courses.rb, line 45 def print_course(course, sequence_number) puts "Course #{sequence_number}:\n"\ "\tTitle: #{course[:course_name]}\n"\ "\tType: #{course[:course_type]}\n"\ "\tID: #{course[:course_id]}\n"\ "\tSlug: #{course[:course_slug]}\n"\ "\tLink: #{course[:link]}\n"\ "\tDescription: #{course[:description][0..100]}...\n"\ "\tPhoto URL: #{course[:photo_url]}\n"\ "\n" end