class TissCrawler require 'httparty' $host = 'https://tiss.tuwien.ac.at' def self.search(params) api = params[:api] search_parameter = params[:search_parameter] search_term = params[:search_term].parameterize(separator: '+') url = $host + api + '?' + search_parameter + '=' + search_term puts(url) response = HTTParty.get(url) JSON.parse(response.body)["results"] end def self.get_details(params) api = params[:api] id = params[:tiss_id] url = $host + api + id puts(url) response = HTTParty.get(url) JSON.parse(response.body) end def self.get_course_details(params) api = params[:api] number = params[:number] semester = params[:semester] url = $host + api + number + '-' + semester puts(url) response = HTTParty.get(url) response.parsed_response['tuvienna']['course'] end def self.get_host $host end def self.get_oid_name(item) # Fetches a person's name based on the org id # Example: https://tiss.tuwien.ac.at/api/person/v22/oid/250197 api = '/api/person/v22/oid/' url = $host + api + item puts(url) response = HTTParty.get(url) response.parsed_response['first_name'] + ' ' + response.parsed_response['last_name'] end end