environment_information 1.4.124 → 1.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +91 -15
- data/doc/README.gen +42 -14
- data/doc/todo/TODO_FOR_THE_ENVIRONMENT_INFORMATION_PROJECT.md +16 -12
- data/lib/environment_information/base/base.rb +483 -99
- data/lib/environment_information/colours/colours.rb +92 -66
- data/lib/environment_information/commandline/commandline.rb +137 -0
- data/lib/environment_information/constants/constants.rb +372 -11
- data/lib/environment_information/project/project.rb +1 -1
- data/lib/environment_information/query/constants.rb +46 -0
- data/lib/environment_information/query/help.rb +88 -0
- data/lib/environment_information/query/menu.rb +487 -0
- data/lib/environment_information/query/misc.rb +2006 -0
- data/lib/environment_information/query/query.rb +245 -0
- data/lib/environment_information/query/reset.rb +202 -0
- data/lib/environment_information/query/run.rb +70 -0
- data/lib/environment_information/requires/require_the_environment_information_project.rb +2 -7
- data/lib/environment_information/requires/require_the_toplevel_methods.rb +1 -3
- data/lib/environment_information/toplevel_methods/toplevel_methods.rb +2258 -0
- data/lib/environment_information/version/version.rb +2 -2
- data/lib/environment_information/www/sinatra_interface.rb +20 -17
- data/lib/environment_information/www/webobject_interface.cgi +6 -7
- data/lib/environment_information/yaml/colours.yml +3 -3
- data/lib/environment_information/yaml/query_to_use_for_all_components.yml +284 -0
- data/lib/environment_information/yaml/{array_tracked_programs.yml → track_these_components.yml} +77 -11
- metadata +18 -60
- data/lib/environment_information/class/class.rb +0 -2580
- data/lib/environment_information/class/colours.rb +0 -282
- data/lib/environment_information/colours/sfancy.rb +0 -19
- data/lib/environment_information/colours/simp.rb +0 -19
- data/lib/environment_information/constants/array_tracked_components.rb +0 -210
- data/lib/environment_information/constants/encoding.rb +0 -21
- data/lib/environment_information/constants/error_line.rb +0 -17
- data/lib/environment_information/constants/file_constants.rb +0 -102
- data/lib/environment_information/constants/misc.rb +0 -86
- data/lib/environment_information/constants/namespace.rb +0 -14
- data/lib/environment_information/constants/newline.rb +0 -16
- data/lib/environment_information/constants/regex.rb +0 -30
- data/lib/environment_information/constants/temp_directory.rb +0 -52
- data/lib/environment_information/misc_components/README.md +0 -3
- data/lib/environment_information/misc_components/cflags.rb +0 -36
- data/lib/environment_information/misc_components/cpuinfo.rb +0 -64
- data/lib/environment_information/misc_components/operating_system.rb +0 -54
- data/lib/environment_information/misc_components/operating_system_bit_type.rb +0 -42
- data/lib/environment_information/misc_components/ram.rb +0 -30
- data/lib/environment_information/misc_components/rubygems_installation_directory.rb +0 -54
- data/lib/environment_information/misc_components/screen_resolution.rb +0 -50
- data/lib/environment_information/queries/README.md +0 -2
- data/lib/environment_information/queries/complex_version.rb +0 -273
- data/lib/environment_information/queries/pkg_config.rb +0 -125
- data/lib/environment_information/queries/simple_version.rb +0 -272
- data/lib/environment_information/requires/require_the_individual_misc_components.rb +0 -30
- data/lib/environment_information/toplevel_methods/autogenerate_all_relevant_methods.rb +0 -153
- data/lib/environment_information/toplevel_methods/cd.rb +0 -16
- data/lib/environment_information/toplevel_methods/e.rb +0 -43
- data/lib/environment_information/toplevel_methods/hash.rb +0 -65
- data/lib/environment_information/toplevel_methods/internet_is_available.rb +0 -30
- data/lib/environment_information/toplevel_methods/is_on_roebe.rb +0 -16
- data/lib/environment_information/toplevel_methods/menu.rb +0 -90
- data/lib/environment_information/toplevel_methods/misc.rb +0 -324
- data/lib/environment_information/toplevel_methods/n_subcommands.rb +0 -31
- data/lib/environment_information/toplevel_methods/prefix_to_use.rb +0 -39
- data/lib/environment_information/toplevel_methods/register_this_component_is_missing.rb +0 -61
- data/lib/environment_information/toplevel_methods/remote_url_of_this_program.rb +0 -45
- data/lib/environment_information/toplevel_methods/replay_from_the_stored_file.rb +0 -84
- data/lib/environment_information/toplevel_methods/return_alias_to.rb +0 -30
- data/lib/environment_information/toplevel_methods/return_pkgconfig_based_programs.rb +0 -28
- data/lib/environment_information/toplevel_methods/return_remote_gtk2_version.rb +0 -54
- data/lib/environment_information/toplevel_methods/return_simple_version_based_programs.rb +0 -28
- data/lib/environment_information/toplevel_methods/return_version_of_this_program.rb +0 -182
- data/lib/environment_information/toplevel_methods/show_all_available_components.rb +0 -192
- data/lib/environment_information/toplevel_methods/write_what_into.rb +0 -24
- data/lib/environment_information/yaml/array_default_programs_on_linux.yml +0 -15
- data/lib/environment_information/yaml/array_lfs_core_programs.yml +0 -37
- data/lib/environment_information/yaml/array_science_cluster.yml +0 -12
- data/lib/environment_information/yaml/array_tracked_non_programs.yml +0 -13
- data/lib/environment_information/yaml/array_tracked_xorg_components.yml +0 -37
- data/lib/environment_information/yaml/query_to_use_for_the_individual_components.yml +0 -284
@@ -1,30 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'environment_information/requires/require_the_individual_misc_components.rb'
|
6
|
-
# =========================================================================== #
|
7
|
-
module EnvironmentInformation
|
8
|
-
|
9
|
-
require 'environment_information/constants/array_tracked_components.rb'
|
10
|
-
|
11
|
-
# ========================================================================= #
|
12
|
-
# === EnvironmentInformation.require_all_individual_misc_components
|
13
|
-
#
|
14
|
-
# This method can be used to load all the individual misc-components
|
15
|
-
# that are part of the EnvironmentInformation project.
|
16
|
-
# ========================================================================= #
|
17
|
-
def self.require_all_individual_misc_components
|
18
|
-
|
19
|
-
# ======================================================================= #
|
20
|
-
# Batch-require the components in the misc_components/ directory next:
|
21
|
-
# ======================================================================= #
|
22
|
-
tracked_non_programs?.each {|this_component|
|
23
|
-
require "environment_information/misc_components/#{this_component}.rb"
|
24
|
-
}
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
require_all_individual_misc_components
|
29
|
-
|
30
|
-
end
|
@@ -1,153 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# Code in this file is tasked to autogenerate the relevant methods for use
|
6
|
-
# in the toplevel EnvironmentInformation namespace.
|
7
|
-
# =========================================================================== #
|
8
|
-
# require 'environment_information/toplevel_methods/autogenerate_all_relevant_methods.rb'
|
9
|
-
# =========================================================================== #
|
10
|
-
module EnvironmentInformation
|
11
|
-
|
12
|
-
require 'environment_information/constants/array_tracked_components.rb'
|
13
|
-
require 'environment_information/toplevel_methods/return_version_of_this_program.rb'
|
14
|
-
|
15
|
-
# ========================================================================= #
|
16
|
-
# === EnvironmentInformation.autogenerate_all_relevant_methods
|
17
|
-
#
|
18
|
-
# By default this method will scan for all tracked programs, and
|
19
|
-
# for the xorg-components.
|
20
|
-
# ========================================================================= #
|
21
|
-
def self.autogenerate_all_relevant_methods(
|
22
|
-
i = ARRAY_TRACKED_PROGRAMS+
|
23
|
-
ARRAY_XORG_COMPONENTS
|
24
|
-
)
|
25
|
-
i.flatten!
|
26
|
-
# ======================================================================= #
|
27
|
-
# Add some aliases which will be defined next.
|
28
|
-
# ======================================================================= #
|
29
|
-
hash_aliases = {
|
30
|
-
atk: :libatk, # === EnvironmentInformation.return_version_of_libatk
|
31
|
-
pcre2: :libpcre2, # === EnvironmentInformation.return_version_of_libpcre2
|
32
|
-
pcre: :libpcre, # === EnvironmentInformation.return_version_of_libpcre
|
33
|
-
zlib: :libzlib # === EnvironmentInformation.return_version_of_libzlib
|
34
|
-
}
|
35
|
-
# ======================================================================= #
|
36
|
-
# Iterate over our Array next:
|
37
|
-
# ======================================================================= #
|
38
|
-
i.each {|this_program|
|
39
|
-
case this_program
|
40
|
-
when :kde
|
41
|
-
this_program = :kde_frameworks
|
42
|
-
end
|
43
|
-
self.class.instance_eval {
|
44
|
-
# =================================================================== #
|
45
|
-
# To test this method, try to do:
|
46
|
-
#
|
47
|
-
# EnvironmentInformation.return_version_of_valgrind # => "3.15.0"
|
48
|
-
#
|
49
|
-
# =================================================================== #
|
50
|
-
this_method = "return_version_of_#{this_program}"
|
51
|
-
define_method(this_method) {
|
52
|
-
return_version_of_this_program(this_program)
|
53
|
-
}
|
54
|
-
if hash_aliases.has_key?(this_program)
|
55
|
-
# ================================================================= #
|
56
|
-
# To test this, try:
|
57
|
-
#
|
58
|
-
# EnvironmentInformation.return_version_of_libzlib
|
59
|
-
#
|
60
|
-
# ================================================================= #
|
61
|
-
use_this_as_the_alias_target = "return_version_of_#{hash_aliases[this_program]}"
|
62
|
-
define_method(use_this_as_the_alias_target) {
|
63
|
-
return_version_of_this_program(this_program)
|
64
|
-
}
|
65
|
-
end
|
66
|
-
}
|
67
|
-
}
|
68
|
-
end
|
69
|
-
|
70
|
-
autogenerate_all_relevant_methods # ← And call it at once.
|
71
|
-
|
72
|
-
# ========================================================================= #
|
73
|
-
# And add a few more aliases.
|
74
|
-
# ========================================================================= #
|
75
|
-
self.instance_eval { alias add_xz_information return_version_of_xz } # === EnvironmentInformation.add_xz_information
|
76
|
-
self.instance_eval { alias append_xz_version return_version_of_xz } # === EnvironmentInformation.append_xz_version
|
77
|
-
self.instance_eval { alias return_sed_version return_version_of_sed } # === EnvironmentInformation.return_sed_version
|
78
|
-
self.instance_eval { alias return_version_of_sed? return_version_of_sed } # === EnvironmentInformation.return_version_of_sed?
|
79
|
-
self.instance_eval { alias return_version_of_makeinfo return_version_of_texinfo } # === EnvironmentInformation.return_version_of_makeinfo
|
80
|
-
self.instance_eval { alias xfsprogs? return_version_of_xfsprogs } # === EnvironmentInformation.xfsprogs?
|
81
|
-
self.instance_eval { alias add_xfsprogs_information return_version_of_xfsprogs } # === EnvironmentInformation.add_xfsprogs_information
|
82
|
-
self.instance_eval { alias return_version_of_lftp? return_version_of_lftp } # === EnvironmentInformation.return_version_of_lftp?
|
83
|
-
self.instance_eval { alias add_llvm_information return_version_of_llvm } # === EnvironmentInformation.add_llvm_information
|
84
|
-
self.instance_eval { alias append_llvm_version return_version_of_llvm } # === EnvironmentInformation.append_llvm_version
|
85
|
-
self.instance_eval { alias add_mpc_information return_version_of_mpc } # === EnvironmentInformation.add_mpc_information
|
86
|
-
self.instance_eval { alias append_mpc_version return_version_of_mpc } # === EnvironmentInformation.append_mpc_version
|
87
|
-
self.instance_eval { alias try_to_show_re2c_version return_version_of_re2c } # === EnvironmentInformation.try_to_show_re2c_version
|
88
|
-
self.instance_eval { alias append_re2c_version return_version_of_re2c } # === EnvironmentInformation.append_nasm_version
|
89
|
-
self.instance_eval { alias return_version_of_pkg_config return_version_of_pkgconfig } # === EnvironmentInformation.return_version_of_pkg_config
|
90
|
-
self.instance_eval { alias add_readline_information return_version_of_readline } # === EnvironmentInformation.add_readline_information
|
91
|
-
self.instance_eval { alias append_readline_version return_version_of_readline } # === EnvironmentInformation.add_readline_information
|
92
|
-
self.instance_eval { alias return_version_of_liblibtasn1 return_version_of_libtasn1 } # === EnvironmentInformation.return_version_of_liblibtasn1
|
93
|
-
self.instance_eval { alias return_version_of_liblibtasn return_version_of_libtasn1 } # === EnvironmentInformation.return_version_of_liblibtasn
|
94
|
-
self.instance_eval { alias return_version_of_grep? return_version_of_grep } # === EnvironmentInformation.return_version_of_grep?
|
95
|
-
self.instance_eval { alias return_version_of_intltool? return_version_of_intltool } # === EnvironmentInformation.return_version_of_intltool?
|
96
|
-
self.instance_eval { alias glib? return_version_of_glib } # === EnvironmentInformation.glib?
|
97
|
-
self.instance_eval { alias add_gmp_information return_version_of_gmp } # === EnvironmentInformation.add_gmp_information
|
98
|
-
self.instance_eval { alias append_gmp_version return_version_of_gmp } # === EnvironmentInformation.append_gmp_version
|
99
|
-
self.instance_eval { alias kernel return_version_of_linux } # === EnvironmentInformation.kernel
|
100
|
-
self.instance_eval { alias linux_kernel return_version_of_linux } # === EnvironmentInformation.linux_kernel
|
101
|
-
self.instance_eval { alias linux_kernel? return_version_of_linux } # === EnvironmentInformation.linux_kernel?
|
102
|
-
self.instance_eval { alias return_information_about_the_component_called_linux_kernel return_version_of_linux } # === EnvironmentInformation.return_information_about_the_component_called_linux_kernel
|
103
|
-
self.instance_eval { alias append_kernel_version return_version_of_linux } # === EnvironmentInformation.append_kernel_version
|
104
|
-
self.instance_eval { alias add_kernel_information return_version_of_linux } # === EnvironmentInformation.add_kernel_information
|
105
|
-
self.instance_eval { alias return_version_of_linux_kernel return_version_of_linux } # === EnvironmentInformation.return_version_of_linux_kernel
|
106
|
-
self.instance_eval { alias return_version_of_linux_kernel? return_version_of_linux } # === EnvironmentInformation.return_version_of_linux_kernel?
|
107
|
-
self.instance_eval { alias boost? return_version_of_boost } # === EnvironmentInformation.boost?
|
108
|
-
self.instance_eval { alias return_version_of_boost? return_version_of_boost } # === EnvironmentInformation.return_version_of_boost?
|
109
|
-
self.instance_eval { alias return_version_of_find return_version_of_findutils } # === EnvironmentInformation.return_version_of_find
|
110
|
-
self.instance_eval { alias findutils? return_version_of_findutils } # === EnvironmentInformation.findutils?
|
111
|
-
self.instance_eval { alias awk? return_version_of_gawk } # === EnvironmentInformation.awk?
|
112
|
-
self.instance_eval { alias gawk? return_version_of_gawk } # === EnvironmentInformation.gawk?
|
113
|
-
self.instance_eval { alias return_information_about_the_component_called_awk return_version_of_gawk } # === EnvironmentInformation.return_information_about_the_component_called_awk
|
114
|
-
self.instance_eval { alias return_version_of_awk? return_version_of_gawk } # === EnvironmentInformation.return_version_of_awk?
|
115
|
-
self.instance_eval { alias return_version_of_awk return_version_of_gawk } # === EnvironmentInformation.return_version_of_awk
|
116
|
-
self.instance_eval { alias append_gdkpixbuf_version return_version_of_gdkpixbuf } # === EnvironmentInformation.append_gdkpixbuf_version
|
117
|
-
self.instance_eval { alias glibc? return_version_of_glibc } # === EnvironmentInformation.glibc?
|
118
|
-
self.instance_eval { alias glibc_version? return_version_of_glibc } # === EnvironmentInformation.glibc_version?
|
119
|
-
self.instance_eval { alias return_version_of_glibc? return_version_of_glibc } # === EnvironmentInformation.return_version_of_glibc?
|
120
|
-
self.instance_eval { alias ruby? return_version_of_ruby } # === EnvironmentInformation.ruby?
|
121
|
-
self.instance_eval { alias return_information_about_the_component_called_ruby return_version_of_ruby } # === EnvironmentInformation.return_information_about_the_component_called_ruby
|
122
|
-
self.instance_eval { alias return_version_of_ruby? return_version_of_ruby } # === EnvironmentInformation.return_version_of_ruby?
|
123
|
-
self.instance_eval { alias binutils? return_version_of_binutils } # === EnvironmentInformation.binutils?
|
124
|
-
self.instance_eval { alias return_version_of_binutils? return_version_of_binutils } # === EnvironmentInformation.return_version_of_binutils?
|
125
|
-
self.instance_eval { alias bison? return_version_of_bison } # === EnvironmentInformation.bison?
|
126
|
-
self.instance_eval { alias return_version_of_bison? return_version_of_bison } # === EnvironmentInformation.return_version_of_bison?
|
127
|
-
self.instance_eval { alias return_version_of_flex? return_version_of_flex } # === EnvironmentInformation.return_version_of_flex?
|
128
|
-
self.instance_eval { alias return_version_of_freetype2 return_version_of_freetype } # === EnvironmentInformation.return_version_of_freetype2
|
129
|
-
self.instance_eval { alias evince? return_version_of_evince } # === EnvironmentInformation.evince?
|
130
|
-
self.instance_eval { alias return_version_of_evince? return_version_of_evince } # === EnvironmentInformation.return_version_of_evince?
|
131
|
-
self.instance_eval { alias gcc? return_version_of_gcc } # === EnvironmentInformation.gcc?
|
132
|
-
self.instance_eval { alias return_information_about_the_component_called_gcc return_version_of_gcc } # === EnvironmentInformation.return_information_about_the_component_called_gcc
|
133
|
-
self.instance_eval { alias return_version_of_gcc? return_version_of_gcc } # === EnvironmentInformation.return_version_of_gcc?
|
134
|
-
self.instance_eval { alias return_version_of_R return_version_of_r } # === EnvironmentInformation.return_version_of_R
|
135
|
-
self.instance_eval { alias coreutils? return_version_of_coreutils } # === EnvironmentInformation.coreutils?
|
136
|
-
self.instance_eval { alias return_version_of_coreutils? return_version_of_coreutils } # === EnvironmentInformation.return_version_of_coreutils
|
137
|
-
self.instance_eval { alias return_version_of_diffutils? return_version_of_diffutils } # === EnvironmentInformation.return_version_of_diffutils?
|
138
|
-
self.instance_eval { alias return_version_of_libexempi return_version_of_exempi } # === EnvironmentInformation.return_version_of_libexempi
|
139
|
-
self.instance_eval { alias return_version_of_gpg return_version_of_gnupg } # === EnvironmentInformation.return_version_of_gpg
|
140
|
-
self.instance_eval { alias return_version_of_gnupg? return_version_of_gnupg } # === EnvironmentInformation.return_version_of_gnupg?
|
141
|
-
self.instance_eval { alias return_version_of_bzip return_version_of_bzip2 } # === EnvironmentInformation.return_version_of_bzip
|
142
|
-
self.instance_eval { alias return_version_of_llvm return_version_of_clang } # === EnvironmentInformation.return_version_of_llvm
|
143
|
-
self.instance_eval { alias return_clang_version return_version_of_clang } # === EnvironmentInformation.return_clang_version
|
144
|
-
self.instance_eval { alias kde5? return_version_of_kde_frameworks } # === EnvironmentInformation.kde5?
|
145
|
-
self.instance_eval { alias add_kde5_information return_version_of_kde_frameworks } # === EnvironmentInformation.add_kde5_information
|
146
|
-
self.instance_eval { alias add_kde_information return_version_of_kde_frameworks } # === EnvironmentInformation.add_kde_information
|
147
|
-
self.instance_eval { alias return_information_about_the_component_called_rubygems return_version_of_rubygems } # === EnvironmentInformation.return_information_about_the_component_called_rubygems
|
148
|
-
self.instance_eval { alias rubygems? return_version_of_rubygems } # === EnvironmentInformation.rubygems?
|
149
|
-
self.instance_eval { alias return_version_of_rubygems? return_version_of_rubygems } # === EnvironmentInformation.return_version_of_rubygems?
|
150
|
-
self.instance_eval { alias gtk3? return_version_of_gtk3 } # === EnvironmentInformation.gtk3?
|
151
|
-
self.instance_eval { alias gtk2? return_version_of_gtk2 } # === EnvironmentInformation.gtk2?
|
152
|
-
|
153
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'environment_information/toplevel_methods/cd.rb'
|
6
|
-
# =========================================================================== #
|
7
|
-
module EnvironmentInformation
|
8
|
-
|
9
|
-
# ========================================================================= #
|
10
|
-
# === EnvironmentInformation.cd (cd tag)
|
11
|
-
# ========================================================================= #
|
12
|
-
def self.cd(i)
|
13
|
-
Dir.chdir(i) if File.directory? i
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'environment_information/toplevel_methods/e.rb'
|
6
|
-
# EnvironmentInformation.e
|
7
|
-
# =========================================================================== #
|
8
|
-
module EnvironmentInformation
|
9
|
-
|
10
|
-
# ========================================================================= #
|
11
|
-
# === EnvironmentInformation.e
|
12
|
-
# ========================================================================= #
|
13
|
-
def self.e(
|
14
|
-
i = '', hash = {}
|
15
|
-
)
|
16
|
-
if hash and
|
17
|
-
hash.has_key?(:display_everything_in_short_format) and
|
18
|
-
hash[:display_everything_in_short_format]
|
19
|
-
# ===================================================================== #
|
20
|
-
# Display the results in a single line in this case.
|
21
|
-
# ===================================================================== #
|
22
|
-
print "#{i}, "
|
23
|
-
else
|
24
|
-
puts i
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
# ========================================================================= #
|
29
|
-
# === EnvironmentInformation.ee
|
30
|
-
#
|
31
|
-
# This is simply a wrapper over print, as well as adding a ', ' to that.
|
32
|
-
# ========================================================================= #
|
33
|
-
def self.ee(
|
34
|
-
i = ''
|
35
|
-
)
|
36
|
-
print "#{i}, "
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
if __FILE__ == $PROGRAM_NAME
|
42
|
-
EnvironmentInformation.e('Hello world!')
|
43
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'environment_information/toplevel_methods/hash.rb'
|
6
|
-
# EnvironmentInformation.hash?
|
7
|
-
# =========================================================================== #
|
8
|
-
module EnvironmentInformation
|
9
|
-
|
10
|
-
require 'environment_information/toplevel_methods/register_this_component_is_missing.rb'
|
11
|
-
|
12
|
-
# ========================================================================= #
|
13
|
-
# === @hash_available_programs
|
14
|
-
#
|
15
|
-
# This hash stores the available programs.
|
16
|
-
#
|
17
|
-
# We need to use a Hash, rather than an Array, because we may save
|
18
|
-
# the result into a file, such as a yaml file. It is then more
|
19
|
-
# convenient to have the names of the program appear on the left
|
20
|
-
# side directoy, and the version on the right side.
|
21
|
-
#
|
22
|
-
# This Hash will hold the program name on the left side, and the
|
23
|
-
# program version on the right side. A nil value on the right
|
24
|
-
# side indicates that this program is NOT installed - which
|
25
|
-
# makes this the default value.
|
26
|
-
# ========================================================================= #
|
27
|
-
@hash_available_programs = {}
|
28
|
-
|
29
|
-
# ========================================================================= #
|
30
|
-
# === EnvironmentInformation.hash?
|
31
|
-
#
|
32
|
-
# This method will return the Hash of all available programs.
|
33
|
-
# ========================================================================= #
|
34
|
-
def self.hash?
|
35
|
-
@hash_available_programs
|
36
|
-
end; self.instance_eval { alias hash hash? } # === EnvironmentInformation.hash
|
37
|
-
self.instance_eval { alias dataset? hash? } # === EnvironmentInformation.dataset?
|
38
|
-
|
39
|
-
# ========================================================================= #
|
40
|
-
# === EnvironmentInformation.add_to_hash
|
41
|
-
# ========================================================================= #
|
42
|
-
def self.add_to_hash(a, b)
|
43
|
-
b.strip! if b.is_a? String
|
44
|
-
if b.nil?
|
45
|
-
::EnvironmentInformation.register_this_component_is_missing(a)
|
46
|
-
end
|
47
|
-
@hash_available_programs[a] = b
|
48
|
-
end
|
49
|
-
|
50
|
-
# ========================================================================= #
|
51
|
-
# === EnvironmentInformation.clear_hash
|
52
|
-
#
|
53
|
-
# This method can be used to clear the main (toplevel) Hash.
|
54
|
-
# ========================================================================= #
|
55
|
-
def self.clear_hash
|
56
|
-
@hash_available_programs.clear
|
57
|
-
end; self.instance_eval { alias clear_toplevel_hash clear_hash } # === EnvironmentInformation.clear_toplevel_hash
|
58
|
-
self.instance_eval { alias clear_main_hash clear_hash } # === EnvironmentInformation.clear_main_hash
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
|
63
|
-
if __FILE__ == $PROGRAM_NAME
|
64
|
-
EnvironmentInformation.clear_hash
|
65
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'environment_information/toplevel_methods/internet_is_available.rb'
|
6
|
-
# =========================================================================== #
|
7
|
-
module EnvironmentInformation
|
8
|
-
|
9
|
-
# ========================================================================= #
|
10
|
-
# === EnvironmentInformation.internet_is_available?
|
11
|
-
# ========================================================================= #
|
12
|
-
def self.internet_is_available?
|
13
|
-
require 'resolv'
|
14
|
-
dns_resolver = Resolv::DNS.new
|
15
|
-
begin
|
16
|
-
# ===================================================================== #
|
17
|
-
# The first domain name ever. Will probably not be removed.
|
18
|
-
# ===================================================================== #
|
19
|
-
dns_resolver.getaddress('symbolics.com')
|
20
|
-
return true
|
21
|
-
rescue Resolv::ResolvError => _error
|
22
|
-
return false
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
if __FILE__ == $PROGRAM_NAME
|
29
|
-
puts EnvironmentInformation.internet_is_available?
|
30
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'environment_information/toplevel_methods/is_on_roebe.rb'
|
6
|
-
# =========================================================================== #
|
7
|
-
module EnvironmentInformation
|
8
|
-
|
9
|
-
# ========================================================================= #
|
10
|
-
# === EnvironmentInformation.is_on_roebe?
|
11
|
-
# ========================================================================= #
|
12
|
-
def self.is_on_roebe?
|
13
|
-
ENV['IS_ROEBE'].to_i == 1
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
@@ -1,90 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby -w
|
2
|
-
# Encoding: UTF-8
|
3
|
-
# frozen_string_literal: true
|
4
|
-
# =========================================================================== #
|
5
|
-
# require 'environment_information/toplevel_methods/menu.rb'
|
6
|
-
# =========================================================================== #
|
7
|
-
module EnvironmentInformation
|
8
|
-
|
9
|
-
require 'environment_information/toplevel_methods/e.rb'
|
10
|
-
require 'environment_information/version/version.rb'
|
11
|
-
require 'environment_information/colours/colours.rb'
|
12
|
-
require 'environment_information/colours/simp.rb'
|
13
|
-
require 'environment_information/constants/regex.rb'
|
14
|
-
|
15
|
-
# ========================================================================= #
|
16
|
-
# === EnvironmentInformation.menu
|
17
|
-
# ========================================================================= #
|
18
|
-
def self.menu(
|
19
|
-
i = ARGV
|
20
|
-
)
|
21
|
-
if i.is_a? Array
|
22
|
-
i.each {|entry| menu(entry) }
|
23
|
-
else
|
24
|
-
case i # case tag
|
25
|
-
# ===================================================================== #
|
26
|
-
# === envi --replay
|
27
|
-
#
|
28
|
-
# The replay-functionality can be used to display information
|
29
|
-
# quickly, by reading the dataset from a local file.
|
30
|
-
# ===================================================================== #
|
31
|
-
when /^-?-?replay$/i
|
32
|
-
require 'environment_information/toplevel_methods/replay_from_the_stored_file.rb'
|
33
|
-
replay_from_the_stored_file
|
34
|
-
# ===================================================================== #
|
35
|
-
# === envi --version?
|
36
|
-
# ===================================================================== #
|
37
|
-
when *ARRAY_VERSION
|
38
|
-
report_version
|
39
|
-
# ===================================================================== #
|
40
|
-
# === envi --compare
|
41
|
-
# ===================================================================== #
|
42
|
-
when *ARRAY_COMPARE_PROGRAM_VERSIONS
|
43
|
-
require 'environment_information/toplevel_methods/show_all_available_components.rb'
|
44
|
-
::EnvironmentInformation.show_all_available_components(
|
45
|
-
['--compare-program-versions']
|
46
|
-
)
|
47
|
-
# ===================================================================== #
|
48
|
-
# === envi --gui
|
49
|
-
# ===================================================================== #
|
50
|
-
when /^-?-?gui$/i,
|
51
|
-
/^-?-?gtk$/i,
|
52
|
-
/^-?-?start(-|_)?gtk$/i
|
53
|
-
start_gtk_component
|
54
|
-
else
|
55
|
-
require 'environment_information/toplevel_methods/misc.rb'
|
56
|
-
EnvironmentInformation.test
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
# ========================================================================= #
|
62
|
-
# === EnvironmentInformation.report_version
|
63
|
-
# ========================================================================= #
|
64
|
-
def self.report_version
|
65
|
-
e "#{rev}The version of the EnvironmentInformation project "\
|
66
|
-
"in use is: #{simp(VERSION)}#{rev}"
|
67
|
-
end
|
68
|
-
|
69
|
-
# ========================================================================= #
|
70
|
-
# === EnvironmentInformation.start_gtk_component
|
71
|
-
#
|
72
|
-
# We have to rescue the code so to notify the user what exactly
|
73
|
-
# may have failed.
|
74
|
-
# ========================================================================= #
|
75
|
-
def self.start_gtk_component
|
76
|
-
begin
|
77
|
-
this_file = 'environment_information/gui/gtk3/environment_information.rb'
|
78
|
-
require this_file
|
79
|
-
rescue LoadError => error
|
80
|
-
e "An error happened - file #{sfile(this_file)} could not be found."
|
81
|
-
pp error
|
82
|
-
end
|
83
|
-
::EnvironmentInformation.run_gtk
|
84
|
-
end
|
85
|
-
|
86
|
-
end
|
87
|
-
|
88
|
-
if __FILE__ == $PROGRAM_NAME
|
89
|
-
EnvironmentInformation.menu(ARGV)
|
90
|
-
end # rb menu.rb --version
|