Class: Studium::ShowLecturesOfThisCurriculumId

Inherits:
Base
  • Object
show all
Defined in:
lib/studium/curricula/show_lectures_of_this_curriculum_id/menu.rb,
lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb,
lib/studium/curricula/show_lectures_of_this_curriculum_id/reset.rb,
lib/studium/curricula/show_lectures_of_this_curriculum_id/report.rb,
lib/studium/curricula/show_lectures_of_this_curriculum_id/constants.rb,
lib/studium/curricula/show_lectures_of_this_curriculum_id/initialize.rb

Overview

Studium::ShowLecturesOfThisCurriculumId

Constant Summary collapse

NAMESPACE =
#

NAMESPACE

#
inspect

Constants inherited from Base

Base::ARRAY_HTML_COLOURS_IN_USE, Base::CHECK_FOR_INCORRECT_ENTRIES_IN_THE_QUESTION_ANSWER_FILE_THAT_SHOULD_BE_COMMENTS, Base::COLOURS, Base::COMMON_YEAR_DAYS_IN_MONTH, Base::GRAY, Base::LEFT_PADDING, Base::N_CHARACTERS_PER_LINE, Base::UNICODE_RIGHT_ARROW

Constants included from Colours

Colours::COLOURS

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#add_proper_year_entry_to_this_line, #already_solved_this_lva_number?, #append_what_into, #available_topics_as_short_name, #average_grade, #bachelor_master_or_diploma, #base_dir?, #be_silent, #be_verbose?, #beautiful_url, #change_directory, #cheering_person, #cliner, #colour_for_ects_points, #colourize_percentage, #commandline_arguments?, #commandline_arguments_joined, #commandline_arguments_with_hyphens?, #convert_this_array_of_lectures_into_the_full_dataset, #copy, #cpruby, #create_directory, #create_file, #csv_file?, #current_month?, #datum?, #day_month_year, #debug?, #delete_file, #directory_of_the_exam_topics?, #directory_to_my_exam_topics, #directory_to_the_exam_topics?, #disable_colours, #disable_colours_globally, #do_not_be_verbose, #do_not_use_opn, #do_these_curricula_include_both_a_bachelor_and_a_master_curriculum?, #does_this_line_include_a_german_weekday?, #does_this_line_include_a_html_colour?, #e, #ecomment, #editor?, #ee, #enable_colours, #enable_colours_globally, #enable_debug, #encoding?, #english_to_german_weekday, #ensure_main_encoding, #ensure_that_the_log_directory_exists, #eparse, #erev, #esystem, #etomato, #exit_program, #expand_topic, #extract_dd_mm_yyyy, #file_lecture_information?, #file_read_with_proper_encoding, #filter_away_invalid_questions, #find_corresponding_exam_topic, #first_argument?, #first_non_hyphen_argument?, #from_curriculum_id_to_university, #german_date_notation, #german_weekday?, #german_weekdays?, #has_a_bachelor_curriculum?, #has_a_master_curriculum?, #has_this_exam_topic_been_solved?, #has_year_entry?, #hh_mm_ss_dd_mm_yyyy, #horizontal_bar?, #html_log_directory?, #is_a_master_lecture?, #is_a_weekday?, #is_connected_to_the_www?, #is_on_roebe?, #is_prüfungsimmanent?, #is_this_a_valid_html_colour?, #is_this_day_today?, #konsole_support?, #last_file?, #lectures_from_indi1, #lectures_from_indi2, #lectures_from_indi3, #lectures_from_indi4, #lectures_from_the_bachelor_genetik_curriculum, #lectures_from_the_individual_vektor_curricula, #load_yaml_dataset, #move_file, #n_days_difference_from_today_to_this_day, #no_ext_name, #no_file_at, #number_to_month, #obtain, #obtain_lectures_from_this_curriculum, #open_in_editor, #opnn, #path_to_exam_topic?, #read_dataset_from_a_curriculum_file, #read_in_exam_dataset_from_this_file, #read_this_file_with_default_encoding, #readlines_from_this_input_file, #register_sigint, #remove_empty_strings, #remove_escape_sequences, #remove_internal_comments, #remove_leading_comments, #remove_leading_weekday_names_from, #remove_newlines, #remove_tags_from_this_input, #rename_kde_konsole_tab, #rename_konsole_tab?, #replace_all_html_colours_in_this, #replace_bold_token_with_default_colour, #replace_italic_token_with_default_colour, #replace_italic_token_with_this_colour, #replace_regular_numbers_with_unicode_numbers, #replace_underline_token_with_default_colour, #replace_underline_token_with_this_colour, #return_all_bachelor_lectures, #return_all_exams_on_this_day, #return_all_numbers_from, #return_all_registered_curricula, #return_all_steop_lectures, #return_current_year, #return_dataset_for_this_topic, #return_dataset_from_this_curriculum_file, #return_dd_mm_yy_and_time_from, #return_directory_for, #return_ects_points_from_these_lectures, #return_either_grey_or_the_custom_colour_for_answers, #return_either_grey_or_the_custom_colour_for_questions, #return_file_for_this_curriculum, #return_german_name_for_this_english_month, #return_german_weekday_of?, #return_hh_mm_ss_from, #return_hour_from_this, #return_lectures_from_bachelor_vektor_curriculum, #return_lectures_with_at_the_least_one_upcoming_exam, #return_local_path_of_this_pwdstud, #return_lva_number_of_this_lecture, #return_month_fitting_to_this_input, #return_n_days_until_monday, #return_n_days_until_sunday, #return_n_exam_questions_in, #return_n_questions_were_answered_for_this_topic, #return_name_of_the_weekday, #return_name_of_this_curriculum, #return_name_of_this_curriculum_based_on_its_id_number, #return_opnn, #return_passed_courses, #return_pwd, #return_random_curriculum, #return_sanitized_dataset_from_the_file_lecture_information, #return_solved_lectures, #return_steop_lectures, #return_the_remote_homepage_url, #return_this_line_has_n_characters_as_html_colour_tags, #return_title_from_this_curriculum_file, #rev, #right_arrow?, #rinstall2, #roebe_exam_directory?, #ruby_src_dir_at_home?, #runmode?, #sanitize_this_topic, #sanitize_url, #select_lectures_with_this_key, #set_be_quiet, #set_be_verbose, #set_commandline_mode, #set_runmode, #set_this_cd_alias_to, #set_www_mode, #sfancy, #shall_we_make_use_of_unicode_symbols?, #show_todays_date, #simp, #sort_these_lecture_names_by_time, #spacer, #swarn, #this_month_has_n_days?, #total_ects_points_passed, #translate_dd_mm_yyyy_to_weekday, #try_to_require_the_rcfiles, #turn_this_array_into_the_full_dataset, #unicode_blocks_line, #use_colours?, #use_opn?, #vertical_bar?, #web_liner, #weekday?, #weekdays?, #word_wrap, #write_what_into, #www_connection_is_unavailable, #www_mode?, #yaml_dir?

Methods included from Colours

#bold_blue, #bold_red, #bold_yellow, #cadetblue, #chartreuse, crimson, #darkgray, darkgreen, darkseagreen, deepskyblue, #deepskyblue, default_colour, #dimgray, disable_colours, #dodgerblue, e, #efancy, enable_colours, #ewarn, #forestgreen, gold, #grey, lightblue, lightgreen, #lightslategray, #lightsteelblue, #mediumorchid, #mediumseagreen, #oldlace, #olivedrab, orange, orangered, #orchid, palevioletred, #papayawhip, rev, royalblue, sdir, #sdir, sfancy, #sfancy, sfile, #sfile, simp, #simp, slateblue, steelblue, #steelblue, #swarn, swarn, #teal, turquoise, use_colours?, use_this_colour_for_exam_answers, use_this_colour_for_exam_questions, #yellow

Constructor Details

#initialize(commandline_arguments = nil, run_already = true) ⇒ ShowLecturesOfThisCurriculumId

#

initialize

#


16
17
18
19
20
21
22
23
24
25
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/initialize.rb', line 16

def initialize(
    commandline_arguments = nil,
    run_already           = true
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  run if run_already
end

Class Method Details

.[](i = '') ⇒ Object

#

Studium::ShowLecturesOfThisCurriculumId[]

#


245
246
247
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 245

def self.[](i = '')
  new(i)
end

Instance Method Details

#consider_filtering_away_outdated_lecturesObject

#

consider_filtering_away_outdated_lectures (filter tag)

#


221
222
223
224
225
226
227
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 221

def consider_filtering_away_outdated_lectures
  if @filter_away_outdated_lectures
    @dataset.reject! {|name_of_the_lecture, hash|
      hash.has_key?(:outdated_lecture) and (hash[:outdated_lecture] == true)
    }
  end
end

#curriculum_id?Boolean Also known as: main_input?, search_term?

#

curriculum_id?

#

Returns:

  • (Boolean)


71
72
73
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 71

def curriculum_id?
  @curriculum_id
end

#determine_curriculum_idObject

#

determine_curriculum_id

This method will base everything on the first argument.

#


44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 44

def determine_curriculum_id
  _ = first_argument?
  # ======================================================================= #
  # Next, the given input may have to be sanitized a little bit.
  # ======================================================================= #
  if _.is_a?(String) and !(_ =~ /\d+/) # And if it does not have any number.
    full_name = ::Studium.map_partial_input_to_full_curriculum_name(_) # => "Mastercurriculum Biotechnology"
    # ===================================================================== #
    # Next, translate from this name to the id at hand.
    # ===================================================================== #
    _ = Studium.map_curriculum_name_to_curriculum_number(full_name)
  end
  if _.is_a?(String) and _ =~ /^\d{3}$/ # Begins with 3 numbers - and has only 3 numbers.
    _ = _.dup if _.frozen?
    _.prepend('066')
  end
  @curriculum_id = _
  # ======================================================================= #
  # Also remove this from the commandline-arguments.
  # ======================================================================= #
  @commandline_arguments.shift
  sanitize_curriculum_id
end

#determine_lectures_fitting_to_the_curriculum_idObject

#

determine_lectures_fitting_to_the_curriculum_id

We will select lectures that have a fitting curriculum-id entry.

#


81
82
83
84
85
86
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 81

def determine_lectures_fitting_to_the_curriculum_id
  @dataset = @dataset_all_lectures.select {|a, b|
    array = obtain(:curriculum_id, b)
    array.include? main_input?
  }
end
#

menu (menu tag)

#


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/menu.rb', line 16

def menu(
    i = commandline_arguments?
  )
  if i.is_a? Array
    i.each {|entry| menu(entry) }
  else
    case i
    # ===================================================================== #
    # === show_lectures_of_this_curriculum_id 033630 --that-were-passed
    #
    # This entry point can be used to apply a filter, selecting only 
    # lectures that have been passed.
    # ===================================================================== #
    when /^-?-?that(-|_)?were(-|_)?passed$/i
      select_only_the_lectures_that_were_passed_already
    end
  end
end

#report(i = @dataset) ⇒ Object

#

report (report tag)

#


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/report.rb', line 14

def report(
    i = @dataset
  )
  if i.empty?
    opnn; e 'No matching entries found for '+sfancy(main_input?)+'.'
    report_available_curricula_names
  else
    report_title_of_this_curriculum_id(main_input?)
    e
    solved_lectures = i.select {|name_of_the_lecture, inner_hash|
      inner_hash.has_key?(:already_solved) and
      (inner_hash[:already_solved] == true)
    }
    # ===================================================================== #
    # Remove the lectures that were already passed, as they will be
    # reported separately.
    # ===================================================================== #
    i = i.reject {|name_of_the_lecture, inner_hash|
      inner_hash.has_key?(:already_solved) and
        (inner_hash[:already_solved] == true)
    }
    # ===================================================================== #
    # === Show the solved lectures next
    #
    # Show all solved lectures next, if there is at the least one that
    # has been solved already.
    # ===================================================================== #
    unless solved_lectures.empty?
      e "The following #{sfancy(solved_lectures.size.to_s)}"\
        " lectures were #{steelblue('already solved')}:"
      e
      index = 0
      n_ECTS = 0
      solved_lectures.each {|name_of_the_lecture, inner_hash| index += 1
        n_ECTS += inner_hash[:ects]
        report_this_particular_lecture(name_of_the_lecture, inner_hash, index)
      }
      e ' '.rjust(65)+
        ' The above ^^^ includes '+royalblue(n_ECTS.to_s+' ECTS')+
        ' that were already solved.'
      e
    end
    # ===================================================================== #
    # Next, iterate over our main data-structure and report the
    # remaining lectures..
    # ===================================================================== #
    if i and !i.empty?
      total_ECTS_in_the_unsolved_lectures = i.map {|a, b| b[:ects] }.sum
      e "The following #{steelblue(i.size.to_s)}"\
        " lectures have not yet been passed, for a "\
        "total of"
      e "#{steelblue(total_ECTS_in_the_unsolved_lectures)} ECTS "\
        "points to be attainable.\n\n"
      i.each {|name_of_the_lecture, inner_hash|
        report_this_particular_lecture(name_of_the_lecture, inner_hash)
      }
    end
    e
    e 'The curriculum id we are searching for '\
      'is `'+mediumaquamarine(search_term?)+'` ('+
      mediumseagreen(
        translate_curriculum_id_into_name_of_the_curriculum(search_term?)
      )+').'
    e 'The above '+slateblue(i.size.to_s)+' lectures amount to a '\
      'total of '+orange(@total_ects.to_s)+' ECTS points.'
    if @already_solved_n_ects_of_these > 0
      e 'Of these, '+orange(@already_solved_n_ects_of_these.to_s)+
        ' ECTS points in '+palevioletred(@n_solved_lectures.to_s)+
        ' lectures were already solved.'
    end
    e
  end
end

#report_available_curricula_namesObject

#

report_available_curricula_names

#


91
92
93
94
95
96
97
98
99
100
101
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/report.rb', line 91

def report_available_curricula_names
  e 'The available curricula names, for Bachelor and '\
    'Master studies only, are these:'
  _ = @all_curricula.sort_by {|a, array| array.first }
  _.each {|a, array|
    first = array.first
    if first.include? 'Bachelor' or first.include? 'Master'
      e "  #{slateblue(first)}" unless first.include? 'Lehramt' # I don't care about Lehramt.
    end
  }
end

#report_this_particular_lecture(name_of_the_lecture, inner_hash, optional_index = nil) ⇒ Object

#

report_this_particular_lecture

#


106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/report.rb', line 106

def report_this_particular_lecture(
    name_of_the_lecture,
    inner_hash,
    optional_index = nil
  )
  if name_of_the_lecture.frozen?
    name_of_the_lecture = name_of_the_lecture.dup
  end
  name_of_the_lecture.squeeze! ' '
  padded_name_of_the_lecture = name_of_the_lecture.dup
  padded_name_of_the_lecture = padded_name_of_the_lecture.ljust(82)
  n_ects_points = obtain(:n_ects, inner_hash)
  @total_ects += n_ects_points
  # ======================================================================= #
  # The remote_url will always be collected; whether it will
  # be displayed is a separate consideration.
  # ======================================================================= #
  remote_url = return_the_remote_homepage_url(name_of_the_lecture.strip, inner_hash)
  remote_url = remote_url.first if remote_url.is_a? Array
  already_solved = obtain(:already_solved, inner_hash)
  result = ''.dup
  if optional_index
    result << '  '+seagreen(optional_index.to_s.rjust(2)+') ')
  end
  if already_solved
    @n_solved_lectures += 1
    @already_solved_n_ects_of_these += n_ects_points
    result << steelblue(padded_name_of_the_lecture)
  else
    result << mediumslateblue(padded_name_of_the_lecture)
  end
  # ======================================================================= #
  # Must format the n_ects_points past here:
  # ======================================================================= #
  n_ects_points = "[#{n_ects_points.to_s.rjust(4)}]"
  result = result.dup if result.frozen?
  result << royalblue(n_ects_points)+' '
  if @show_the_date_when_the_lecture_was_solved
    already_solved_at = inner_hash[:already_solved_at]
    result << '(solved at: '+
               goldenrod(already_solved_at.to_s)+
               ') '
  end
  if @show_remote_url
    result << lightgreen(remote_url.to_s)
  end
  e result
end

#report_title_of_this_curriculum_id(i = main_input? ) ⇒ Object

#

report_title_of_this_curriculum_id

#


197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 197

def report_title_of_this_curriculum_id(
    i = main_input?
  )
  i = i.to_s
  if @all_curricula.has_key? i
    translated = @all_curricula[i]
    name_of_the_curriculum = ''.dup
    if translated.is_a? Array
      this_university = translated[1] # It is no longer the last entry.
      name_of_the_curriculum << translated[0]
    end
    e
    e "#{rev}Reporting lectures belonging to the curriculum"
    e slateblue(name_of_the_curriculum)+
      ' (University: '+
      orchid(this_university.to_s)+') next:'
  else
    e "#{rev}No entry found for #{royalblue(i)}."
  end
end

#resetObject

#

reset (reset tag)

#


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/reset.rb', line 14

def reset
  super()
  # ======================================================================= #
  # === @namespace
  # ======================================================================= #
  @namespace = NAMESPACE
  # ======================================================================= #
  # === @dataset_all_lectures
  # ======================================================================= #
  @dataset_all_lectures = return_all_lectures
  if File.exist? FILE_CURRICULA
    @all_curricula = YAML.load_file(FILE_CURRICULA)
  end
  # ======================================================================= #
  # === @total_ects
  # ======================================================================= #
  @total_ects = 0
  # ======================================================================= #
  # === @already_solved_n_ects_of_these
  # ======================================================================= #
  @already_solved_n_ects_of_these = 0
  # ======================================================================= #
  # === @show_remote_url
  #
  # If this variable is set to true then the remote URL will also be
  # shown on the commandline.
  # ======================================================================= #
  @show_remote_url = true
  # ======================================================================= #
  # === @n_solved_lectures
  # ======================================================================= #
  @n_solved_lectures = 0
  # ======================================================================= #
  # === @filter_away_outdated_lectures
  # ======================================================================= #
  @filter_away_outdated_lectures = true
  # ======================================================================= #
  # === @hash_curricula_entries_to_curricula_id
  #
  # Next create an inverted hash that holds, as its keys, the names of
  # the curricula-entries; and as values, the associated Curricula-id.
  # ======================================================================= #
  @hash_curricula_entries_to_curricula_id = {}
  @all_curricula.each_pair {|key, value|
    @hash_curricula_entries_to_curricula_id[value] = key
  }
  # ======================================================================= #
  # === @show_the_date_when_the_lecture_was_solved
  # ======================================================================= #
  @show_the_date_when_the_lecture_was_solved = false
end

#runObject

#

run (run tag)

#


232
233
234
235
236
237
238
239
240
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 232

def run
  determine_curriculum_id
  determine_lectures_fitting_to_the_curriculum_id
  consider_filtering_away_outdated_lectures
  menu
  report(
    @dataset
  )
end

#sanitize_curriculum_idObject

#

sanitize_curriculum_id (sanitize tag)

We can input a String such as “Bioinformatik”, which must be replaced with the proper curriculum id. Some curricula may lead to ambiguity, such as “Biologie”, which could be both for the regular Biologie curriculum but also for “Biologie UF” or “Diplom Biologie”.

This has to be kept in mind in the following code.

#


112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 112

def sanitize_curriculum_id
  _ = @curriculum_id
  unless _ =~ /\d+/
    # ===================================================================== #
    # Do some ad-hoc sanitizing next - these will be extended on a 
    # case-by-case basis:
    # ===================================================================== #
    case _ # case tag
    # ===================================================================== #
    # === Master LMBT
    # ===================================================================== #
    when 'Master LMBT'
      set_curriculum_id '066418'
      return
    # ===================================================================== #
    # === MolBio
    # ===================================================================== #
    when 'MolBio'
      _ = 'Molekulare Biologie'
    # ===================================================================== #
    # === Immuno
    # ===================================================================== #
    when 'Immuno',
         'Immunobio'
      _ = 'Immunbiologie'
    end
    all_keys = ensure_main_encoding(
      @hash_curricula_entries_to_curricula_id.keys
    )
    if all_keys.any? {|entry|
        entry.first.downcase.include? _.downcase
       }
      # ===================================================================== #
      # In this case we know that it is included.
      # ===================================================================== #
      selection = @hash_curricula_entries_to_curricula_id.select {|name_of_the_curriculum, this_university, remote_url, curriculum_id|
        name_of_the_curriculum.downcase.include?(_.downcase) and
       !name_of_the_curriculum.include?('Diplomstudium') # <- We ignore Diplomstudium.
      }
      set_curriculum_id(selection.values, :be_verbose)
    end
  end
end

#select_only_the_lectures_that_were_passed_alreadyObject

#

select_only_the_lectures_that_were_passed_already

#


177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 177

def select_only_the_lectures_that_were_passed_already
  @dataset.select! {|name_of_the_lecture, inner_dataset|
    already_solved = inner_dataset[:already_solved]
    already_solved and (already_solved == true)
  }
  @show_the_date_when_the_lecture_was_solved = true
  # ======================================================================= #
  # We have to sort the @dataset too, by the date.
  # ======================================================================= #
  _ = @dataset.sort_by {|name_of_the_lecture, inner_dataset|
     Time.parse(
       inner_dataset[:already_solved_at]
     )
  }
  @dataset = Hash[_]
end

#set_commandline_arguments(i = '') ⇒ Object

#

set_input

#


18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 18

def set_commandline_arguments(i = '')
  i = [i].flatten.compact
  # ======================================================================= #
  # Sanitize the input a little bit:
  # ======================================================================= #
  i.map! {|line|
    case line
    # ===================================================================== #
    # === ':master_immuno'
    # ===================================================================== #
    when ':master_immuno'
      line = '066830'
    when /^Master$/
      line = 'Mastercurriculum'
    end
    line
  }
  # i = i.join(' ').strip
  @commandline_arguments = i
end

#set_curriculum_id(i, be_verbose = :be_quiet) ⇒ Object

#

set_curriculum_id

#


159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 159

def set_curriculum_id(
    i, be_verbose = :be_quiet
  )
  # ======================================================================= #
  # If an Array is given to this method, then this method will always
  # pick the first element of said Array.
  # ======================================================================= #
  i = i.first if i.is_a? Array
  @curriculum_id = i
  case be_verbose
  when :be_verbose
    opnn; e "We will use the Curriculum ID #{sfancy(@curriculum_id)}."
  end
end

#translate_curriculum_id_into_name_of_the_curriculum(id) ⇒ Object

#

translate_curriculum_id_into_name_of_the_curriculum

This method can be used to map from the curriculum-id towards the name of the particular curriculum at hand.

#


94
95
96
97
98
99
100
# File 'lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb', line 94

def translate_curriculum_id_into_name_of_the_curriculum(id)
  translated = @all_curricula[id]
  if translated.is_a? Array
    translated = translated.first
  end
  translated
end