Class: Studium::PassedEctsPerYear
- Inherits:
-
Base
- Object
- Base
- Studium::PassedEctsPerYear
show all
- Defined in:
- lib/studium/utility_scripts/passed_ects_per_year.rb
Overview
Studium::PassedEctsPerYear
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
Class Method Summary
collapse
-
.[](i = '') ⇒ Object
# === Studium::PassedEctsPerYear[] ========================================================================= #.
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(commandline_arguments = nil, run_already = true) ⇒ PassedEctsPerYear
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 29
def initialize(
commandline_arguments = nil,
run_already = true
)
set_commandline_arguments(
commandline_arguments
)
determine_which_dataset_to_use
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
#
Studium::PassedEctsPerYear[]
#
160
161
162
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 160
def self.[](i = '')
new(i)
end
|
Instance Method Details
#all_lectures? ⇒ Boolean
74
75
76
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 74
def all_lectures?
@dataset
end
|
#determine_which_dataset_to_use ⇒ Object
#
determine_which_dataset_to_use
To try and use a curriculum, try this:
passed_ects_per_year bgenetik
#
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 60
def determine_which_dataset_to_use
first_argument = @commandline_arguments.first.to_s.delete('-')
if first_argument.empty?
first_argument = :bmvektor
end
@dataset = return_lectures_of_this_curriculum(
first_argument.to_sym
)
@dataset.flatten!
end
|
#filter_for_this_year(i) ⇒ Object
#
filter_for_this_year
This method will filter for lectures that were passed in the given year.
#
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 100
def filter_for_this_year(i)
i = i.to_i all_lectures?.select {|name_of_the_lecture|
pointer = @dataset_from_the_file_lecture_information[name_of_the_lecture]
if pointer.nil?
e 'No registered lecture called `'+steelblue(name_of_the_lecture)+'`.'
false
else
pointer.has_key?(:already_solved) and
(pointer[:already_solved] == true) and
(pointer[:already_solved_at].to_s.split('.').last.to_i == i)
end
}
end
|
#reject_lectures_that_do_not_belong_to_this_curriculum ⇒ Object
#
reject_lectures_that_do_not_belong_to_this_curriculum
#
81
82
83
84
85
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 81
def reject_lectures_that_do_not_belong_to_this_curriculum
@dataset_from_the_file_lecture_information.reject! {|name_of_the_lecture, inner_dataset|
!@dataset.include?(name_of_the_lecture)
}
end
|
#reset ⇒ Object
43
44
45
46
47
48
49
50
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 43
def reset
super()
@dataset_from_the_file_lecture_information =
return_dataset_from_the_file_lecture_information
end
|
#return_ects_points(this_lecture) ⇒ Object
90
91
92
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 90
def return_ects_points(this_lecture)
@dataset_from_the_file_lecture_information[this_lecture][:ects]
end
|
#run ⇒ Object
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
155
|
# File 'lib/studium/utility_scripts/passed_ects_per_year.rb', line 118
def run
reset
reject_lectures_that_do_not_belong_to_this_curriculum
total_ects_passed = 0
(1998 .. Time.now.year).each {|this_year|
total_ects_passed_in_that_year = 0
hash_these_lectures_were_passed = {}
these_lectures_were_passed_in_that_year = filter_for_this_year(this_year)
unless these_lectures_were_passed_in_that_year.empty?
these_lectures_were_passed_in_that_year.each {|this_lecture|
n_ects_points = return_ects_points(this_lecture)
total_ects_passed_in_that_year += n_ects_points
total_ects_passed += n_ects_points
hash_these_lectures_were_passed[this_lecture] = n_ects_points
}
e slateblue(this_year.to_s+': ')+
lightblue('('+total_ects_passed_in_that_year.to_s+' ECTS points passed)')
hash_these_lectures_were_passed.each_pair {|this_lecture, n_ects_points|
e ' '+royalblue(this_lecture.ljust(86))+' '+
orange(
n_ects_points.to_s.rjust(5)+' ECTS'
)
}
end
}
if total_ects_passed > 0
e
e "A total of #{sfancy(total_ects_passed.to_s)}"\
" ECTS points has been passed in total."
e
end
end
|