environment_information 1.4.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of environment_information might be problematic. Click here for more details.

Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +1276 -0
  3. data/bin/envi +7 -0
  4. data/bin/fast_envi +7 -0
  5. data/doc/README.gen +1044 -0
  6. data/doc/todo/TODO_FOR_THE_ENVIRONMENT_INFORMATION_PROJECT.md +48 -0
  7. data/environment_information.gemspec +135 -0
  8. data/lib/environment_information/base/base.rb +159 -0
  9. data/lib/environment_information/class/add.rb +187 -0
  10. data/lib/environment_information/class/colours.rb +283 -0
  11. data/lib/environment_information/class/constants.rb +35 -0
  12. data/lib/environment_information/class/environment_information.rb +51 -0
  13. data/lib/environment_information/class/help.rb +90 -0
  14. data/lib/environment_information/class/html.rb +78 -0
  15. data/lib/environment_information/class/initialize.rb +177 -0
  16. data/lib/environment_information/class/menu.rb +465 -0
  17. data/lib/environment_information/class/misc.rb +897 -0
  18. data/lib/environment_information/class/opn.rb +33 -0
  19. data/lib/environment_information/class/register_sigint.rb +20 -0
  20. data/lib/environment_information/class/reset.rb +217 -0
  21. data/lib/environment_information/class/ruby.rb +79 -0
  22. data/lib/environment_information/class/run.rb +61 -0
  23. data/lib/environment_information/class/show_display_and_report.rb +355 -0
  24. data/lib/environment_information/colours/colours.rb +211 -0
  25. data/lib/environment_information/colours/sfancy.rb +19 -0
  26. data/lib/environment_information/colours/simp.rb +19 -0
  27. data/lib/environment_information/constants/array_tracked_components.rb +210 -0
  28. data/lib/environment_information/constants/constants.rb +17 -0
  29. data/lib/environment_information/constants/encoding.rb +21 -0
  30. data/lib/environment_information/constants/error_line.rb +17 -0
  31. data/lib/environment_information/constants/file_constants.rb +102 -0
  32. data/lib/environment_information/constants/misc.rb +86 -0
  33. data/lib/environment_information/constants/namespace.rb +14 -0
  34. data/lib/environment_information/constants/newline.rb +16 -0
  35. data/lib/environment_information/constants/regex.rb +30 -0
  36. data/lib/environment_information/constants/temp_directory.rb +52 -0
  37. data/lib/environment_information/gui/gtk2/environment_information.rb +35 -0
  38. data/lib/environment_information/gui/gtk3/environment_information.rb +34 -0
  39. data/lib/environment_information/gui/libui/environment_information.rb +74 -0
  40. data/lib/environment_information/gui/shared_code/environment_information_module.rb +409 -0
  41. data/lib/environment_information/misc_components/README.md +3 -0
  42. data/lib/environment_information/misc_components/cflags.rb +36 -0
  43. data/lib/environment_information/misc_components/cpuinfo.rb +64 -0
  44. data/lib/environment_information/misc_components/operating_system.rb +54 -0
  45. data/lib/environment_information/misc_components/operating_system_bit_type.rb +42 -0
  46. data/lib/environment_information/misc_components/ram.rb +30 -0
  47. data/lib/environment_information/misc_components/rubygems_installation_directory.rb +54 -0
  48. data/lib/environment_information/misc_components/screen_resolution.rb +50 -0
  49. data/lib/environment_information/project/project.rb +27 -0
  50. data/lib/environment_information/queries/README.md +2 -0
  51. data/lib/environment_information/queries/complex_version.rb +272 -0
  52. data/lib/environment_information/queries/pkg_config.rb +125 -0
  53. data/lib/environment_information/queries/simple_version.rb +217 -0
  54. data/lib/environment_information/requires/require_asciitable.rb +15 -0
  55. data/lib/environment_information/requires/require_the_constants.rb +7 -0
  56. data/lib/environment_information/requires/require_the_environment_information_project.rb +23 -0
  57. data/lib/environment_information/requires/require_the_individual_misc_components.rb +30 -0
  58. data/lib/environment_information/requires/require_the_toplevel_methods.rb +22 -0
  59. data/lib/environment_information/toplevel_methods/autogenerate_all_relevant_methods.rb +152 -0
  60. data/lib/environment_information/toplevel_methods/cd.rb +16 -0
  61. data/lib/environment_information/toplevel_methods/e.rb +43 -0
  62. data/lib/environment_information/toplevel_methods/hash.rb +60 -0
  63. data/lib/environment_information/toplevel_methods/internet_is_available.rb +30 -0
  64. data/lib/environment_information/toplevel_methods/is_on_roebe.rb +16 -0
  65. data/lib/environment_information/toplevel_methods/menu.rb +90 -0
  66. data/lib/environment_information/toplevel_methods/misc.rb +309 -0
  67. data/lib/environment_information/toplevel_methods/n_subcommands.rb +31 -0
  68. data/lib/environment_information/toplevel_methods/prefix_to_use.rb +39 -0
  69. data/lib/environment_information/toplevel_methods/register_this_component_is_missing.rb +61 -0
  70. data/lib/environment_information/toplevel_methods/remote_url_of_this_program.rb +45 -0
  71. data/lib/environment_information/toplevel_methods/replay_from_the_stored_file.rb +84 -0
  72. data/lib/environment_information/toplevel_methods/return_alias_to.rb +30 -0
  73. data/lib/environment_information/toplevel_methods/return_pkgconfig_based_programs.rb +28 -0
  74. data/lib/environment_information/toplevel_methods/return_remote_gtk2_version.rb +54 -0
  75. data/lib/environment_information/toplevel_methods/return_simple_version_based_programs.rb +28 -0
  76. data/lib/environment_information/toplevel_methods/return_version_of_this_program.rb +182 -0
  77. data/lib/environment_information/toplevel_methods/show_all_available_components.rb +192 -0
  78. data/lib/environment_information/toplevel_methods/write_what_into.rb +24 -0
  79. data/lib/environment_information/version/version.rb +25 -0
  80. data/lib/environment_information/www/sinatra_interface.rb +213 -0
  81. data/lib/environment_information/www/webobject_interface.cgi +29 -0
  82. data/lib/environment_information/yaml/array_default_programs_on_linux.yml +15 -0
  83. data/lib/environment_information/yaml/array_lfs_core_programs.yml +37 -0
  84. data/lib/environment_information/yaml/array_science_cluster.yml +12 -0
  85. data/lib/environment_information/yaml/array_tracked_non_programs.yml +13 -0
  86. data/lib/environment_information/yaml/array_tracked_programs.yml +207 -0
  87. data/lib/environment_information/yaml/array_tracked_xorg_components.yml +37 -0
  88. data/lib/environment_information/yaml/colours.yml +3 -0
  89. data/lib/environment_information/yaml/query_to_use_for_the_individual_components.yml +256 -0
  90. data/lib/environment_information.rb +5 -0
  91. data/test/testing_environment_information.rb +26 -0
  92. data/test/testing_missing_components.rb +9 -0
  93. data/test/testing_prefix_for_the_environment_information_project.rb +20 -0
  94. metadata +191 -0
@@ -0,0 +1,48 @@
1
+ ------------------------------------------------------------------------------
2
+ - add in envi the ability to query from another base-prefix
3
+ e. g. /home/Programs/.
4
+
5
+ Invocation example:
6
+
7
+ envi --work-on-programs-directory-only
8
+
9
+ and then explain this too.
10
+
11
+ So the idea is to first ONLY consider
12
+ checking the programs that are registered
13
+ and THEn to check inside of these directories,
14
+ e. g. for pkgconfig, or for --version or whatever
15
+ only there
16
+ also ewe will use only those directories
17
+ with "Current" symlink pointing to EXISTING directories.
18
+ ^^^
19
+ THEN also
20
+ make it available on /home/Programs/Toolchain
21
+
22
+ then upload
23
+
24
+ ^^^ this works now with the first variant but only for
25
+ "bison --version" programs; need to add support
26
+ for pkg-config programs too, at a later time.
27
+
28
+ ^^^ also has to then add it onto --help to show it
29
+ once it works properly.
30
+
31
+ ------------------------------------------------------------------------------
32
+ (7) in envi: add
33
+
34
+ --scan-this-directory=/Programs
35
+ ^^^ this shall check for each directory there, if it is NOT empty,
36
+ and then to find out what to use to determine the version
37
+ dynamically.
38
+ but before we do so, perhaps add a way to query the binary
39
+ from any path... e. g. /Programs/Htop/Current/ or so
40
+ ------------------------------------------------------------------------------
41
+ (8)
42
+
43
+ - if we rewrite the project, properly add disabling of saving
44
+ files AND checking permissions
45
+ ------------------------------------------------------------------------------
46
+ test absolute prefixes again
47
+ ------------------------------------------------------------------------------
48
+ (10) add a new log for environment information
@@ -0,0 +1,135 @@
1
+ # =========================================================================== #
2
+ # Gemspec for Project EnvironmentInformation.
3
+ # =========================================================================== #
4
+ require 'environment_information'
5
+ require 'roebe'
6
+
7
+ Gem::Specification.new { |s|
8
+
9
+ s.name = 'environment_information'
10
+ s.version = EnvironmentInformation::VERSION
11
+ s.date = Time.now.strftime('%Y-%m-%d')
12
+
13
+ DESCRIPTION = <<-EOF
14
+
15
+ The gem environment_information is able to provide information about the
16
+ computer host system, in particular on Linux systems, if ruby is available
17
+ on that computer. Commonly used programs will be queried for their current
18
+ version number (and whether they exist) on the target computer. If these
19
+ programs do happen to exist then the corresponding version will be
20
+ displayed, on the commandline.
21
+
22
+ This is somewhat similar to the "Linux from Scratch" project, which uses
23
+ a shell script to display the version of many commonly used programs.
24
+ As I prefer to use ruby rather than shell scripts, I wrote this somewhat
25
+ equivalent project.
26
+
27
+ This project currently tracks the version of
28
+ #{::EnvironmentInformation.tracked_programs?.size}
29
+ different programs.
30
+
31
+ For more information and documentation about this project, consider
32
+ looking at the homepage of this gem, at
33
+
34
+ https://rubygems.org/gems/environment_information
35
+
36
+ and look at the documentation on the bottom right side,
37
+ called "Documentation".
38
+
39
+ EOF
40
+
41
+ s.summary = DESCRIPTION
42
+ s.description = DESCRIPTION
43
+
44
+ # =============================================================== #
45
+ # Show this when a user installs this project.
46
+ # =============================================================== #
47
+ s.post_install_message = <<-EOF
48
+
49
+ You can run this little script by issuing:
50
+
51
+ envi
52
+
53
+ on the commandline. (The script envi is part of this gem and can
54
+ be found at the subdirectory bin/envi of the gem.)
55
+
56
+ Within ruby code, you can require the project and then display
57
+ information too, via:
58
+
59
+ require 'environment_information'
60
+ EnvironmentInformation.run
61
+
62
+ For the (documented) options, you can do either of the following:
63
+
64
+ envi --help
65
+ envi HELP
66
+
67
+ This will feedback the options that are available.
68
+
69
+ To get the full output of just about every program that is checked
70
+ by this gem, try any of the following invocation:
71
+
72
+ envi --all
73
+ envi ALL
74
+
75
+ (Lowercase works fine just as well. The commandline options that
76
+ include two '-' characters are, internally, the preferred variants.)
77
+
78
+ To obtain an individual entry, do something such as this:
79
+
80
+ envi gtk
81
+ envi pango
82
+ envi gcr
83
+
84
+ To disable colours, do either one of these:
85
+
86
+ envi --nocolours
87
+ envi --no-colours
88
+ envi --no-colors
89
+ envi --nocolors
90
+ envi nocolours
91
+ envi NOCOLOURS
92
+
93
+ (Both UK and US spelling is supported, so colour works just as
94
+ well as color.)
95
+
96
+ If all of this may become too tedious to type, I just use an
97
+ alias called ALL, which stands short for "envi all" or
98
+ "envi show_all".
99
+
100
+ Another option, both of which are synonymous to each other,
101
+ is to compare all existing programs on a given host system
102
+ with the version registered in the RBT project:
103
+
104
+ envi ALL REALLY_ALL
105
+ envi --compare_programs
106
+ envi compare_programs
107
+
108
+ If you wish to show only the OS information, do:
109
+
110
+ envi --os?
111
+
112
+ For more documentation about the project, have a look at:
113
+
114
+ #{EnvironmentInformation::URL_TO_THE_DOCUMENTATION}
115
+
116
+ EOF
117
+
118
+ s.authors = ['Robert A. Heiler']
119
+ s.email = Roebe.email?
120
+ s.files = Dir['**/*']
121
+ s.licenses = 'MIT'
122
+ s.homepage = 'https://rubygems.org/gems/environment_information'
123
+ s.executables = Dir['bin/*'].map { |f| File.basename(f) }
124
+
125
+ s.required_ruby_version = '>= '+Roebe.third_most_stable_version_of_ruby
126
+ s.required_rubygems_version = '>= '+Gem::VERSION
127
+ s.rubygems_version = '>= '+Gem::VERSION
128
+
129
+ # ========================================================================= #
130
+ # Dependencies of this project:
131
+ # ========================================================================= #
132
+ s.add_dependency 'colours'
133
+ # s.add_dependency 'opn' # ← An optional dependency since as of 10.03.2020
134
+
135
+ }
@@ -0,0 +1,159 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/base/base.rb'
6
+ # < ::EnvironmentInformation::Base
7
+ # =========================================================================== #
8
+ module EnvironmentInformation
9
+
10
+ class Base
11
+
12
+ require 'environment_information/requires/require_the_constants.rb'
13
+ require 'environment_information/colours/colours.rb'
14
+ require 'environment_information/toplevel_methods/e.rb'
15
+ require 'environment_information/toplevel_methods/misc.rb'
16
+
17
+ require 'environment_information/toplevel_methods/is_on_roebe.rb'
18
+ # ========================================================================= #
19
+ # === is_on_roebe?
20
+ # ========================================================================= #
21
+ def is_on_roebe?
22
+ ::EnvironmentInformation.is_on_roebe?
23
+ end
24
+
25
+ # ========================================================================= #
26
+ # === e
27
+ # ========================================================================= #
28
+ def e(i = '')
29
+ ::EnvironmentInformation.e(i)
30
+ end
31
+
32
+ # ========================================================================= #
33
+ # === set_commandline_arguments
34
+ # ========================================================================= #
35
+ def set_commandline_arguments(i = '')
36
+ i = [i].flatten.compact
37
+ @commandline_arguments = i
38
+ end
39
+
40
+ # ========================================================================= #
41
+ # === commandline_arguments?
42
+ # ========================================================================= #
43
+ def commandline_arguments?
44
+ @commandline_arguments
45
+ end
46
+
47
+ # ========================================================================= #
48
+ # === first_argument?
49
+ # ========================================================================= #
50
+ def first_argument?
51
+ @commandline_arguments.first
52
+ end; alias first? first_argument? # === first?
53
+
54
+ # ========================================================================= #
55
+ # === is_rbt_available? (rbt tag)
56
+ #
57
+ # Query whether the user has the necessary code from the RBT project
58
+ # installed.
59
+ # ========================================================================= #
60
+ def is_rbt_available?
61
+ Object.const_defined? :RBT
62
+ end
63
+
64
+ # ========================================================================= #
65
+ # === log_dir?
66
+ # ========================================================================= #
67
+ def log_dir?
68
+ ::EnvironmentInformation.temp_directory?
69
+ end; alias log_directory? log_dir? # === log_directory?
70
+
71
+ require 'environment_information/toplevel_methods/cd.rb'
72
+ # ========================================================================= #
73
+ # === cd (cd tag)
74
+ #
75
+ # A shorter variant for the change-directory action.
76
+ # ========================================================================= #
77
+ def cd(i)
78
+ ::EnvironmentInformation.cd(i)
79
+ end
80
+
81
+ # ========================================================================= #
82
+ # === esystem
83
+ # ========================================================================= #
84
+ def esystem(i)
85
+ e i
86
+ system i
87
+ end
88
+
89
+ # ========================================================================= #
90
+ # === gold
91
+ # ========================================================================= #
92
+ def gold(i = '')
93
+ return ::Colours.gold(i)
94
+ end
95
+
96
+ # ========================================================================= #
97
+ # === lightblue
98
+ # ========================================================================= #
99
+ def lightblue(i = '')
100
+ return ::Colours.lightblue(i)
101
+ end
102
+
103
+ # ========================================================================= #
104
+ # === report_left_right
105
+ # ========================================================================= #
106
+ def report_left_right(
107
+ left = program_name?,
108
+ right = program_version?,
109
+ colour_for_the_left_side = ::EnvironmentInformation.colour_for_the_left_side,
110
+ colour_for_the_right_side = ::EnvironmentInformation.colour_for_the_right_side,
111
+ colour_for_program_not_found = ::EnvironmentInformation.colour_for_program_not_found,
112
+ use_padding = true
113
+ )
114
+ case colour_for_the_left_side
115
+ # ======================================================================= #
116
+ # === :default_colour
117
+ # ======================================================================= #
118
+ when :default_colour
119
+ colour_for_the_left_side = ::EnvironmentInformation.colour_for_the_left_side
120
+ end
121
+ case colour_for_the_right_side
122
+ # ======================================================================= #
123
+ # === :default_colour
124
+ # ======================================================================= #
125
+ when :default_colour
126
+ colour_for_the_right_side = ::EnvironmentInformation.colour_for_the_right_side
127
+ end
128
+ case colour_for_program_not_found
129
+ # ======================================================================= #
130
+ # === :default_colour
131
+ # ======================================================================= #
132
+ when :default_colour
133
+ colour_for_program_not_found = ::EnvironmentInformation.colour_for_program_not_found
134
+ end
135
+ case right
136
+ when nil
137
+ right = NOT_INSTALLED_OR_NOT_FOUND
138
+ end
139
+ right = right.dup if right.frozen?
140
+ right.strip!
141
+ if right.include? 'not found'
142
+ right = ::EnvironmentInformation.send(
143
+ colour_for_program_not_found, right
144
+ )
145
+ end
146
+ colourized_right_side = ::EnvironmentInformation.send(
147
+ colour_for_the_right_side,
148
+ right
149
+ )
150
+ modified_left = "#{left}:"
151
+ modified_left = modified_left.ljust(32) if use_padding
152
+ e ::EnvironmentInformation.send(
153
+ colour_for_the_left_side,
154
+ modified_left
155
+ )+
156
+ " #{colourized_right_side}"
157
+ end
158
+
159
+ end; end
@@ -0,0 +1,187 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/class/add.rb'
6
+ # =========================================================================== #
7
+ require 'environment_information/base/base.rb'
8
+
9
+ module EnvironmentInformation
10
+
11
+ class EnvironmentInformation < ::EnvironmentInformation::Base # === EnvironmentInformation::EnvironmentInformation
12
+
13
+ # ========================================================================= #
14
+ # === add (add tag)
15
+ #
16
+ # This method can be used to add individual entries to the main array
17
+ # called @array_report_these_programs.
18
+ #
19
+ # The format for add() contains only one component, which appears on
20
+ # the left side, and denotes the name of the program or component
21
+ # that we wish to query, such as "php" or "ruby" and so forth.
22
+ #
23
+ # Some Symbols will be used as a "pointer" towards an Array of
24
+ # registered programs.
25
+ #
26
+ # Note that (1) will be converted into a Symbol if it is a String.
27
+ #
28
+ # If the second entry (2) is nil, then the version will be inferred
29
+ # at "runtime" within the method display(). Otherwise display()
30
+ # will simply use the passed version (which should be a String in
31
+ # that case, then).
32
+ #
33
+ # Before we can add an entry to the main dataset, we have to check
34
+ # whether it is a registered entry altogether. If it is not
35
+ # registered, the user has to be notified about this fact.
36
+ # This notification will ONLY happen if the associated version is nil;
37
+ # if a specific version is supplied then this method will assume
38
+ # that the program should be displayed anyway.
39
+ #
40
+ # An Array can also be supplied to this method, if necessary.
41
+ # ========================================================================= #
42
+ def add(
43
+ i
44
+ )
45
+ if i.is_a?(String) and i.include?(',')
46
+ # ===================================================================== #
47
+ # Strings containing ',' will be split accordingly.
48
+ # ===================================================================== #
49
+ i = i.split(',')
50
+ elsif i.is_a?(String) and i.include?('-')
51
+ # ===================================================================== #
52
+ # Strings containing '-' will lose that '-'.
53
+ # ===================================================================== #
54
+ i = i.dup if i.frozen?
55
+ i.delete!('-')
56
+ end
57
+ [i].flatten.compact.each {|entry|
58
+ case entry
59
+ # ===================================================================== #
60
+ # === :everything
61
+ #
62
+ # This entry point is meant for simply adding everything.
63
+ # ===================================================================== #
64
+ when :everything
65
+ entry = return_every_registered_component
66
+ # ===================================================================== #
67
+ # === Rubygems installation directory
68
+ # ===================================================================== #
69
+ when :rubygems_installation_directory,
70
+ /^rubygems( |_)?installation( |_)?directory\??$/i
71
+ entry = 'rubygems_installation_directory'
72
+ # ===================================================================== #
73
+ # === cflags
74
+ # ===================================================================== #
75
+ when :cflags,
76
+ /^cflags$/i
77
+ entry = 'CFLAGS in use'
78
+ # ===================================================================== #
79
+ # === screen_resolution
80
+ # ===================================================================== #
81
+ when :screen_resolution,
82
+ /^screen( |_)?resolution$/i
83
+ entry = 'Screen Resolution'
84
+ # ===================================================================== #
85
+ # === ram
86
+ # ===================================================================== #
87
+ when :ram,
88
+ /^ram$/i
89
+ entry = 'RAM'
90
+ # ===================================================================== #
91
+ # === cpuinfo
92
+ # ===================================================================== #
93
+ when :cpuinfo,
94
+ /^cpuinfo$/i
95
+ entry = 'CPU Model'
96
+ # ===================================================================== #
97
+ # === operating_system_bit_type
98
+ # ===================================================================== #
99
+ when :operating_system_bit_type,
100
+ /^operating(_|-)?system(_|-)?bit(_|-)?type$/i
101
+ entry = 'Operating system bit type'
102
+ # ===================================================================== #
103
+ # === :operating_system
104
+ # ===================================================================== #
105
+ when :operating_system,
106
+ /^operating(_|-)?system$/i,
107
+ /^operating(_|-)?system(_|-)?in(_|-)?use$/i
108
+ entry = 'Operating system'
109
+ # ===================================================================== #
110
+ # === cpflags
111
+ # ===================================================================== #
112
+ when /^cflags$/i,
113
+ /^CFLAGS in use$/i
114
+ entry = 'CFLAGS in use'
115
+ # ===================================================================== #
116
+ # === :pkgconfig_entries
117
+ # ===================================================================== #
118
+ when :pkgconfig_entries
119
+ entry = ::EnvironmentInformation.return_pkgconfig_based_programs
120
+ # ===================================================================== #
121
+ # === :all_xorg_components
122
+ # ===================================================================== #
123
+ when :all_xorg_components
124
+ entry = return_all_xorg_components
125
+ # ===================================================================== #
126
+ # === envi --science
127
+ # ===================================================================== #
128
+ when :science_cluster
129
+ entry = ARRAY_SCIENCE_CLUSTER
130
+ # ===================================================================== #
131
+ # === envi --lfs_core_programs
132
+ # ===================================================================== #
133
+ when :lfs,
134
+ :lfs_core_programs
135
+ entry = ::EnvironmentInformation.lfs_core_programs?
136
+ # ===================================================================== #
137
+ # === :linux_kernel
138
+ # ===================================================================== #
139
+ when :linux_kernel
140
+ i = :linux
141
+ # ===================================================================== #
142
+ # === :RAM
143
+ # ===================================================================== #
144
+ when :RAM
145
+ entry = :ram # Just the "alias" to the real entry.
146
+ end
147
+ unless @array_report_these_programs.include? entry
148
+ @array_report_these_programs << entry
149
+ @array_report_these_programs.flatten!
150
+ end
151
+ }
152
+ end; alias update_version_for add # === add
153
+ alias append add # === append
154
+ alias append_this_to_main_string add # === append_this_to_main_string
155
+ alias show_these_entries add # === show_these_entries
156
+ alias set_additional add # === set_additional
157
+
158
+ # ========================================================================= #
159
+ # === add_the_default_programs_on_a_linux_computer
160
+ # ========================================================================= #
161
+ def add_the_default_programs_on_a_linux_computer
162
+ # ======================================================================= #
163
+ # Add the default programs on a linux computer.
164
+ # ======================================================================= #
165
+ add(
166
+ return_default_programs_on_a_linux_computer
167
+ )
168
+ end; alias add_default_linux_programs add_the_default_programs_on_a_linux_computer # === add_default_linux_programs
169
+
170
+ # ========================================================================= #
171
+ # === add_ruby_and_rubygems
172
+ # ========================================================================= #
173
+ def add_ruby_and_rubygems
174
+ add(:ruby)
175
+ add(:rubygems)
176
+ add(:rubygems_installation_directory)
177
+ end
178
+
179
+ # ========================================================================= #
180
+ # === add_this_to_the_toplevel_hash
181
+ # ========================================================================= #
182
+ def add_this_to_the_toplevel_hash(a, b)
183
+ a = a.to_sym unless a.is_a? Symbol
184
+ ::EnvironmentInformation.hash?[a] = b
185
+ end; alias register_onto_the_main_hash add_this_to_the_toplevel_hash # === register_onto_the_main_hash
186
+
187
+ end; end