Class: Roebe::WochentagAnzeiger
- Inherits:
-
Base
show all
- Defined in:
- lib/roebe/classes/wochentag_anzeiger.rb
Overview
Constant Summary
collapse
- DEFAULT_DAY =
'25.10.2018'
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #be_verbose?, #beautiful_url, #burlywood, #call_next, #chdir, #cheerful_guy, #cliner, #complex_esystem, #convert_global_env, #copy_directory, #copy_file, #cornflowerblue, #create_directory, #crimson, #current_month?, #current_time?, #current_year?, #cyan, #darkcyan, #darkgreen, #darkkhaki, #darkslateblue, #deeppink, #delete_symlink, #do_not_use_the_base_colours, #do_use_the_base_colours, #e, #ecomment, #editor_to_use?, #efancy, #eimp, #emphasis, #ensure_main_encoding, #ensure_utf_encoding, #eparse, #erev, #esteelblue, #etomato, #ewarn, #exit_program, #firebrick, #get_current_day, #get_current_month, #get_files_and_directories, #get_files_from, #get_german_name_for_this_weekday, #gold, #green, #grey, #hh_mm_ss, #hh_mm_ss_day_month_year, #home_dir?, #home_directory_of_user_x?, #infer_the_namespace, #internal_hash?, #is_a_directory?, #is_a_file?, #is_a_jpg_file?, #is_an_image_file?, #is_archive?, #is_audio_file?, #is_in_studium_dir?, #is_multimedia_file?, #is_on_roebe?, #is_on_windows?, #is_studium_available?, #is_symlink?, #is_this_a_ruby_file?, #is_video_file?, #iso_encoding?, #le, #left_colour, #lightblue, #lightgreen, #lightseagreen, #lightsteelblue, #lime, #limegreen, #localhost_to_data, #log_directory?, #main_encoding?, #mediumorchid, #mediumpurple, #mediumseagreen, #mediumslateblue, #mediumspringgreen, #mediumturquoise, #mkdir_p, #mv, #n_days_in_this_month, #n_pages_in_this_pdf_file?, #namespace?, #no_file_exists_at, #ogrey, #olive, #olivedrab, #open_in_browser, #opne, #opnesystem, #opnn, #orange, #orchid, #orev, #palegoldenrod, #palevioletred, #pink, #powderblue, #programs_dir?, #project_base_dir?, #random_html_colour, #rds, #read_file_in_iso_encoding, #read_file_via_the_default_encoding, #read_lines_via_iso_encoding, #readlines_with_main_encoding, #red, #register_sigint, #remove, #remove_directory, #remove_file, #rename_kde_konsole_tab, #replace_localhost_with_data, #report_pwd, #require_rescue, #reset_the_internal_hash, #return_all_directories_from_this_directory, #return_all_files_from_this_directory, #return_current_directory, #return_dd_mm_yyyy, #return_file_or_directory_of, #return_files_from_pwd, #return_last_part_of_the_current_directory, #return_utc, #rev, #right_arrow?, #right_colour, #roebe_log_directory?, #rosybrown, #royalblue, #ruby_base_directory?, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #show_help, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #string_italic, #swarn, #symlink, #teal, #temp_dir?, #to_camelcase, #to_counted_hash, #tomato, #touch, #try_to_require_the_beautiful_url_gem, #try_to_require_the_html_template, #try_to_require_the_open_gem, #try_to_require_the_program_information_gem, #try_to_require_the_xorg_buffer, #use_colours?, #verbose_truth, #weekday?, #word_wrap, #write_what_into, #yellow
#append_onto_the_commandline_arguments, #clear_commandline_arguments, #commandline_arguments?, #commandline_arguments_as_string?, #commandline_arguments_without_leading_hyphens?, #first_argument?, #first_argument_without_leading_hyphens?, #has_an_argument_been_passed?, #remove_hyphened_arguments_from_the_commandline_arguments, #return_commandline_arguments_with_leading_hyphens, #second_argument?, #set_commandline_arguments
Constructor Details
#initialize(i = nil, run_already = true) ⇒ WochentagAnzeiger
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 34
def initialize(
i = nil,
run_already = true
)
reset
set_input(i)
case run_already when :be_silent,
:be_quiet do_not_be_verbose
end
run if run_already
end
|
Class Method Details
.[](i = '31.03.2018') ⇒ Object
199
200
201
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 199
def self.[](i = '31.03.2018')
new(i, :be_silent).which_day?
end
|
Instance Method Details
#bold_yellow(i) ⇒ Object
89
90
91
92
93
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 89
def bold_yellow(i)
Colours.yellow+
i.to_s+
Colours.rev
end
|
82
83
84
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 82
def input?
@input
end
|
#name?(i = @input) ⇒ Boolean
Also known as:
which_day?
#
name?
Display which day of the week it is.
#
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 159
def name?(i = @input)
if i.is_a? Array
i = i.first
end
i = i.to_s.dup
i.delete!('#') if i.include? '#'
i.delete!(' ') if i.include? ' '
splitted = i.split('.')
if splitted
begin
date = ::Time.mktime(splitted[2], splitted[1], splitted[0])
name = return_german_name_for_this_weekday(date.wday)
return name rescue Exception => error
if is_on_roebe?
e 'The following error occurred: '; pp error
end
end
else
opn; e 'splitted is '+swarn('nil')+', some mistake must have happened.'
opn; e 'The input was:'
pp i
end
end
|
51
52
53
54
55
56
57
58
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 51
def reset
super()
infer_the_namespace
set_be_verbose
end
|
187
188
189
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 187
def run
show_wochentag if be_verbose?
end
|
98
99
100
101
102
103
104
105
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
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 98
def sanitize_input
@input.map! {|line|
line = line.dup if line.frozen?
line.strip!
line.tr!('/','.') if line.include? '/'
if line.count('.') == 1
line << '.'+current_year
end
unless line =~ /\d{4}$/ line << return_current_year
end
if line.include? N
line = line.split(N).reject(&:empty?).map(&:strip).join(N)
end
if line.include?('{') and line.include?('}')
starting_position = line.index('}') + 1
trailing_date_part = line[ starting_position .. -1] _ = line[0 .. ( line.index('}') - 1 ) ].delete('{')
_ = _.split(',').map {|inner_liner|
inner_liner+trailing_date_part
}
line = _ end
line
}
@input.flatten!
end
|
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 63
def set_input(
i = DEFAULT_DAY
)
i = DEFAULT_DAY if i.nil? or i.empty?
i = [i] unless i.is_a? Array
i.map! {|entry|
if entry.end_with? ','
entry = entry.dup if entry.frozen?
entry.chop!
end
entry
}
@input = i
sanitize_input end
|
#show_wochentag(i = @input) ⇒ Object
Also known as:
report
#
show_wochentag
This is the general report-method of this class.
#
147
148
149
150
151
152
|
# File 'lib/roebe/classes/wochentag_anzeiger.rb', line 147
def show_wochentag(i = @input) i.flatten.each {|line|
e "#{rev}Der Wochentag #{sfancy(line)} #{rev}ist ein "\
"#{slateblue(name?(line))}#{rev}."
}
end
|