Class: RBT::CreateLogFile

Inherits:
Base show all
Defined in:
lib/rbt/logging/create_log_file.rb

Overview

RBT::CreateLogFile

Constant Summary

Constants inherited from LeanPrototype

LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#cat, #cd_back_to_the_current_working_directory, #consider_reporting_how_many_programs_are_registered, #cookbook_files?, #copy_recursively, #delete_code_of_conduct?, #determine_appdir_prefix_from_this_input, #directory_validation?, #do_not_show_names, #fast_return_file_size_of_this_program, #file_last_symlinked_program?, #file_programs_version_url, #gem_version, #is_a_64bit_system?, #is_ccache_available?, #is_porg_available?, #is_this_binary_registered?, #is_this_program_included?, #make_command?, #make_install_command?, #new_cookbook_instance_for, #program_exists?, #publish_list_of_all_programs_version, #rcp, registered_binaries?, #remove_symlink, #rename_kde_konsole_tab, #repackage, #report_n_programs, #report_working_directory, #return_compile_time_statistics, #return_n_random_characters, #return_version_of_this_program, #run_make_then_make_install, #sanitize_url1_entry, #set_source_directory, #show_overview_over_available_utility_scripts, #symlink_all_files_from_this_directory_to_that_directory, #system_tags?, #upload_list_of_all_programs_version, #use_yaml_database_for_tags?, #warn_and_exit, #wget

Methods inherited from LeanPrototype

#a_or_an?, #abbreviations?, #absolute_path, #action, #add_to_the_commandline_arguments, #all_binaries?, #all_files_from, #all_libraries?, #allowed_cookbook_entries?, #appdir_location_of?, #append_onto_the_internal_hash, #append_what_into, #archive_type_of?, #available_programs?, #be_quiet?, #be_verbose?, #begins_with_a_comment?, #capitalize_first_alphabetical_character, #cd_to_the_log_directory, #cd_to_the_temp_directory, #change_directory, #change_permission, #cheering_person?, #chmod, #chop_off_archive, #clear_commandline_arguments, #cliner, #coloured_and_padded_e, #coloured_and_padded_esystem, #coloured_esystem, #colourize_directory_for_system_results, #colourize_this_error, #colourize_this_file_path, #colourize_this_warning, #commandline_arguments?, #commandline_arguments_without_hyphens?, #comment, #convert_dd_mm_yyyy_to_its_long_variant, #convert_env_variable, #copy_directory, #copy_files, #cpr, #create_directory, #current_hour?, #dd_mmm_yyy, #debug, #debug?, #directory_expanded_cookbooks?, #disable_colours, #display_md5sum?, #do_not_debug, #does_the_cookbook_include_this_program?, #does_this_expanded_cookbook_file_exist_for_this_program?, #does_this_file_exist?, #does_this_file_exist_and_is_it_a_file?, #e, #eblue, #ecomment, #ecrimson, #edir, #editor?, #efancy, #eimp, #enable_colours, #enable_debug, #ensure_main_encoding_for, #eparse, #esystem, #esystem_gold, #etomato, #ewarn, #exit_program, #expanded_cookbooks_directory_exists?, #extract_this_archive, #extract_to?, #file_compiled_programs?, #file_dirname_retaining_trailing_slash, #file_predefined_installation_instructions?, #file_specification_of_registered_cookbook_entries, #find_cookbook_alias_for, #find_this_yaml_file, #first_argument?, #first_non_hyphen_argument?, #get_all_directories_from, #get_all_files_from, #get_all_programs, #get_date, #get_extended_date, #get_files_and_directories_from, #go_to_base_dir, #home_dir?, #host_system?, #infer_the_namespace, #internal_hash?, #internal_hash_set_commandline_arguments, #is_an_archive?, #is_directory?, #is_file?, #is_github_url?, #is_make_available?, #is_meson_installed?, #is_on_gobolinux?, #is_on_windows?, #is_roebe?, #is_superuser?, #is_symlink?, #is_this_a_header?, #is_this_a_library?, #is_this_program_included?, #iso_encoding?, #load_dataset_from_this_expanded_cookbook, #load_yaml, #load_yaml_file_from_the_cookbook_directory_for_this_program, #log_directory?, #main_encoding?, #meson_build_file_exists?, #months?, #move_file, #n_programs_are_available?, #n_programs_available?, #namespace?, #no_directory_exists_at, #no_directory_was_found_at, #no_opn, #no_such_file_exists, #open_in_browser, #open_in_editor, #opncomment, #opne, #opnef, #opnerev, #opnerror, #opnesystem, #opnewarn, #opnfancy, #opnn, #otomato, #packages_directory?, #path_to_this_expanded_cookbooks_dataset, #pkgconfig_directory?, #populate_the_internal_hash_with_default_values, #predefined_installation_instructions?, #prepend_this_commandline_argument, #program_version_of?, #project_base_directory?, #project_yaml_directory?, #query_path?, #rarrow?, #read_file, #read_file_in_default_encoding, #read_file_with_default_encoding, #readlines, #readlines_with_proper_encoding, #register_sigint, #registered_cookbook_entries?, #remove, #remove_archive_from_the_end, #remove_comments_from_each_line, #remove_directory, #remove_double_slashes, #remove_file, #remove_newlines, #remove_parens, #remove_symlink, #remove_the_first_commandline_argument, #remove_this_commandline_argument, #remove_this_entry_from_the_commandline_arguments, #remove_trailing_ANSII_escape_code, #remove_unnecessary_data_from_url, #rename, #report_pwd, #require_the_rbt_aliases, #reset_the_internal_hash, #return_all_archives_from_this_directory, #return_appdir_prefix, #return_commandline_arguments_with_leading_hyphens, #return_current_hour_minutes_second, #return_date, #return_day_of_the_month_based_on_utc, #return_full_time, #return_hours_minutes_seconds_based_on_utc, #return_location_to_this_programs_yaml_file, #return_month_based_on_this_number, #return_month_based_on_utc, #return_opnn, #return_program_name, #return_program_name_for_gobolinux_systems, #return_program_name_via_program_information, #return_pwd, #return_unicode_warning_symbol_or_empty_string, #return_utc, #return_utc_time_in_a_format_similar_to_slackware, #return_weekday_based_on_utc, #return_year_based_on_utc, #rev, #rpn, #run_simulation=, #run_simulation?, #sdir, #sdir_return_pwd, #set_be_silent, #set_be_verbose, #set_first_commandline_argument, #set_namespace, #set_use_colours, #set_use_opn, #set_xorg_buffer, #sfancy, #sfile, #silent_redirection?, #silently_create_this_directory_if_it_does_not_yet_exist, #simp, #source_base_directory?, #ssym, #stderr, #store_into_this_directory?, #string_right_arrow?, #swarn, #symlink, #sysbin_directory?, #sysetc_directory?, #sysinclude_directory?, #syslib_directory?, #sysshare_directory?, #system_directory?, #temp_directory?, #to_bool, #to_camelcase, #to_iso_encoding, #to_unicode, #today?, #touch, #try_to_require_beautiful_url, #try_to_require_the_environment_information_gem, #try_to_require_the_extracter_gem, #try_to_require_the_open_gem, #try_to_require_the_xorg_buffer, #try_to_require_wget, #try_to_return_a_special_compile_component, #unicode_cliner, #unicode_middle_cliner, #use_colours=, #use_colours?, #use_opn=, #use_opn?, #utf_encoding?, #verbose_truth, #word_wrap, #write_what_into, #write_what_into_via_unicode, #yes_or_no

Constructor Details

#initialize(commandline_arguments = nil, run_already = true) ⇒ CreateLogFile

#

initialize

#


28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/rbt/logging/create_log_file.rb', line 28

def initialize(
    commandline_arguments = nil,
    run_already           = true
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  # ======================================================================= #
  # === Handle blocks next
  # ======================================================================= #
  if block_given?
    yielded = yield
    parse_this_input(yielded)
  end
  run if run_already
end

Class Method Details

.[](i = ARGV) ⇒ Object

#

RBT::CreateLogFile[]

#


207
208
209
# File 'lib/rbt/logging/create_log_file.rb', line 207

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

Instance Method Details

#clear_the_main_hashObject

#

clear_the_main_hash

#


94
95
96
# File 'lib/rbt/logging/create_log_file.rb', line 94

def clear_the_main_hash
  @hash.clear
end

#do_store_into_the_appdir(store_here) ⇒ Object

#

do_store_into_the_appdir

#


189
190
191
192
193
194
195
# File 'lib/rbt/logging/create_log_file.rb', line 189

def do_store_into_the_appdir(store_here)
  opne "#{rev}Storing into the file `#{sfile(store_here)}#{rev}`."
  write_what_into(
    return_the_dataset_for_the_environment,
    store_here
  )
end

#parse_this_input(i) ⇒ Object

#

parse_this_input

#


115
116
117
118
119
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
# File 'lib/rbt/logging/create_log_file.rb', line 115

def parse_this_input(i)
  if i.is_a? Hash
    # ===================================================================== #
    # === :clear_the_main_hash
    # ===================================================================== #
    if i.has_key? :clear_the_main_hash
      clear_the_main_hash if (i.delete(:clear_the_main_hash) == true)
    end
    # ===================================================================== #
    # === :use_environment_flags
    # ===================================================================== #
    if i.has_key? :use_environment_flags
      @hash[:use_environment_flags] = i.delete(:use_environment_flags)
    end
    # ===================================================================== #
    # === :program_name
    # ===================================================================== #
    if i.has_key? :program_name
      @hash[:program_name] = i.delete(:program_name)
    end
    # ===================================================================== #
    # === :uses_appdir_prefix
    # ===================================================================== #
    if i.has_key? :uses_appdir_prefix
      @hash[:uses_appdir_prefix] = i.delete(:uses_appdir_prefix)
    end
    # ===================================================================== #
    # === :store_where
    # ===================================================================== #
    if i.has_key? :store_where
      @hash[:store_where] = i.delete(:store_where)
    end
  end
end

#program_name?Boolean

#

program_name?

#

Returns:

  • (Boolean)


87
88
89
# File 'lib/rbt/logging/create_log_file.rb', line 87

def program_name?
  @hash[:program_name].to_s
end

#resetObject

#

reset (reset 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
82
# File 'lib/rbt/logging/create_log_file.rb', line 49

def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @hash
  # ======================================================================= #
  @hash = {}
  # ======================================================================= #
  # === :installation_was_a_success_or_failure
  #
  # Populate the hash with some dummy-variables on startup:
  # ======================================================================= #
  @hash[:installation_was_a_success_or_failure] = :failure
  # ======================================================================= #
  # === :program_name
  # ======================================================================= #
  @hash[:program_name] = :foobar
  # ======================================================================= #
  # === :full_configure_command
  # ======================================================================= #
  @hash[:full_configure_command] = '../configure --prefix=/usr'
  # ======================================================================= #
  # === :store_where
  # ======================================================================= #
  @hash[:store_where] = "#{program_name?}.yml"
  # ======================================================================= #
  # === :uses_appdir_prefix
  # ======================================================================= #
  @hash[:uses_appdir_prefix] = false
  # ======================================================================= #
  # === :use_environment_flags
  # ======================================================================= #
  @hash[:use_environment_flags] = false
end

#return_the_dataset_for_the_environmentObject

#

return_the_dataset_for_the_environment

#


180
181
182
183
184
# File 'lib/rbt/logging/create_log_file.rb', line 180

def return_the_dataset_for_the_environment
  "Time of installation:  #{dd_mm_yyyy}, #{hh_mm_ss}#{N}"\
  "PATH:                  #{ENV['PATH']}#{N}"\
  "CFLAGS:                #{ENV['CFLAGS']}#{N}"
end

#runObject

#

run (run tag)

#


200
201
202
# File 'lib/rbt/logging/create_log_file.rb', line 200

def run
  store_file
end

#set_program_name(i) ⇒ Object

#

set_program_name

#


108
109
110
# File 'lib/rbt/logging/create_log_file.rb', line 108

def set_program_name(i)
  @hash[:program_name] = i.to_sym
end

#store_file(store_where = store_where? ) ⇒ Object

#

store_file

#


160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/rbt/logging/create_log_file.rb', line 160

def store_file(
    store_where = store_where?
  )
  _ = @hash
  opne "#{rev}Storing into the file `#{sfile(store_where)}#{rev}`."
  # ======================================================================= #
  # Handle environment-flags part first:
  # ======================================================================= #
  if _.has_key?(:use_environment_flags) and (_.delete(:use_environment_flags) == true)
    #_.delete(:use_environment_flags)
    write_what_into(return_the_dataset_for_the_environment, store_where)
  else
    _ = YAML.dump(_)
    write_what_into(_, store_where)
  end
end

#store_where?Boolean

#

store_where?

#

Returns:

  • (Boolean)


153
154
155
# File 'lib/rbt/logging/create_log_file.rb', line 153

def store_where?
  @hash[:store_where]
end

#uses_appdir_prefix?Boolean

#

uses_appdir_prefix?

#

Returns:

  • (Boolean)


101
102
103
# File 'lib/rbt/logging/create_log_file.rb', line 101

def uses_appdir_prefix?
  @hash[:uses_appdir_prefix]
end