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,355 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/class/show_display_and_report.rb'
6
+ # =========================================================================== #
7
+ require 'environment_information/base/base.rb'
8
+
9
+ module EnvironmentInformation
10
+
11
+ class EnvironmentInformation < ::EnvironmentInformation::Base # === EnvironmentInformation::EnvironmentInformation
12
+
13
+ require 'environment_information/toplevel_methods/is_on_roebe.rb'
14
+ require 'environment_information/toplevel_methods/return_alias_to.rb'
15
+ begin
16
+ require 'rbt/requires/swift_version.rb'
17
+ rescue LoadError
18
+ if ::EnvironmentInformation.is_on_roebe?
19
+ puts 'The file rbt/toplevel_methods/swift_return_version_of_this_program.rb is not available.'
20
+ end
21
+ end
22
+
23
+ begin
24
+ require 'rbt/toplevel_methods/url.rb'
25
+ rescue LoadError
26
+ if ::EnvironmentInformation.is_on_roebe?
27
+ puts 'The file rbt/toplevel_methods/url.rb is not available.'
28
+ end
29
+ end
30
+
31
+ # ========================================================================= #
32
+ # === show_help?
33
+ # ========================================================================= #
34
+ def show_help?
35
+ @show_help
36
+ end
37
+
38
+ # ========================================================================= #
39
+ # === compare_via_gem_version
40
+ # ========================================================================= #
41
+ def compare_via_gem_version(i)
42
+ begin
43
+ Gem::Version.new(i)
44
+ rescue ArgumentError => error
45
+ e Colours.tomato(error)
46
+ e 'We will continue nonetheless ('+i+')'
47
+ return nil
48
+ end
49
+ end
50
+
51
+ require 'environment_information/toplevel_methods/e.rb'
52
+ # ========================================================================= #
53
+ # === e (e tag)
54
+ #
55
+ # The e() method is the general output-method for this class.
56
+ # ========================================================================= #
57
+ def e(i = '')
58
+ unless @be_silent
59
+ if use_one_line_to_show_the_result? # This will just use "print".
60
+ ::EnvironmentInformation.ee(i)
61
+ else
62
+ ::EnvironmentInformation.e(
63
+ i, display_everything_in_short_format: @display_everything_in_short_format
64
+ )
65
+ end
66
+ end
67
+ end
68
+
69
+ # ========================================================================= #
70
+ # === do_report_the_remote_urls
71
+ #
72
+ # Enable the reporting of the remote URLs, if available.
73
+ # ========================================================================= #
74
+ def do_report_the_remote_urls
75
+ @internal_hash[:report_the_remote_urls] = true
76
+ end
77
+
78
+ # ========================================================================= #
79
+ # === show_the_registered_components
80
+ # ========================================================================= #
81
+ def show_the_registered_components(
82
+ i = tracked_programs?
83
+ )
84
+ e
85
+ e 'The following programs will be tracked:'
86
+ e
87
+ use_one_line_to_show_the_result = use_one_line_to_show_the_result?
88
+ i.each_with_index {|this_program, index| index += 1
89
+ if use_one_line_to_show_the_result
90
+ padded_index = index.to_s+') '
91
+ else
92
+ padded_index = ' '+(index.to_s+') ').rjust(5)
93
+ end
94
+ colourized_and_padded_index = seagreen(padded_index)
95
+ e colourized_and_padded_index+
96
+ steelblue(this_program)
97
+ }
98
+ e
99
+ end
100
+
101
+ # ========================================================================= #
102
+ # === report_version
103
+ # ========================================================================= #
104
+ def report_version
105
+ require 'environment_information/toplevel_methods/menu.rb'
106
+ ::EnvironmentInformation.report_version
107
+ @do_exit_the_program = true
108
+ end
109
+
110
+ # ========================================================================= #
111
+ # === display_these_components?
112
+ #
113
+ # Note that @display_these_components is a Hash.
114
+ # ========================================================================= #
115
+ def display_these_components?
116
+ @array_report_these_programs
117
+ end; alias components? display_these_components? # === components?
118
+ alias main_dataset? display_these_components? # === main_dataset?
119
+ alias main_entry? display_these_components? # === main_entry?
120
+ alias dataset? display_these_components? # === dataset?
121
+ alias result display_these_components? # === result
122
+ alias result? display_these_components? # === result?
123
+ alias display_which_components? display_these_components? # === display_which_components?
124
+ alias array_obtain_these_programs? display_these_components? # === array_obtain_these_programs?
125
+ alias array_with_entries? display_these_components? # === array_with_entries?
126
+ alias main_array? display_these_components? # === main_array?
127
+ alias programs? display_these_components? # === programs?
128
+ alias show_these_components? display_these_components? # === show_these_components?
129
+
130
+ # ========================================================================= #
131
+ # === main_hash?
132
+ # ========================================================================= #
133
+ def main_hash?
134
+ ::EnvironmentInformation.hash?
135
+ end
136
+
137
+ # ========================================================================= #
138
+ # === register_the_available_components_and_show_them_at_once (report tag)
139
+ #
140
+ # This method can be used to register information about the various
141
+ # components. It will also instantly display the component at
142
+ # hand, to avoid "lagging" behaviour on the commandline.
143
+ # ========================================================================= #
144
+ def register_the_available_components_and_show_them_at_once(
145
+ report_these_programs = @array_report_these_programs
146
+ )
147
+ if report_these_programs.empty?
148
+ opn; e 'There are no components that can be displayed.' # And this ends here.
149
+ else
150
+ # ===================================================================== #
151
+ # Always clear the main Array before proceeding here.
152
+ # ===================================================================== #
153
+ clear_missing_components
154
+ toplevel_hash = ::EnvironmentInformation.hash?
155
+ hash_use_this_for_the_query = ::EnvironmentInformation.all_the_queries
156
+ # ===================================================================== #
157
+ # Iterate over the registered programs next.
158
+ # ===================================================================== #
159
+ report_these_programs.each {|this_program|
160
+ # =================================================================== #
161
+ # First, determine the left_side and the right_side.
162
+ # =================================================================== #
163
+ left_side = this_program.to_s.dup
164
+ right_side = nil
165
+ case this_program
166
+ # =================================================================== #
167
+ # === RAM
168
+ # =================================================================== #
169
+ when :ram,
170
+ /^RAM$/i
171
+ right_side = ram?.to_s.dup
172
+ right_side = right_side.dup if right_side.frozen?
173
+ # ================================================================= #
174
+ # Append 'MB RAM' in orange colour next, with some padding.
175
+ # This is just a small visual "enhancement" that I quite like.
176
+ # ================================================================= #
177
+ right_side << orange(' MB RAM')
178
+ # =================================================================== #
179
+ # === Rubygems installation directory
180
+ # =================================================================== #
181
+ when :rubygems_installation_directory,
182
+ /^rubygems( |_)?installation( |_)?directory\??$/i
183
+ right_side = rubygems_installation_directory?
184
+ # =================================================================== #
185
+ # === cflags
186
+ # =================================================================== #
187
+ when :cflags,
188
+ /^cflags$/i,
189
+ /^cflags(_|-| )?in(_|-| )?use$/i
190
+ right_side = cflags_in_use?
191
+ # =================================================================== #
192
+ # === Screen resolution
193
+ #
194
+ # This is a bit "special" in the sense that we will colourize
195
+ # the middle 'x', if found, and if colours are used.
196
+ # =================================================================== #
197
+ when :screen_resolution,
198
+ /^screen( |_)?resolution$/i
199
+ right_side = screen_resolution?
200
+ if right_side.include?('x') and use_colours?
201
+ splitted = right_side.split('x')
202
+ right_side = colourize_this_in_the_right_side_colour(splitted.first)+
203
+ royalblue('x')+
204
+ colourize_this_in_the_right_side_colour(splitted.last)
205
+ end
206
+ # =================================================================== #
207
+ # === CPU Model
208
+ # =================================================================== #
209
+ when /^cpuinfo$/i,
210
+ /^CPU(_|-| )?Model/
211
+ right_side = cpu_model?
212
+ # =================================================================== #
213
+ # === Operating system bit type
214
+ # =================================================================== #
215
+ when /^operating(_|-| )?system(_|-| )?bit(_|-| )?type$/i
216
+ right_side = bit_type?
217
+ # =================================================================== #
218
+ # === Operating system
219
+ # =================================================================== #
220
+ when /^Operating(_|-| )?system$/i,
221
+ :operating_system
222
+ right_side = ::EnvironmentInformation.operating_system
223
+ end
224
+ # =================================================================== #
225
+ # Find the corresponding entry next while including aliases:
226
+ # =================================================================== #
227
+ this_program = this_program.to_sym # These are stored as symbol.
228
+ this_program = ::EnvironmentInformation.return_alias_to(this_program)
229
+ _ = hash_use_this_for_the_query[this_program]
230
+ if hash_use_this_for_the_query.has_key? this_program
231
+ if _.to_s.start_with? 'pkg'
232
+ # =============================================================== #
233
+ # === :pkgconfig
234
+ #
235
+ # This is by far the simplest solution.
236
+ # =============================================================== #
237
+ right_side = @pkg_config_query.return_version_of(this_program)
238
+ add_this_to_the_toplevel_hash(left_side, right_side)
239
+ # ================================================================= #
240
+ # === :version
241
+ #
242
+ # Here we will handle simple versions, e. g. "lftp --version"
243
+ # entries, and similar.
244
+ # ================================================================= #
245
+ elsif _ == :version
246
+ right_side = @simple_version_query.return_version_of(this_program)
247
+ add_this_to_the_toplevel_hash(left_side, right_side)
248
+ else
249
+ # =============================================================== #
250
+ # Else we will pass through class ComplexVersion:
251
+ # =============================================================== #
252
+ right_side = @complex_version_query.return_version_of(this_program)
253
+ add_this_to_the_toplevel_hash(left_side, right_side)
254
+ end
255
+ # =================================================================== #
256
+ # The next clause has been written specifically to allow querying
257
+ # the mate-desktop components.
258
+ # =================================================================== #
259
+ elsif toplevel_hash.has_key?(this_program) and
260
+ toplevel_hash[this_program] # ← This is thus non-nil.
261
+ right_side = toplevel_hash[this_program]
262
+ end
263
+ if right_side.nil?
264
+ register_unavailable_program(this_program)
265
+ end
266
+ # =================================================================== #
267
+ # === @internal_hash[:report_the_remote_urls]
268
+ #
269
+ # Next, honour @internal_hash[:report_the_remote_urls] if it is
270
+ # set to true.
271
+ # =================================================================== #
272
+ if report_the_remote_urls? and
273
+ is_rbt_available? and
274
+ RBT.respond_to?(:remote_url_for?)
275
+ version = ''.dup
276
+ _ = this_program.to_s.delete('-').downcase.strip.to_sym
277
+ if RBT.does_include?(_)
278
+ remote_url = RBT.remote_url_for?(_, :return_as_string)
279
+ if is_a_registered_component? _
280
+ if version.frozen?
281
+ version = version.dup
282
+ end
283
+ version << lightgreen(remote_url)
284
+ if right_side # We can only continue if the program is available.
285
+ # In theory we could show the URL anyway, but for the time
286
+ # being, at the least, we will not show the URL.
287
+ right_side = right_side.dup if right_side.frozen?
288
+ right_side << " #{olive('→')} #{version}"
289
+ end
290
+ end
291
+ end
292
+ end
293
+ # =================================================================== #
294
+ # The next method is defined in base.rb.
295
+ # =================================================================== #
296
+ report_left_right(
297
+ left_side,
298
+ right_side,
299
+ :default_colour,
300
+ :default_colour,
301
+ :default_colour,
302
+ !use_one_line_to_show_the_result?
303
+ )
304
+ # =================================================================== #
305
+ # Next compare the program versions with the local versions.
306
+ # =================================================================== #
307
+ if compare_program_versions? and
308
+ is_rbt_available_and_may_we_try_to_use_rbt? and
309
+ RBT.respond_to?(:swift_return_version_of_this_program) and
310
+ RBT.does_include?(left_side.to_s.strip)
311
+ # ================================================================= #
312
+ # Example:
313
+ #
314
+ # RBT.swift_return_version_of_this_program(:gettext)
315
+ #
316
+ # ================================================================= #
317
+ registered_local_version = RBT.swift_return_version_of_this_program(
318
+ left_side.to_s.strip.to_sym
319
+ ).to_s
320
+ # ================================================================= #
321
+ # We ignore gtk2 when it comes to the version-check.
322
+ # ================================================================= #
323
+ next if this_program == :gtk2
324
+ # ================================================================= #
325
+ # Next use Gem::Version to compare them, but not if the version
326
+ # is nil.
327
+ # ================================================================= #
328
+ unless right_side.nil?
329
+ # =============================================================== #
330
+ # The .delete('v') is specifically for libuv or node.
331
+ # =============================================================== #
332
+ registered_local_version = registered_local_version.to_s.
333
+ delete('v').
334
+ tr('_','.')
335
+ a = compare_via_gem_version(registered_local_version)
336
+ b = compare_via_gem_version(right_side)
337
+ if a and b and (a > b)
338
+ e slateblue(' ^^^^^ This program could be '\
339
+ 'upgraded, to the version ')+
340
+ steelblue(registered_local_version)
341
+ end if registered_local_version =~ /\d+/
342
+ end
343
+ end
344
+ }
345
+ end
346
+ end; alias display register_the_available_components_and_show_them_at_once # === display
347
+ alias report_result register_the_available_components_and_show_them_at_once # === report_result
348
+ alias display_the_components register_the_available_components_and_show_them_at_once # === display_the_components
349
+ alias display_the_dataset register_the_available_components_and_show_them_at_once # === display_the_dataset
350
+ alias work_through_the_programs register_the_available_components_and_show_them_at_once # === work_through_the_programs
351
+ alias build_up_the_main_string register_the_available_components_and_show_them_at_once # === build_up_the_main_string
352
+ alias display_the_main_components register_the_available_components_and_show_them_at_once # === build_up_the_main_string
353
+ alias report register_the_available_components_and_show_them_at_once # === report
354
+
355
+ end; end
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/colours/colours.rb'
6
+ # EnvironmentInformation.colour_for_the_left_side
7
+ # =========================================================================== #
8
+ module EnvironmentInformation
9
+
10
+ require 'environment_information/project/project.rb'
11
+
12
+ # ========================================================================= #
13
+ # First the code here will determine which colours are to be used. If
14
+ # a .yml file can be found as part of this project then it will override
15
+ # the default values given here; otherwise the default values will be
16
+ # used, consequently.
17
+ # ========================================================================= #
18
+
19
+ yaml_file = EnvironmentInformation.project_base_directory?+'yaml/colours.yml'
20
+ if File.exist? yaml_file
21
+ dataset = YAML.load_file(yaml_file) # These should be a Symbol.
22
+ @colour_for_the_left_side = dataset['left_side'].to_sym
23
+ @colour_for_the_right_side = dataset['right_side'].to_sym
24
+ @colour_for_program_not_found = dataset['program_not_found'].to_sym
25
+ else # else use default values here
26
+ # ========================================================================= #
27
+ # === @colour_for_the_left_side
28
+ # ========================================================================= #
29
+ @colour_for_the_left_side = :forestgreen
30
+
31
+ # ========================================================================= #
32
+ # === @colour_for_the_right_side
33
+ # ========================================================================= #
34
+ @colour_for_the_right_side = :steelblue
35
+
36
+ # ========================================================================= #
37
+ # === @colour_for_program_not_found
38
+ # ========================================================================= #
39
+ @colour_for_program_not_found = :lightslategrey
40
+ end
41
+
42
+ begin
43
+ require 'colours'
44
+ # ======================================================================= #
45
+ # === @use_colours
46
+ #
47
+ # By default this project will try to make use of colours. This has
48
+ # be protected by a rescue clause, as not every user may have the
49
+ # gem called "colours" installed.
50
+ # ======================================================================= #
51
+ @use_colours = true
52
+ rescue LoadError
53
+ # ======================================================================= #
54
+ # If the colours-gem is not available then we will not use colours.
55
+ # The user could still overrule this at a later time, though.
56
+ # ======================================================================= #
57
+ @use_colours = false
58
+ end
59
+
60
+ # ========================================================================= #
61
+ # === EnvironmentInformation.colour_for_the_left_side (left tag)
62
+ #
63
+ # This method will return the colour
64
+ #
65
+ # This could also be :limegreen rather than :forestgreen or vice versa.
66
+ # ========================================================================= #
67
+ def self.colour_for_the_left_side
68
+ @colour_for_the_left_side
69
+ end
70
+
71
+ # ========================================================================= #
72
+ # === EnvironmentInformation.colour_for_the_right_side (right tag)
73
+ # ========================================================================= #
74
+ def self.colour_for_the_right_side
75
+ @colour_for_the_right_side
76
+ end
77
+
78
+ # ========================================================================= #
79
+ # === EnvironmentInformation.colour_for_program_not_found
80
+ # ========================================================================= #
81
+ def self.colour_for_program_not_found
82
+ @colour_for_program_not_found
83
+ end
84
+
85
+ # ========================================================================= #
86
+ # === EnvironmentInformation.rev
87
+ # ========================================================================= #
88
+ def self.rev
89
+ return ::Colours.rev if @use_colours
90
+ '' # Else return an empty String.
91
+ end
92
+
93
+ # ========================================================================= #
94
+ # === EnvironmentInformation.use_colours?
95
+ # ========================================================================= #
96
+ def self.use_colours?
97
+ @use_colours
98
+ end
99
+
100
+ # ========================================================================= #
101
+ # === EnvironmentInformation.set_use_colours
102
+ #
103
+ # Determine whether the EnvironmentInformation project will use
104
+ # colours or whether it will not.
105
+ # ========================================================================= #
106
+ def self.set_use_colours(i = true)
107
+ @use_colours = i
108
+ end; self.instance_eval { alias use_colours= set_use_colours } # === EnvironmentInformation.use_colours=
109
+
110
+ # ========================================================================= #
111
+ # === EnvironmentInformation.do_use_colours
112
+ # ========================================================================= #
113
+ def self.do_use_colours
114
+ @use_colours = i
115
+ end
116
+
117
+ # ========================================================================= #
118
+ # === EnvironmentInformation.mediumpurple
119
+ # ========================================================================= #
120
+ def self.mediumpurple(i = '')
121
+ if @use_colours
122
+ return ::Colours.mediumpurple(i)
123
+ end
124
+ return i
125
+ end
126
+
127
+ # ========================================================================= #
128
+ # === EnvironmentInformation.lightslategrey
129
+ # ========================================================================= #
130
+ def self.lightslategrey(i = '')
131
+ if @use_colours
132
+ return ::Colours.lightslategrey(i)
133
+ end
134
+ return i
135
+ end
136
+
137
+ # ========================================================================= #
138
+ # === EnvironmentInformation.tomato
139
+ # ========================================================================= #
140
+ def self.tomato(
141
+ i = '', use_colours = @use_colours
142
+ )
143
+ return ::Colours.tomato(i) if use_colours
144
+ return i
145
+ end
146
+
147
+ # ========================================================================= #
148
+ # === EnvironmentInformation.pink
149
+ # ========================================================================= #
150
+ def self.pink(
151
+ i = '', use_colours = @use_colours
152
+ )
153
+ return ::Colours.pink(i) if use_colours
154
+ return i
155
+ end
156
+
157
+ # ========================================================================= #
158
+ # === EnvironmentInformation.forestgreen
159
+ # ========================================================================= #
160
+ def self.forestgreen(
161
+ i = '', use_colours = @use_colours
162
+ )
163
+ return ::Colours.forestgreen(i) if use_colours
164
+ return i
165
+ end
166
+
167
+ # ========================================================================= #
168
+ # === EnvironmentInformation.lightseagreen
169
+ # ========================================================================= #
170
+ def self.lightseagreen(i = '', use_colours = @use_colours)
171
+ if use_colours
172
+ return ::Colours.lightseagreen(i)
173
+ end
174
+ return i
175
+ end
176
+
177
+ # ========================================================================= #
178
+ # === EnvironmentInformation.steelblue
179
+ # ========================================================================= #
180
+ def self.steelblue(i = '')
181
+ if @use_colours
182
+ return ::Colours.steelblue(i)
183
+ end
184
+ return i
185
+ end
186
+
187
+ # ========================================================================= #
188
+ # === EnvironmentInformation.royalblue
189
+ # ========================================================================= #
190
+ def self.royalblue(
191
+ i = '',
192
+ use_colours = @use_colours
193
+ )
194
+ if use_colours
195
+ return ::Colours.royalblue(i)
196
+ end
197
+ return i
198
+ end
199
+
200
+ # ========================================================================= #
201
+ # === EnvironmentInformation.sfile
202
+ # ========================================================================= #
203
+ def self.sfile(i = '')
204
+ if @use_colours
205
+ ::Colours.sfile(i)
206
+ else
207
+ i
208
+ end
209
+ end
210
+
211
+ end
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/colours/sfancy.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ require 'environment_information/colours/colours.rb'
10
+
11
+ # ========================================================================= #
12
+ # === EnvironmentInformation
13
+ # ========================================================================= #
14
+ def self.sfancy(i = '')
15
+ return ::Colours.sfancy(i) if Object.const_defined? :Colours
16
+ i
17
+ end
18
+
19
+ end
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/colours/simp.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ require 'environment_information/colours/colours.rb'
10
+
11
+ # ========================================================================= #
12
+ # === EnvironmentInformation
13
+ # ========================================================================= #
14
+ def self.simp(i = '')
15
+ return ::Colours.simp(i) if Object.const_defined? :Colours
16
+ i
17
+ end
18
+
19
+ end