Class: Roebe::AvailableClasses
- Inherits:
-
Base
show all
- Defined in:
- lib/roebe/classes/available_classes.rb
Overview
Constant Summary
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
Class Method Summary
collapse
-
.[](i = '') ⇒ Object
# === Roebe::AvailableClasses[] ========================================================================= #.
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, #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, #olivedrab, #open_in_browser, #opne, #opnesystem, #opnn, #orange, #orchid, #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, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #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?
Constructor Details
#initialize(i = nil, run_already = true) ⇒ AvailableClasses
32
33
34
35
36
37
38
39
|
# File 'lib/roebe/classes/available_classes.rb', line 32
def initialize(
i = nil,
run_already = true
)
reset
set_commandline_arguments(i)
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
#
Roebe::AvailableClasses[]
#
202
203
204
|
# File 'lib/roebe/classes/available_classes.rb', line 202
def self.[](i = '')
new(i)
end
|
Instance Method Details
#be_succinct ⇒ Object
57
58
59
|
# File 'lib/roebe/classes/available_classes.rb', line 57
def be_succinct
@report_style = :succinct
end
|
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
|
# File 'lib/roebe/classes/available_classes.rb', line 122
def (
i = @commandline_arguments
)
if i.is_a? Array
i.each {|entry| (entry) }
else
case i when /help/
show_help
else
if File.directory? i
set_use_this_directory i
elsif File.directory?(RUBY_SRC+i)
be_succinct
set_use_this_directory RUBY_SRC+i
end
end
end
end
|
#report_these_results(i) ⇒ Object
Also known as:
report
#
report_these_results (report tag)
#
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# File 'lib/roebe/classes/available_classes.rb', line 99
def report_these_results(i)
if succinct?
e 'This project appears to have '+slateblue(i.size.to_s)+
' unique classes.'
else
if i.is_a? Array
e
e 'The following '+sfancy(i.size.to_s)+' classes were found:'
e
i.each {|entry|
e " #{slategray(entry)}"
}
e
end
end
end
|
44
45
46
47
48
49
50
51
52
|
# File 'lib/roebe/classes/available_classes.rb', line 44
def reset
super()
set_scan_from_this_directory @report_style = :verbose
end
|
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
192
193
194
195
196
197
|
# File 'lib/roebe/classes/available_classes.rb', line 160
def run
all_ruby_files = Dir[@scan_from_this_directory+'**/**.rb']
huge_array = []
all_ruby_files.each {|full_path|
huge_array << File.readlines(full_path)
huge_array.flatten!
}
selection = huge_array.select {|line|
line =~ /class/ and !line.strip.start_with?('#') }
selection.map! {|line|
regex_to_use = /(class [A-Z].+)/ line =~ regex_to_use
result = $1.to_s.dup.strip
if result.include? '<'
result = result[0 .. (result.index('<')-2)]
end
if result.include? '#'
result = result[0 .. (result.index('#')-2)]
end
if result.count(' ') > 1
splitted = result.split(/\s/)
result = splitted[0..1].join(' ')
end
result.delete!('.') if result.include? '.'
result.delete!(',') if result.include? ','
result.chop! if result.end_with? ';'
result }
selection.reject! {|line|
line.empty?
}
selection.uniq!
selection.sort!
@selection = selection
report_these_results(@selection)
end
|
#set_commandline_arguments(i = '') ⇒ Object
#
set_commandline_arguments
#
71
72
73
74
75
|
# File 'lib/roebe/classes/available_classes.rb', line 71
def set_commandline_arguments(i = '')
i = i.first if i.is_a? Array
i = i.to_s.dup
@commandline_arguments = i
end
|
#set_scan_from_this_directory(i = return_pwd) ⇒ Object
Also known as:
set_use_this_directory
#
set_scan_from_this_directory
This method must always ensure that the last character is a trailing ‘/’ token.
#
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'lib/roebe/classes/available_classes.rb', line 83
def set_scan_from_this_directory(
i = return_pwd
)
unless i.end_with? '/'
i = i.dup if i.frozen?
i << '/'
end
@scan_from_this_directory = i
end
|
#show_help ⇒ Object
151
152
153
154
155
|
# File 'lib/roebe/classes/available_classes.rb', line 151
def show_help
e
e 'Currently no option is documented.'
e
end
|
#succinct? ⇒ Boolean
64
65
66
|
# File 'lib/roebe/classes/available_classes.rb', line 64
def succinct?
@report_style == :succinct
end
|