Class: Roebe::GenerateRewriteRules
- Inherits:
-
Base
show all
- Defined in:
- lib/roebe/classes/generate_rewrite_rules.rb
Overview
Roebe::GenerateRewriteRules
Constant Summary
collapse
- N_PADDING =
10
- PC =
ENV['PC'].to_s+'/'
- APACHE_DIR =
PC+'APACHE/'
- LIGHTY_DIR =
'/home/x/programming/ruby/src/roebe/lib/roebe/www/lighttpd/'
- LIGHTY_REWRITE_RULES_FILE =
#
LIGHTY_REWRITE_RULES_FILE
#
LIGHTY_DIR+'configuration/redirects.conf'
- APACHE_CONFIG_DIR =
APACHE_DIR+'configuration/'
- WHERE_TO_STORE =
APACHE_CONFIG_DIR+'autogenerated_rewrite_rules.conf'
- YAML_FILE_AUTOGENERATE_THESE_REWRITE_RULES =
#
YAML_FILE_AUTOGENERATE_THESE_REWRITE_RULES
#
'/home/x/programming/ruby/src/roebe/lib/roebe/yaml/autogenerate_these_rewrite_rules/'\
'autogenerate_these_rewrite_rules.yml'
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
Class Method Summary
collapse
-
.[](i = '') ⇒ Object
# === Roebe::GenerateRewriteRules[] ========================================================================= #.
Instance Method Summary
collapse
Methods inherited from Base
#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #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) ⇒ GenerateRewriteRules
62
63
64
65
66
67
68
69
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 62
def initialize(
i = ARGV,
run_already = true
)
reset
set_commandline_arguments(i)
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
#
Roebe::GenerateRewriteRules[]
#
258
259
260
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 258
def self.[](i = '')
new(i)
end
|
Instance Method Details
97
98
99
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 97
def
return '# '+('=' * 76)+' #'+N
end
|
#be_verbose? ⇒ Boolean
132
133
134
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 132
def be_verbose?
@be_verbose
end
|
#eliminate_localhost(i) ⇒ Object
241
242
243
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 241
def eliminate_localhost(i)
return i.delete_prefix('http://localhost/')
end
|
#generate_all_strings ⇒ Object
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 104
def generate_all_strings
e 'Generating all strings next.' if be_verbose?
@string <<
@string << '# Autogenerated Apache rewrite rules, '+
'from file generate_rewrite_rules.rb. '+N+'#'+N+
'# To include this in your httpd.conf, do:'+N+
'# Include '+WHERE_TO_STORE+N
@string <<
main_array?.each { |member|
_ = @beautiful_url.search_for_this_url(member)
e _ if be_verbose?
if _
if _.is_a? Array
_.each {|entry|
expanded_url = eliminate_localhost(entry) generate_rewrite_string(member, expanded_url)
}
else
expanded_url = eliminate_localhost(_)
generate_rewrite_string(member, expanded_url)
end
end
}
end
|
#generate_rewrite_rules_for_lighty(store_into_this_file = LIGHTY_REWRITE_RULES_FILE) ⇒ Object
#
generate_rewrite_rules_for_lighty
Here we generate the rewrite rules for Lighty.
#
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 203
def generate_rewrite_rules_for_lighty(
store_into_this_file = LIGHTY_REWRITE_RULES_FILE
)
_ = ''.dup _ << '
$HTTP["host"] =~ "localhost" {
url.redirect = (
'
main_array?.each {|entry|
original_entry = entry.to_s.dup
entry = @beautiful_url.search_for_this_url(entry)
entry = eliminate_localhost(entry)
_ << ' ' left_part = ('"^'+original_entry+'$"').ljust(22)
_ << left_part+' => "'+entry+'",'+N
}
_ << ' )
}'
opn; e 'Next storing into '+sfile(store_into_this_file)
begin
write_what_into(_, store_into_this_file)
rescue; end
end
|
#generate_rewrite_string(keyword, expanded) ⇒ Object
#
generate_rewrite_string
This generates a rewrite string.
#
162
163
164
165
166
167
168
169
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 162
def generate_rewrite_string(keyword, expanded)
_ = 'RewriteRule '.dup
_ << '^/'+keyword+'$'
_ << ' ' * N_PADDING
_ = '%-43s' % _
_ << expanded+N
@string << _
end
|
#load_yaml_data ⇒ Object
#
load_yaml_data
Load the yaml dataset for which rules are to be autogenerated.
#
141
142
143
144
145
146
147
148
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 141
def load_yaml_data _ = YAML_FILE_AUTOGENERATE_THESE_REWRITE_RULES
if File.exist? _
@array_yaml_data = YAML.load_file(_)
else
no_file_exists_at(_)
end
end
|
#main_array? ⇒ Boolean
153
154
155
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 153
def main_array?
@array_yaml_data
end
|
#notify_the_user_what_we_will_do(i = YAML_FILE_AUTOGENERATE_THESE_REWRITE_RULES) ⇒ Object
#
notify_the_user_what_we_will_do
#
189
190
191
192
193
194
195
196
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 189
def notify_the_user_what_we_will_do(
i = YAML_FILE_AUTOGENERATE_THESE_REWRITE_RULES
)
opn; e 'Generating RewriteRules next, from the file '
e
e " #{sfile(i)}"
e
end
|
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 74
def reset
super()
infer_the_namespace
@be_verbose = false
@string = ''.dup
@beautiful_url = BeautifulUrl::BeautifulUrl.new :dont_run_yet
load_yaml_data
end
|
248
249
250
251
252
253
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 248
def run
notify_the_user_what_we_will_do
generate_all_strings
store_config
generate_rewrite_rules_for_lighty
end
|
#store_config ⇒ Object
#
store_config
This stores the autogenerated rewrite rules into a file.
#
176
177
178
179
180
181
182
183
184
|
# File 'lib/roebe/classes/generate_rewrite_rules.rb', line 176
def store_config
where = WHERE_TO_STORE
where = '/home/temp/'+File.basename(WHERE_TO_STORE)
e ' Storing the autogenerated RewriteRules into '
e ' '+sfile(where)
begin
write_what_into(@string, where,'w+')
rescue; end
end
|