class Umd::UMD

Public Class Methods

corrected_options_hash(opts) click to toggle source
# File lib/umd.rb, line 10
def self.corrected_options_hash(opts)
  options_hash = opts

  if options_hash[:departments].is_a?(Array)
    options_hash[:departments] = options_hash[:departments].join(',')
  end

  # This must remain beneath the flattening of the array into a string
  if options_hash[:departments].is_a?(String)
    options_hash[:departments].upcase!
  end

  if options_hash[:sort]
    options_hash[:sort] = self.formatted_sort_hash(options_hash[:sort])
  end

  options_hash
end
course_list(options={}) click to toggle source
# File lib/umd.rb, line 76
def self.course_list(options={})
  final_options = corrected_options_hash(options)

  self.get('/courses/list', {query: final_options})
end
courses(course_ids=nil, options={}) click to toggle source

def self.courses

self.courses(nil)

end

# def self.courses(options = {}) # final_options = corrected_options_hash(options) # # self.get('/courses', {query: final_options}) # end

# File lib/umd.rb, line 53
def self.courses(course_ids=nil, options={})
  if course_ids.is_a?(Hash)
    options = course_ids
    course_ids = nil
  end

  final_options = corrected_options_hash(options)

  path = '/courses'

  if !course_ids.nil?
    path = '/courses/'

    if course_ids.is_a?(Array)
      path = path + course_ids.map { |s| s.to_s.downcase }.join(',')
    else
      path = path + course_ids.downcase
    end
  end

  self.get(path, {query: final_options})
end
departments(options={}) click to toggle source
# File lib/umd.rb, line 96
def self.departments(options={})
  self.get('/courses/departments', {query: corrected_options_hash(options)})
end
formatted_sort_hash(sort_hash) click to toggle source
# File lib/umd.rb, line 29
def self.formatted_sort_hash(sort_hash)
  final_string = ""

  if sort_hash[:asc]
    final_string = sort_hash[:asc].map { |attribute| attribute.to_s }.join(',') + ","
  end

  if sort_hash[:desc]
    final_string = final_string + sort_hash[:desc].map { |attribute| "-#{attribute}" }.join(',')
  end

  final_string
end
professors(options={}) click to toggle source
# File lib/umd.rb, line 100
def self.professors(options={})
  final_options = corrected_options_hash(options)

  self.get('/professors', {query: final_options})
end
sections(section_ids, options={}) click to toggle source
# File lib/umd.rb, line 82
def self.sections(section_ids, options={})
  final_options = corrected_options_hash(options)

  path = '/sections/'

  if section_ids.is_a?(Array)
    path = path + section_ids.map { |s| s.to_s.downcase }.join(',')
  else
    path = path + section_ids.downcase
  end

  self.get(path, {query: final_options})
end