Class: Roebe::TodoSanitizer
- Inherits:
-
Base
show all
- Defined in:
- lib/roebe/classes/todo_sanitizer.rb
Overview
Constant Summary
collapse
- HORIZONTAL_LINER =
('-'*80)+"\n"
- OVERWRITE_THE_ORIGINAL_FILE =
#
OVERWRITE_THE_ORIGINAL_FILE
#
true
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
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 = ARGV, run_already = true) ⇒ TodoSanitizer
35
36
37
38
39
40
41
42
|
# File 'lib/roebe/classes/todo_sanitizer.rb', line 35
def initialize(
i = ARGV,
run_already = true
)
reset
set_commandline_arguments(i)
run if run_already
end
|
Instance Method Details
#obtain_the_dataset_from_the_selected_todo_files ⇒ Object
#
obtain_the_dataset_from_the_selected_todo_files
#
74
75
76
77
78
79
80
|
# File 'lib/roebe/classes/todo_sanitizer.rb', line 74
def obtain_the_dataset_from_the_selected_todo_files
commandline_arguments?.each {|this_file|
if this_file and File.exist?(this_file)
@hash_dataset[this_file] = File.read(this_file)
end
}
end
|
#process_the_dataset ⇒ Object
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# File 'lib/roebe/classes/todo_sanitizer.rb', line 85
def process_the_dataset
@hash_dataset.each_pair {|name_of_the_file, content_of_the_file|
if content_of_the_file.include?('->') and
shall_we_replace_ASCII_arrows_with_unicode_arrows?
content_of_the_file.gsub!(/->/,'→')
end
splitted = content_of_the_file.split("\n")
array = []
splitted.each {|line|
next if line.strip.empty?
if line.strip.start_with?('---')
@subsections << array
array = []
else
array << line.strip
end
}
unless array.empty?
@subsections << array
end
}
end
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/roebe/classes/todo_sanitizer.rb', line 47
def reset
super()
infer_the_namespace
@hash_dataset = {}
@subsections = []
@shall_we_replace_ASCII_arrows_with_unicode_arrows = :yes
end
|
111
112
113
114
115
|
# File 'lib/roebe/classes/todo_sanitizer.rb', line 111
def run
obtain_the_dataset_from_the_selected_todo_files
process_the_dataset
store_the_subsections_into_a_new_file
end
|
#shall_we_replace_ASCII_arrows_with_unicode_arrows? ⇒ Boolean
#
shall_we_replace_ASCII_arrows_with_unicode_arrows?
#
67
68
69
|
# File 'lib/roebe/classes/todo_sanitizer.rb', line 67
def shall_we_replace_ASCII_arrows_with_unicode_arrows?
(@shall_we_replace_ASCII_arrows_with_unicode_arrows == :yes)
end
|
#store_the_subsections_into_a_new_file ⇒ Object
#
store_the_subsections_into_a_new_file
#
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
156
157
158
159
160
161
162
|
# File 'lib/roebe/classes/todo_sanitizer.rb', line 120
def store_the_subsections_into_a_new_file
_ = ''.dup
first_entry = @subsections.first
if first_entry and first_entry.first and first_entry.first.start_with?('#')
_ << @subsections.shift.join("\n")+"\n\n"
end
@subsections.reject {|entry| entry.empty? }.each_with_index {|content, index| index += 1
if content.is_a? Array
content = content.map {|line|
if line.strip.start_with? '#'
else
line = " #{line}"
end
line
}.compact.join("\n")
leader = "(#{index.to_s}) → "
content.lstrip!
if content.start_with?('- ')
content[0, 2] = '' end
content.sub!( /\(\d{1,3}\) (→|-)? ?/,''
)
content.prepend(leader)
content.prepend(
HORIZONTAL_LINER
)
end
_ << "#{content}\n"
}
_ << HORIZONTAL_LINER
into = '/Depot/j/test.md'
if OVERWRITE_THE_ORIGINAL_FILE
into = @hash_dataset.keys.first.to_s
end
opne "Storing into `#{sfile(into)}`."
write_what_into(_, into)
end
|