tiss2go/app/controllers/tiss_crawler_controller.rb
2020-04-21 18:58:48 +02:00

52 lines
1.5 KiB
Ruby

class TissCrawlerController < ApplicationController
# self designed lib to call the Tiss API
require 'tiss/tiss_crawler'
def search
# search context like 'People', 'Courses', etc is mandatory
$search_context = params[:search_context]
# evaluate the proper action regarding to the $search_context
case $search_context
when 'People'
# redirect to people_show_basic, propagate the search_term
redirect_to :action => 'people_show_basic', :search_term => params[:search_term]
when 'Courses'
when 'Theses'
when 'Projects'
else
puts 'Undefined search context'
end
end
def people_show_basic
params[:api] = '/api/person/v22/psuche'
params[:search_parameter] = 'q'
puts params[:search_context]
# TissCrawler performs general search over the available people
@people = TissCrawler.search(params)
end
def person_show_detail
params[:api] = '/api/person/v22/id/'
# TissCrawler fetches the person's detail information
@person = TissCrawler.get_details(params)
# Host is needed for image rendering
@host = TissCrawler.get_host
end
def person_add_to_fav
puts params[:tiss_id]
# create stores the object to the db after creation
FavoritePerson.create(tiss_id: params[:tiss_id])
# redirect and respond with success message
respond_to do |format|
format.html { redirect_to favorites_favorite_person_index_url, notice: 'Favorite person stored' }
end
end
end