Class: Roebe::LighttpdWrapper

Inherits:
Base show all
Defined in:
lib/roebe/classes/lighttpd/lighttpd_wrapper.rb

Overview

Roebe::LighttpdWrapper

Constant Summary

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, #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

Methods included from Base::CommandlineArguments

#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) ⇒ LighttpdWrapper

#

initialize

#


21
22
23
24
25
26
27
28
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 21

def initialize(
    i           = ARGV,
    run_already = true
  )
  reset
  set_commandline_arguments(i)
  run if run_already
end

Class Method Details

.[](i = ARGV) ⇒ Object

#

Roebe::LighttpdWrapper[]

#


177
178
179
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 177

def self.[](i = ARGV)
  new(i)
end

Instance Method Details

#generate_lighttpd_configurationObject

#

generate_lighttpd_configuration

#


41
42
43
44
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 41

def generate_lighttpd_configuration
  require 'roebe/classes/lighttpd_config_generator.rb'
  Roebe::LighttpdConfigGenerator.new
end
#

menu (menu tag)

#


49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 49

def menu(
    i = commandline_arguments_with_leading_hyphens?
  )
  if i.is_a? Array
    i.each {|entry| menu(entry) }
  else
    case i
    # ===================================================================== #
    # === handle_lighttpd --help
    # ===================================================================== #
    when /^-?-?help$/i
      show_help
    # ===================================================================== #
    # === generate_lighttpd_configuration
    # ===================================================================== #
    when /^-?-?generate(-|_)?lighttpd(-|_)?configuration$/i,
         /^-?-?generate$/i
      generate_lighttpd_configuration
    # ===================================================================== #
    # === handle_lighttpd --start
    # ===================================================================== #
    when /^-?-?start(-|_)?lighty$/i,
         /^-?-?start$/i
      start_lighty
    # ===================================================================== #
    # === handle_lighttpd --stop
    # ===================================================================== #
    when /^-?-?stop(-|_)?lighty$/i,
         /^-?-?stop$/i
      stop_lighty
    end
  end
end

#resetObject

#

reset (reset tag)

#


33
34
35
36
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 33

def reset
  super()
  infer_the_namespace
end

#runObject

#

run (run tag)

#


170
171
172
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 170

def run
  menu
end

#show_helpObject

#

show_help (help tag)

#


86
87
88
89
90
91
92
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 86

def show_help
  e
  ecomment '  --start      # start lighttpd'
  ecomment '  --stop       # stops lighttpd'
  ecomment '  --generate   # generate a new lighttpd configuraiton'
  e
end

#start_lighttpd(i = :default_port) ⇒ Object

#

start_lighttpd

This method can be used to start lighttpd.

The regular syntax for doing son on the commandline goes like this:

lighttpd -D -f $LIGHTTPD/autogenerated_lighttpd.conf &
lighttpd -D -f $LIGHTTPD_CONFIGURATION_DIRECTORY/port.conf -f $LIGHTTPD_CONFIGURATION_DIRECTORY/document_root.conf &

/usr/lib/ruby/site_ruby/3.3.0/roebe/www/lighttpd/configuration/port.conf /home/x/programming/ruby/src/roebe/lib/roebe/www/lighttpd/configuration/port.conf

#


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
163
164
165
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 132

def start_lighttpd(
    i = :default_port
  )
  case i
  # ======================================================================= #
  # === :default_port
  # ======================================================================= #
  when :default_port,
       :default
    use_this_file_for_determining_the_port =
      RUBY_SRC_DIR+'roebe/lib/roebe/www/lighttpd/configuration/port.conf'
  end
  stop_lighttpd # Ensure that lighty is no longer running.
  generate_lighttpd_configuration
  esystem(
    'lighttpd -D -f $LIGHTTPD/autogenerated_lighttpd.conf &',
    :do_colourize_and_pad_the_system_command
  )
  port_to_use = '3005'
  orev 'The rewrite-rules are no longer autogenerated since as of May 2023.'
  if false
    file_rewrite_rules =
      RUBY_SRC_DIR+'roebe/lib/roebe/classes/generate_rewrite_rules.rb'
    if File.exist? file_rewrite_rules
      esystem file_rewrite_rules
    end
    if File.exist? use_this_file_for_determining_the_port
      port_to_use = File.readlines(use_this_file_for_determining_the_port)[-1].split('=')[-1].strip.to_s
    end
  end
  orev 'Starting lighttpd on '+
       string_italic('localhost')+rev+
       ", port: #{sfancy(port_to_use)}"
end

#stop_lightyObject Also known as: stop_lighttpd

#

stop_lighty

This method will try to stop the lighttpd server.

#


99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/roebe/classes/lighttpd/lighttpd_wrapper.rb', line 99

def stop_lighty
  result = `ps ax | grep lighttpd`.split("\n").select {|x| x.include? 'lighttpd '}.first
  if result
    pid = result.split(' ').first
    if pid
      orev "#{steelblue('Stopping')}#{rev} lighttpd next:"
      esystem(
        "kill -9 #{pid}",
        :do_colourize_and_pad_the_system_command
      )
      orev 'Done!'
    end
  else
    opne tomato('Could not stop lighttpd: it appears as if ')+
         steelblue('lighttpd')+
         tomato(' is not currently running.')
  end
end