Class: Cyberweb::WebrickWrapper
- Defined in:
- lib/cyberweb/webrick/webrick_wrapper.rb
Overview
Cyberweb::WebrickWrapper
Constant Summary
Constants inherited from Base
Base::HOME_DIRECTORY_OF_THE_USER_X, Base::NAMESPACE
Class Method Summary collapse
-
.[](i = ARGV) ⇒ Object
# === Cyberweb::WebrickWrapper[] ========================================================================= #.
Instance Method Summary collapse
-
#increment_the_port_number(by_this_amount = 1) ⇒ Object
# === increment_the_port_number ========================================================================= #.
-
#initialize(commandline_arguments = nil, run_already = true) ⇒ WebrickWrapper
constructor
# === initialize ========================================================================= #.
-
#reset ⇒ Object
# === reset (reset tag) ========================================================================= #.
-
#run ⇒ Object
# === run (run tag) ========================================================================= #.
-
#try_to_start_the_webrick_server ⇒ Object
# === try_to_start_the_webrick_server ========================================================================= #.
Methods inherited from Base
#be_verbose, #be_verbose?, #cascading_style_sheets_directory?, #cd, #commandline_mode?, #copyright?, #css_comment, #delete_directory, #do_toggle, #e, #echo_raw, #filename?, #full_path_to_image_directory?, #html_colours?, #html_image, #htmlentities, #img_dir?, #infer_the_namespace, #initialize_the_configuration, #is_a_file?, #is_a_video_file?, #is_an_image_file?, #is_on_roebe?, #last_tag_used?, #last_tag_used_first_element?, #last_tag_used_id?, #mkdir, #mode?, #namespace?, #open_in_browser, #opne, #opnn, #remove_comments_from_this_string_but_preserve_CSS_rules, #remove_html, #return_all_directories, #return_date, #return_program_name, #return_pwd, #ruby_header?, #server_base_directory?, #set_commandline_mode, #set_last_tag_used, #update_the_image_directory, #use_this_relative_directory_for_custom_images?, #www_mode?
Methods included from BaseModule::FileRelatedFunctionality
#copy_this_file, #cpr, #delete_file, #filename_without_extension?, #read_file_via_utf8_encoding
Methods included from BaseModule
#attach_these_constants, #base_dir?, #beautiful_url, #cd, #create_the_internal_hash, #doctype?, #ee, #ensure_main_encoding, #esystem, #html_templates, #initialize_the_config_if_the_config_hash_is_empty, #internal_hash?, #log_dir?, #no_http, #random_alphabet_characters, #rarrow?, #rds, #remove_comments_from_this_string, #remove_numbers, #require_the_html_templates, #require_these, #return_file_size_in_kb_of, #return_html_comment, #ruby_sitelib_dir?, #sanitize_this_id, #server_base_directory?, #string_remote_image, #today?, #try_to_require_rack, #try_to_require_the_open_gem, #write_what_into
Methods included from BaseModule::ContentType
#content_type_is_html, #content_type_is_jpeg, #content_type_is_json, #content_type_is_plain_text
Methods included from BaseModule::CommandlineArguments
#append_to_the_commandline_arguments, #commandline_arguments?, #first_argument?, #parse_these_commandline_arguments, #second_argument?, #set_commandline_arguments
Methods included from BaseModule::Colours
#all_html_colours, #lightgreen, #rev, #sdir, #sfancy, #sfile, #simp, #steelblue, #tomato
Constructor Details
#initialize(commandline_arguments = nil, run_already = true) ⇒ WebrickWrapper
#
initialize
#
30 31 32 33 34 35 36 37 38 39 |
# File 'lib/cyberweb/webrick/webrick_wrapper.rb', line 30 def initialize( commandline_arguments = nil, run_already = true ) reset set_commandline_arguments( commandline_arguments ) run if run_already end |
Class Method Details
Instance Method Details
#increment_the_port_number(by_this_amount = 1) ⇒ Object
#
increment_the_port_number
#
60 61 62 |
# File 'lib/cyberweb/webrick/webrick_wrapper.rb', line 60 def increment_the_port_number(by_this_amount = 1) @use_this_port += by_this_amount end |
#reset ⇒ Object
#
reset (reset tag)
#
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/cyberweb/webrick/webrick_wrapper.rb', line 44 def reset super() infer_the_namespace # ======================================================================= # # === @use_this_port # ======================================================================= # @use_this_port = 2000 # ======================================================================= # # === @use_this_document_root # ======================================================================= # @use_this_document_root = return_pwd end |
#run ⇒ Object
#
run (run tag)
#
89 90 91 92 93 94 95 96 97 98 |
# File 'lib/cyberweb/webrick/webrick_wrapper.rb', line 89 def run try_to_require_the_open_gem begin try_to_start_the_webrick_server rescue Errno::EADDRINUSE => _error puts 'Address is already in use. Trying with the next address.' increment_the_port_number try_to_start_the_webrick_server end end |
#try_to_start_the_webrick_server ⇒ Object
#
try_to_start_the_webrick_server
#
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/cyberweb/webrick/webrick_wrapper.rb', line 67 def try_to_start_the_webrick_server server = WEBrick::HTTPServer.new( Port: @use_this_port, DocumentRoot: @use_this_document_root, FancyIndexing: true # This looks better. ) # ======================================================================= # # Add images/ subdirectory: # ======================================================================= # # server.mount('/images', ImagesServlet) server.mount('/parameters', Cyberweb::ParametersServlet) trap('INT') { server.shutdown } Thread.new { sleep 1 Open.in_browser("http://localhost:#{use_this_port}") } server.start end |