Class: Studium::LastEntryIsCurriculum
- Inherits:
-
Base
- Object
- Base
- Studium::LastEntryIsCurriculum
show all
- Defined in:
- lib/studium/ects/last_entry_is_curriculum.rb
Overview
Studium::LastEntryIsCurriculum.new
Constant Summary
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::NAMESPACE, Base::N_CHARACTERS_PER_LINE, Base::UNICODE_RIGHT_ARROW
Constants included
from Colours
Colours::COLOURS
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_arguments, #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(i = FILE_TODO_BOKU, run_already = true) ⇒ LastEntryIsCurriculum
26
27
28
29
30
31
32
33
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 26
def initialize(
i = FILE_TODO_BOKU,
run_already = true
)
reset
set_file(i)
run if run_already
end
|
Instance Method Details
#read_in_dataset(i = @file) ⇒ Object
58
59
60
61
62
63
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 58
def read_in_dataset(i = @file)
if File.exist? i
@dataset = readlines_via_default_encoding(i)
sanitize_dataset
end
end
|
#report_n_entries ⇒ Object
123
124
125
126
127
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 123
def report_n_entries
n_vorlesungen = @n_lectures.to_s
e 'Der Datensatz umfasst '+orange(n_vorlesungen)+
' Vorlesungen in Summe.'
end
|
#reset ⇒ Object
38
39
40
41
42
43
44
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 38
def reset
super()
@hash = {} @n_lectures = 0 @n_ects_points = 0
end
|
#run ⇒ Object
139
140
141
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 139
def run
read_in_dataset
end
|
#sanitize_dataset ⇒ Object
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 68
def sanitize_dataset
_ = @dataset
_.map! {|line| line.delete("\t") }
_.select! {|line|
line.include? 'ECTS)' or line.include? "ECTS\n"
}
_.map!(&:strip)
_.select! {|line| line.include? '|' }
if _.first.count('|') == 1 show_this_simple_dataset(_)
return
end
_.each {|line|
splitted = line.split('|')
name_of_the_curriculum = splitted.last.strip
unless @hash.has_key? name_of_the_curriculum
@hash[name_of_the_curriculum] = 0 end
use_this_regex = /\((\d+.?\d+ ECTS)\)/
line =~ use_this_regex
if $1
n_ects_points = $1.to_s.dup.to_f
@n_ects_points += n_ects_points
@n_lectures += 1
@hash[name_of_the_curriculum] += n_ects_points
end
}
show_hash_structure
report_n_entries
end
|
#set_file(i = FILE_TODO_BOKU) ⇒ Object
49
50
51
52
53
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 49
def set_file(i = FILE_TODO_BOKU)
i = i.first if i.is_a? Array
i = FILE_TODO_BOKU if i.nil?
@file = i
end
|
#show_hash_structure ⇒ Object
132
133
134
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 132
def show_hash_structure
pp @hash
end
|
#show_this_simple_dataset(i) ⇒ Object
#
show_this_simple_dataset
#
108
109
110
111
112
113
114
115
116
117
118
|
# File 'lib/studium/ects/last_entry_is_curriculum.rb', line 108
def show_this_simple_dataset(i)
i.each {|line|
splitted = line.split('|').map(&:strip)
last = splitted.last
n_ects = last.strip.to_f
@n_lectures += 1
@n_ects_points += n_ects
}
e @n_ects_points
report_n_entries
end
|