Class: Studium::Exams::Pruefung
- Inherits:
-
Base
- Object
- Base
- Studium::Exams::Pruefung
show all
- Defined in:
- lib/studium/exams/pruefung.rb
Overview
Constant Summary
collapse
- NAMESPACE =
inspect
- SHALL_WE_DISPLAY_AVAILABLE_TOPICS =
#
SHALL_WE_DISPLAY_AVAILABLE_TOPICS
#
false
- ARRAY_QUESTION_POOL =
%w(
genomik
gentechnik
biotech
ab2
)
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
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, #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 = nil, run_already = true) ⇒ Pruefung
55
56
57
58
59
60
61
62
|
# File 'lib/studium/exams/pruefung.rb', line 55
def initialize(
i = nil,
run_already = true
)
reset
set_input(i)
run if run_already
end
|
Instance Method Details
#display_available_topics ⇒ Object
#
display_available_topics
#
#editor? ⇒ Boolean
111
112
113
|
# File 'lib/studium/exams/pruefung.rb', line 111
def editor?
@editor
end
|
#feedback_help ⇒ Object
#
feedback_help (help tag)
#
260
261
262
263
264
265
266
267
268
269
270
|
# File 'lib/studium/exams/pruefung.rb', line 260
def feedback_help
e 'The following options are available for '+sfile('pruefung.rb')+':'
e
' OPEN_ALL # open everything'
' LOCATION # feedback the location'
' EDIT # Open the exams file.'
' EDIT_ALL # open all relevant files'
' VIM # open with vim.'
' QUESTIONS? # show which questions are available.'
e
end
|
#feedback_location ⇒ Object
86
87
88
89
90
|
# File 'lib/studium/exams/pruefung.rb', line 86
def feedback_location opnn; e 'The location of current exams are kept here:'
opnn; efile(' '+main_file?)
opnn; e 'Note: You can pass the argument OPEN to open this file.'
end
|
#fetch_random_dataset ⇒ Object
196
197
198
|
# File 'lib/studium/exams/pruefung.rb', line 196
def fetch_random_dataset
@topic = ARRAY_QUESTION_POOL.sample
end
|
#give_exam_question ⇒ Object
287
288
289
290
291
|
# File 'lib/studium/exams/pruefung.rb', line 287
def give_exam_question
_ = ::Studium::Exams::ExamQuestion.new(@topic, :dont_run_yet)
_.set_show_topic(@shall_we_show_the_topic) _.run
end
|
#main_file? ⇒ Boolean
230
231
232
|
# File 'lib/studium/exams/pruefung.rb', line 230
def main_file?
CURRENT_EXAMS
end
|
#open_current_exams(shall_we_exit = true) ⇒ Object
102
103
104
105
106
|
# File 'lib/studium/exams/pruefung.rb', line 102
def open_current_exams(shall_we_exit = true)
_ = editor?+' '+CURRENT_EXAMS
efancy(' '+_); system(_)
exit if shall_we_exit
end
|
#open_everything(be_verbose = :be_verbose) ⇒ Object
237
238
239
240
241
242
243
244
|
# File 'lib/studium/exams/pruefung.rb', line 237
def open_everything(be_verbose = :be_verbose)
be_verbose = true if be_verbose == :be_verbose
if be_verbose
e 'Now opening the files with editor vim:'
end
open_current_exams(false)
open_this_file_here end
|
#open_this_file_here(shall_we_exit = true) ⇒ Object
249
250
251
252
253
254
255
|
# File 'lib/studium/exams/pruefung.rb', line 249
def open_this_file_here(shall_we_exit = true)
_ = editor?+' '\
'/home/x/DATA/PROGRAMMING_LANGUAGES/RUBY/src/studium/lib/studium/exams/pruefung.rb'
efancy(' '+_)
system(_)
exit if shall_we_exit
end
|
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
# File 'lib/studium/exams/pruefung.rb', line 132
def process_input
case @input.first when 'OPEN',
'OPEN_EXAM',
/^-?-?open$/i,
/^-?-?edit$/i
open_current_exams
when '--editor?','EDITOR','EDITOR?','editor?'
show_which_editor_we_will_use; exit
when '--help','HELP'
feedback_help; exit
when 'topic','topcs?','QUESTIONS?','questions?','QUESTIONS',
'--questions?'
show_available_topics; exit
when /^-?-?bluefish$/i
set_editor 'bluefish'
open_everything(:be_verbose)
when /^-?-?NANO$/i
set_editor 'nano'
open_everything(:be_verbose)
when 'OPEN_VIM','OPEN_WITH_VIM','OPENVIM','VIM',
'EDIT_WITH_VIM'
set_editor 'vim'
open_everything(:be_verbose) when 'OPEN_ALL','OPENALL','EDIT_ALL','EDITALL'
open_everything
when 'OPEN_SELF','SELF','--self'
open_this_file_here
when 'SHOW'
show_yaml_file
exit
when 'LOCATION','L','L?','FILE?'
feedback_location
exit
end
end
|
#reset ⇒ Object
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/studium/exams/pruefung.rb', line 67
def reset
super()
@namespace = NAMESPACE
@shall_we_show_the_topic = false
@editor = ::Studium.editor?
end
|
#run ⇒ Object
275
276
277
278
279
280
|
# File 'lib/studium/exams/pruefung.rb', line 275
def run
fetch_random_dataset
display_available_topics process_input
give_exam_question
end
|
#set_editor(i = 'VIM') ⇒ Object
118
119
120
|
# File 'lib/studium/exams/pruefung.rb', line 118
def set_editor(i = 'VIM')
@editor = i
end
|
95
96
97
|
# File 'lib/studium/exams/pruefung.rb', line 95
def set_input(i)
@input = i.dup
end
|
#show_available_topics ⇒ Object
#
show_available_topics
#
215
216
217
218
|
# File 'lib/studium/exams/pruefung.rb', line 215
def show_available_topics
e 'These topics are available:'
pp ARRAY_QUESTION_POOL
end
|
#show_which_editor_we_will_use ⇒ Object
#
show_which_editor_we_will_use
#
125
126
127
|
# File 'lib/studium/exams/pruefung.rb', line 125
def show_which_editor_we_will_use
opnn; e 'Which editor will we use? '+simp(@editor)
end
|
#show_yaml_file ⇒ Object
223
224
225
|
# File 'lib/studium/exams/pruefung.rb', line 223
def show_yaml_file
e File.read(main_file?)
end
|