From cbcc7c3d2579ec89c57e96fb4fb6ecf24cdc56bd Mon Sep 17 00:00:00 2001 From: Tobias Eidelpes Date: Fri, 29 May 2020 10:43:34 +0200 Subject: [PATCH] Hotfix: parse oid when only one given The function `show_detail` for courses was expecting an array of lecturer oids. When it got only one and therefore not an array but an int, the line `@lecturers_oid.each` would fail to parse the variable because it is not an array. --- .../crawlers/courses_crawler_controller.rb | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/controllers/crawlers/courses_crawler_controller.rb b/app/controllers/crawlers/courses_crawler_controller.rb index 7e644fb..3346345 100644 --- a/app/controllers/crawlers/courses_crawler_controller.rb +++ b/app/controllers/crawlers/courses_crawler_controller.rb @@ -29,11 +29,19 @@ class Crawlers::CoursesCrawlerController < Crawlers::TissCrawlerController @lecturers_oid = @course['lecturers']['oid'] @lecturers_names = [] + puts @lecturers_oid + if @lecturers_oid != nil - @lecturers_oid.each do |item| - # For each org id get the associated name - puts TissCrawler.get_oid_name(item) - @lecturers_names << (TissCrawler.get_oid_name(item)) + if @lecturers_oid.is_a?(Array) + # In case @lecturers_oid contains multiple items + @lecturers_oid.each do |item| + # For each org id get the associated name + puts TissCrawler.get_oid_name(item) + @lecturers_names << (TissCrawler.get_oid_name(item)) + end + else + # In case @lecturers_oid only contains one item + @lecturers_names << (TissCrawler.get_oid_name(@lecturers_oid)) end end