rcfiles 1.2.46

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +559 -0
  3. data/bin/rcfiles +12 -0
  4. data/bin/rcfiles_run_it +7 -0
  5. data/doc/README.gen +516 -0
  6. data/img/LOGO_FOR_THE_RCFILES_PROJECT.png +0 -0
  7. data/lib/rcfiles/aggregate_all_rcfiles/aggregate_all_rcfiles.rb +137 -0
  8. data/lib/rcfiles/class/colours.rb +54 -0
  9. data/lib/rcfiles/class/initialize.rb +66 -0
  10. data/lib/rcfiles/class/misc.rb +300 -0
  11. data/lib/rcfiles/class/rcfiles.rb +31 -0
  12. data/lib/rcfiles/class/reset.rb +26 -0
  13. data/lib/rcfiles/class/run.rb +17 -0
  14. data/lib/rcfiles/colours/colours.rb +111 -0
  15. data/lib/rcfiles/commandline/commandline.rb +177 -0
  16. data/lib/rcfiles/constants/constants.rb +253 -0
  17. data/lib/rcfiles/directory_aliases/README.md +2 -0
  18. data/lib/rcfiles/directory_aliases/directory_aliases.rb +647 -0
  19. data/lib/rcfiles/directory_aliases/toplevel_stored_dataset.rb +177 -0
  20. data/lib/rcfiles/directory_aliases/yaml_file_used_by_class_directory_aliases.rb +67 -0
  21. data/lib/rcfiles/files/file_aliases.rb +78 -0
  22. data/lib/rcfiles/files/file_cd_aliases.rb +85 -0
  23. data/lib/rcfiles/files/file_ls_colours.rb +76 -0
  24. data/lib/rcfiles/files/file_path_variable.rb +74 -0
  25. data/lib/rcfiles/files/file_pkgconfig.rb +74 -0
  26. data/lib/rcfiles/files/file_programs_aliases.rb +68 -0
  27. data/lib/rcfiles/files/file_ps1.rb +80 -0
  28. data/lib/rcfiles/files/file_system_settings.rb +66 -0
  29. data/lib/rcfiles/help/help.rb +46 -0
  30. data/lib/rcfiles/no_colours.rb +13 -0
  31. data/lib/rcfiles/project/project.rb +45 -0
  32. data/lib/rcfiles/rcfiles/README.md +5 -0
  33. data/lib/rcfiles/rcfiles/aliases_rc +20431 -0
  34. data/lib/rcfiles/rcfiles/cd_aliases_rc +14980 -0
  35. data/lib/rcfiles/rcfiles/cflags_rc +9 -0
  36. data/lib/rcfiles/rcfiles/compile_rc +11 -0
  37. data/lib/rcfiles/rcfiles/file_information_rc +16 -0
  38. data/lib/rcfiles/rcfiles/gnome_rc +10 -0
  39. data/lib/rcfiles/rcfiles/kde_rc +17 -0
  40. data/lib/rcfiles/rcfiles/kernel_rc +12 -0
  41. data/lib/rcfiles/rcfiles/lang_rc +9 -0
  42. data/lib/rcfiles/rcfiles/ldflags_rc +8 -0
  43. data/lib/rcfiles/rcfiles/ls_colours_rc +9 -0
  44. data/lib/rcfiles/rcfiles/network_rc +37 -0
  45. data/lib/rcfiles/rcfiles/path_variable_rc +9 -0
  46. data/lib/rcfiles/rcfiles/pkgconfig_rc +9 -0
  47. data/lib/rcfiles/rcfiles/programs_aliases_rc +17571 -0
  48. data/lib/rcfiles/rcfiles/ps1_rc +9 -0
  49. data/lib/rcfiles/rcfiles/special_aliases_rc +8 -0
  50. data/lib/rcfiles/rcfiles/system_rc +13 -0
  51. data/lib/rcfiles/rcfiles/system_settings_rc +192 -0
  52. data/lib/rcfiles/rcfiles/term_rc +9 -0
  53. data/lib/rcfiles/rcfiles/video_rc +24 -0
  54. data/lib/rcfiles/requires/require_the_directory_aliases.rb +7 -0
  55. data/lib/rcfiles/requires/require_the_rcfiles_constants.rb +18 -0
  56. data/lib/rcfiles/requires/require_the_rcfiles_project.rb +67 -0
  57. data/lib/rcfiles/requires/try_to_require_syck_and_psych.rb +18 -0
  58. data/lib/rcfiles/toplevel_methods/autogenerate_rc_file_from_this_yaml_file.rb +102 -0
  59. data/lib/rcfiles/toplevel_methods/change_directory.rb +16 -0
  60. data/lib/rcfiles/toplevel_methods/convert.rb +118 -0
  61. data/lib/rcfiles/toplevel_methods/convert_global_variables_in_the_cd_aliases_file_to_a_standalone_yaml_file.rb +50 -0
  62. data/lib/rcfiles/toplevel_methods/create_windows_cd_aliases_bat_file.rb +51 -0
  63. data/lib/rcfiles/toplevel_methods/e.rb +16 -0
  64. data/lib/rcfiles/toplevel_methods/esystem.rb +19 -0
  65. data/lib/rcfiles/toplevel_methods/generate_yaml_files.rb +148 -0
  66. data/lib/rcfiles/toplevel_methods/infer.rb +83 -0
  67. data/lib/rcfiles/toplevel_methods/is_on_roebe.rb +16 -0
  68. data/lib/rcfiles/toplevel_methods/main_directory.rb +108 -0
  69. data/lib/rcfiles/toplevel_methods/misc.rb +341 -0
  70. data/lib/rcfiles/toplevel_methods/n_registered_aliases_in_total.rb +55 -0
  71. data/lib/rcfiles/toplevel_methods/no_file_exists_at.rb +19 -0
  72. data/lib/rcfiles/toplevel_methods/notifications.rb +35 -0
  73. data/lib/rcfiles/toplevel_methods/rds.rb +16 -0
  74. data/lib/rcfiles/toplevel_methods/remove_newlines.rb +29 -0
  75. data/lib/rcfiles/toplevel_methods/report.rb +53 -0
  76. data/lib/rcfiles/toplevel_methods/return_standard_header.rb +36 -0
  77. data/lib/rcfiles/toplevel_methods/run_it.rb +46 -0
  78. data/lib/rcfiles/toplevel_methods/save_file.rb +27 -0
  79. data/lib/rcfiles/toplevel_methods/use_psych_or_syck.rb +50 -0
  80. data/lib/rcfiles/toplevel_methods/use_quotes.rb +68 -0
  81. data/lib/rcfiles/toplevel_methods/verbosity.rb +28 -0
  82. data/lib/rcfiles/version/version.rb +26 -0
  83. data/lib/rcfiles/yaml/aliases.yml +23069 -0
  84. data/lib/rcfiles/yaml/cd_aliases.yml +15699 -0
  85. data/lib/rcfiles/yaml/global_variables/README.md +3 -0
  86. data/lib/rcfiles/yaml/global_variables/global_variables_extracted_from_the_file_cd_aliases.yml +121 -0
  87. data/lib/rcfiles/yaml/ls_colours.yml +128 -0
  88. data/lib/rcfiles/yaml/path_variable.yml +13 -0
  89. data/lib/rcfiles/yaml/pkgconfig.yml +46 -0
  90. data/lib/rcfiles/yaml/programs_aliases.yml +19203 -0
  91. data/lib/rcfiles/yaml/programs_aliases.yml~ +19086 -0
  92. data/lib/rcfiles/yaml/ps1.yml +82 -0
  93. data/lib/rcfiles/yaml/store_into_this_directory.yml +1 -0
  94. data/lib/rcfiles/yaml/system_settings.yml +526 -0
  95. data/lib/rcfiles/yaml/use_psych_or_syck.yml +1 -0
  96. data/lib/rcfiles.rb +1 -0
  97. data/rcfiles.gemspec +57 -0
  98. data/test/testing_directory_aliases.rb +47 -0
  99. data/test/testing_using_another_path_to_directory_aliases.rb +17 -0
  100. data/test/testing_yaml_to_rcfiles.rb +9 -0
  101. metadata +205 -0
@@ -0,0 +1,177 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === Rcfiles.parse_commandline
6
+ #
7
+ # The code in this file here handles commandline-arguments.
8
+ #
9
+ # Usage example:
10
+ #
11
+ # Rcfiles.parse_commandline(ARGV)
12
+ #
13
+ # =========================================================================== #
14
+ # require 'rcfiles/commandline/commandline.rb'
15
+ # =========================================================================== #
16
+ module Rcfiles
17
+
18
+ require 'rcfiles/help/help.rb'
19
+ require 'rcfiles/toplevel_methods/main_directory.rb'
20
+ require 'rcfiles/toplevel_methods/misc.rb'
21
+ require 'rcfiles/toplevel_methods/use_quotes.rb'
22
+ require 'rcfiles/toplevel_methods/create_windows_cd_aliases_bat_file.rb'
23
+
24
+ begin
25
+ require 'opn'
26
+ rescue LoadError; end
27
+
28
+ # ========================================================================= #
29
+ # === Rcfiles.parse_commandline
30
+ # ========================================================================= #
31
+ def self.parse_commandline(
32
+ i = ARGV
33
+ )
34
+ if i.is_a? Array
35
+ if i.empty?
36
+ run_default_action
37
+ elsif i.join(' ').include?('set ')
38
+ i =~ /^-?-?set (.+)$/
39
+ set_store_into_this_directory($1.to_s.dup)
40
+ else
41
+ i.each {|entry| parse_commandline(entry)}
42
+ end
43
+ else
44
+ case i # case tag
45
+ # ===================================================================== #
46
+ # === rcfiles --aggregate
47
+ # ===================================================================== #
48
+ when /^-?-?aggregate$/
49
+ require 'rcfiles/aggregate_all_rcfiles/aggregate_all_rcfiles.rb'
50
+ ::Rcfiles::AggregateAllRcfiles.new
51
+ exit
52
+ # ===================================================================== #
53
+ # === rcfiles --windows-cd-aliases
54
+ # ===================================================================== #
55
+ when /^-?-?windows(-|_)?cd(-|_)?aliases$/
56
+ create_windows_cd_aliases_bat_file
57
+ # ===================================================================== #
58
+ # === rcfiles --help
59
+ # ===================================================================== #
60
+ when /help$/
61
+ show_help
62
+ # ======================================================================= #
63
+ # === rcfiles --set foobar
64
+ #
65
+ # or
66
+ #
67
+ # rcfiles --populate-this-dir=/Depot/Chroot/AUTOGENERATED/
68
+ #
69
+ # ======================================================================= #
70
+ when /^-?-?set (.+)$/,
71
+ /^-?-?populate-this-dir=(.+)$/
72
+ set_store_into_this_directory($1.to_s.dup)
73
+ # ======================================================================= #
74
+ # === rcfiles --copy-rcfiles
75
+ # === rcfiles --copy
76
+ # === rcfiles --cp
77
+ # ======================================================================= #
78
+ when /^-?-?copy(-|_)?rcfiles$/i,
79
+ /^-?-?copy$/i,
80
+ /^-?-?cp$/i
81
+ copy_the_rcfiles
82
+ # ======================================================================= #
83
+ # === rcfiles --n_aliases?
84
+ # ======================================================================= #
85
+ when /^-?-?n(-|_)?aliases\??$/i,
86
+ /^-?-?n(-|_)?entries\??$/i
87
+ show_how_many_aliases_are_registered_in_this_project_in_total
88
+ # ======================================================================= #
89
+ # === rcfiles --aliases
90
+ # ======================================================================= #
91
+ when /^-?-?aliases$/i
92
+ require 'rcfiles/files/file_aliases.rb'
93
+ generate_aliases_rcfile
94
+ # ======================================================================= #
95
+ # === rcfiles --programs-aliases
96
+ # ======================================================================= #
97
+ when /^-?-?programs(_|-)?aliases$/i
98
+ require 'rcfiles/files/file_programs_aliases.rb'
99
+ generate_programs_aliases_rcfile
100
+ # ======================================================================= #
101
+ # === rcfiles --ps1
102
+ # ======================================================================= #
103
+ when /^-?-?ps1$/i
104
+ require 'rcfiles/files/file_ps1.rb'
105
+ generate_ps1_rcfile
106
+ # ======================================================================= #
107
+ # === rcfiles --report
108
+ # ======================================================================= #
109
+ when /^-?-?report$/i
110
+ ::Rcfiles.report
111
+ # ======================================================================= #
112
+ # === rcfiles --utf8
113
+ # ======================================================================= #
114
+ when /^-?-?utf8$/
115
+ opn(namespace: 'Rcfiles')
116
+ e 'Will generate Unicode-conforming (UTF8) yaml files.'
117
+ set_use_this_encoding(:utf8)
118
+ generate_yaml_files
119
+ # ===================================================================== #
120
+ # === rcfiles --no-quotes
121
+ # ===================================================================== #
122
+ when /^-?-?no(-|_)?quotes$/
123
+ disable_quotes_then_generate_the_files
124
+ # ===================================================================== #
125
+ # === rcfiles --directory?
126
+ # ===================================================================== #
127
+ when /^-?-?directory\??$/ # yrcfile --directory?
128
+ e sdir(CREATE_RCFILES_WHERE)
129
+ # ===================================================================== #
130
+ # === rcfiles --cmder-target
131
+ # ===================================================================== #
132
+ when /^-?-?cmder(-|_)?target$/i,
133
+ /^-?-?cmder$/,
134
+ /^-?-?cmd$/
135
+ opn; e 'Generating cmder-conforming rc-files next.'
136
+ disable_quotes_then_generate_the_files
137
+ else # This is the default.
138
+ # =================================================================== #
139
+ # First, handle directly passing existing yaml files into the
140
+ # rcfiles project here.
141
+ #
142
+ # Usage example:
143
+ #
144
+ # rcfiles cd_aliases.yml
145
+ #
146
+ # =================================================================== #
147
+ if File.exist?(i) and
148
+ (File.extname(i).delete('.') == 'yml')
149
+ autogenerate_rc_file_from_this_yaml_file(i)
150
+ # =================================================================== #
151
+ # Else, autogenerate all the various rc-files.
152
+ # =================================================================== #
153
+ else
154
+ run_default_action # === rcfiles
155
+ end
156
+ end
157
+ end
158
+ end; self.instance_eval { alias menu parse_commandline } # === Rcfiles.menu
159
+ self.instance_eval { alias handle_commandline parse_commandline } # === Rcfiles.handle_commandline
160
+
161
+ # ========================================================================= #
162
+ # === Rcfiles.show_how_many_aliases_are_registered_in_this_project_in_total
163
+ #
164
+ # To run this method, try:
165
+ #
166
+ # rcfiles --n_aliases?
167
+ #
168
+ # ========================================================================= #
169
+ def self.show_how_many_aliases_are_registered_in_this_project_in_total
170
+ n_aliases = 0
171
+ n_aliases += YAML.load_file(file_aliases?).keys.size
172
+ n_aliases += YAML.load_file(file_cd_aliases?).keys.size
173
+ n_aliases += YAML.load_file(file_programs_aliases?).keys.size
174
+ e "#{n_aliases} aliases are available in this project."
175
+ end
176
+
177
+ end
@@ -0,0 +1,253 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file contains a few encoding-specific constants as well. That way
6
+ # we can quickly change the main encoding for the rcfiles-gem.
7
+ #
8
+ # This file here also contains some constants that are only useful on my
9
+ # home system, e. g. for my home directory, aka when IS_ROEBE is set to
10
+ # 1 (true).
11
+ #
12
+ # One goal of the rcfiles project is to auto-generate my various
13
+ # shell-rc files, which is why the file here has been added. For other
14
+ # uses this file is evidently not too terribly useful, so it will not
15
+ # be used on these other systems.
16
+ # =========================================================================== #
17
+ # require 'rcfiles/constants/constants.rb'
18
+ # Rcfiles.ensure_main_encoding
19
+ # =========================================================================== #
20
+ module Rcfiles
21
+
22
+ # ========================================================================= #
23
+ # === NAMESPACE
24
+ # ========================================================================= #
25
+ NAMESPACE = inspect
26
+
27
+ require 'rcfiles/project/project.rb'
28
+
29
+ begin
30
+ require 'roebe/project/project.rb'
31
+ rescue LoadError; end
32
+
33
+ # ========================================================================= #
34
+ # === HASH_CUSTOM_FILES
35
+ #
36
+ # The following Hash has two important entries:
37
+ #
38
+ # (1) The file path where the file exists locally
39
+ # (2) How to generate the rc-file at hand, e. g. if it is a file
40
+ # with aliases (then the key :aliases should be used), or
41
+ # whether it is a file that makes use of export-statements
42
+ # (then :export should be used as second value).
43
+ #
44
+ # Do note that the first entry, aka file path, does not necessarily
45
+ # have to be the full path per se. Code has been added to allow
46
+ # me to just give the name, and let ruby search for the local
47
+ # file at hand instead.
48
+ # ========================================================================= #
49
+ HASH_CUSTOM_FILES = {
50
+ # ======================================================================= #
51
+ # Not sure if roeberia should be included. Guess it would have to
52
+ # be changed before it can be included, so it was removed on 10.04.2019
53
+ # 'roeberia_settings.yml' => :export,
54
+ # ======================================================================= #
55
+ # 'special_aliases.yml' => :aliases,
56
+ # ^^^ this was merged back on 04.07.2021 so it is no longer needed here.
57
+ # 'german_umlaute.yml' => :aliases,
58
+ # ^^^ this was merged back on 24.06.2021 because now unicode works
59
+ # properly.
60
+ # 'colours.yml' => :aliases,
61
+ # ^^^ colours.yml is dysfunct since 2018 or so - I am not sure if
62
+ # it will make a comeback.
63
+ Roebe.project_yaml_directory?+'file_information.yml' => :export,
64
+ Roebe.project_yaml_directory?+'gnome/gnome.yml' => :export,
65
+ Roebe.project_yaml_directory?+'kde/kde.yml' => :export,
66
+ Roebe.project_yaml_directory?+'kernel/kernel.yml' => :export,
67
+ Roebe.project_yaml_directory?+'system/system.yml' => :export,
68
+ Roebe.project_yaml_directory?+'compile/compile.yml' => :export,
69
+ '/home/x/data/personal/yaml/network/network.yml' => :export,
70
+ '/home/x/programming/ruby/src/multimedia_paradise/lib/multimedia_paradise/yaml/video/video.yml' => :export,
71
+ # ======================================================================= #
72
+ # Next, entries under individual_environment_variables/
73
+ # ======================================================================= #
74
+ Roebe.project_yaml_directory?+'individual_environment_variables/ldflags.yml' => :export,
75
+ Roebe.project_yaml_directory?+'individual_environment_variables/cflags.yml' => :export,
76
+ Roebe.project_yaml_directory?+'individual_environment_variables/lang.yml' => :export,
77
+ Roebe.project_yaml_directory?+'individual_environment_variables/term.yml' => :export
78
+ } if Object.const_defined?(:Roebe)
79
+
80
+ # ========================================================================= #
81
+ # The following .yml file is special:
82
+ # directory_layout.yml
83
+ # ========================================================================= #
84
+
85
+ # ========================================================================= #
86
+ # === N
87
+ # ========================================================================= #
88
+ N = "\n"
89
+
90
+ # ========================================================================= #
91
+ # === HOME_DIR
92
+ # ========================================================================= #
93
+ HOME_DIR = '/home/'
94
+
95
+ # ========================================================================= #
96
+ # === DIRECTORY_CONTAINING_THE_RC_FILES_ON_MY_HOME_SYSTEM
97
+ #
98
+ # This constant is obviously not so useful for other people - it is
99
+ # for my home system only. The target is, in that case, hardcoded.
100
+ # ========================================================================= #
101
+ DIRECTORY_CONTAINING_THE_RC_FILES_ON_MY_HOME_SYSTEM =
102
+ "#{HOME_DIR}x/DATA/PC/OS/LINUX/yaml/"
103
+
104
+ # ========================================================================= #
105
+ # === LINUX_YAML_BASE_DIRECTORY
106
+ #
107
+ # Simply point to the environment variable $LINUX_YAML.
108
+ #
109
+ # cd $LINUX_YAML
110
+ #
111
+ # ========================================================================= #
112
+ if ENV['LINUX_YAML']
113
+ LINUX_YAML_BASE_DIRECTORY = "#{ENV['LINUX_YAML']}/"
114
+ else
115
+ LINUX_YAML_BASE_DIRECTORY = DIRECTORY_CONTAINING_THE_RC_FILES_ON_MY_HOME_SYSTEM
116
+ end
117
+
118
+ # ========================================================================= #
119
+ # === Rcfiles::FILE_STORE_INTO_THIS_DIRECTORY
120
+ # ========================================================================= #
121
+ FILE_STORE_INTO_THIS_DIRECTORY =
122
+ "#{project_yaml_dir?}store_into_this_directory.yml"
123
+
124
+ # ========================================================================= #
125
+ # === CREATE_RCFILES_WHERE
126
+ #
127
+ # Where to put the RC files by default. Must be a directory. But,
128
+ # we must first check whether the file exists.
129
+ # ========================================================================= #
130
+ _ = FILE_STORE_INTO_THIS_DIRECTORY
131
+ if File.exist? _
132
+ # ======================================================================= #
133
+ # This clause is the default one.
134
+ # ======================================================================= #
135
+ CREATE_RCFILES_WHERE = File.read(_).strip # '/AUTOGENERATED/'
136
+ else
137
+ # ======================================================================= #
138
+ # This one is just a rescued-variant defaulting to the home directory
139
+ # as base-directory.
140
+ # ======================================================================= #
141
+ CREATE_RCFILES_WHERE = File.expand_path('~/AUTOGENERATED/')
142
+ end
143
+
144
+ # ========================================================================= #
145
+ # === RUBY_SRC_DIR_AT_HOME
146
+ # ========================================================================= #
147
+ RUBY_SRC_DIR_AT_HOME =
148
+ "#{HOME_DIR}x/programming/ruby/src/"
149
+
150
+ # ========================================================================= #
151
+ # === UTF_ENCODING
152
+ # ========================================================================= #
153
+ UTF_ENCODING = 'utf-8'
154
+ UTF8_ENCODING = UTF_ENCODING # === UTF8_ENCODING
155
+
156
+ # ========================================================================= #
157
+ # === ISO_ENCODING
158
+ # ========================================================================= #
159
+ ISO_ENCODING = 'ISO-8859-1'
160
+ ENCODING_ISO = ISO_ENCODING # === ENCODING_ISO
161
+
162
+ # ========================================================================= #
163
+ # === MAIN_ENCODING_TO_USE
164
+ #
165
+ # This constant is very important - it denotes which is the main
166
+ # encoding for the rcfiles-project.
167
+ # ========================================================================= #
168
+ MAIN_ENCODING_TO_USE = UTF_ENCODING # === MAIN_ENCODING_TO_USE
169
+ USE_THIS_ENCODING = UTF_ENCODING # === USE_THIS_ENCODING
170
+
171
+ # ========================================================================= #
172
+ # === Rcfiles.set_use_this_encoding
173
+ #
174
+ # This toplevel-method can be used to assign to another encoding
175
+ # set that is to be used.
176
+ # ========================================================================= #
177
+ def self.set_use_this_encoding(
178
+ i = MAIN_ENCODING_TO_USE
179
+ )
180
+ case i
181
+ when :default
182
+ i = MAIN_ENCODING_TO_USE
183
+ when :utf, :utf8
184
+ i = UTF8_ENCODING
185
+ end
186
+ @use_this_encoding = i
187
+ end
188
+
189
+ # ========================================================================= #
190
+ # Initialize it to the default.
191
+ # ========================================================================= #
192
+ set_use_this_encoding(:default)
193
+
194
+ # ========================================================================= #
195
+ # === Rcfiles.use_this_encoding?
196
+ # ========================================================================= #
197
+ def self.use_this_encoding?
198
+ @use_this_encoding
199
+ end; self.instance_eval { alias use_this_encoding use_this_encoding? } # === Rcfiles.use_this_encoding
200
+ self.instance_eval { alias main_encoding? use_this_encoding? } # === Rcfiles.main_encoding?
201
+
202
+ # ========================================================================= #
203
+ # === Rcfiles.ensure_main_encoding
204
+ #
205
+ # The second argument to this method specifies which encoding we will
206
+ # use by default.
207
+ # ========================================================================= #
208
+ def self.ensure_main_encoding(
209
+ i,
210
+ use_this_encoding = @use_this_encoding
211
+ )
212
+ i = i.dup if i.frozen?
213
+ case use_this_encoding
214
+ when :utf,
215
+ :utf8
216
+ use_this_encoding = UTF8_ENCODING
217
+ end
218
+ i = i.dup if i.frozen?
219
+ i.force_encoding(use_this_encoding) # Return this value here.
220
+ end; self.instance_eval { alias ensure_proper_encoding_for ensure_main_encoding } # === Rcfiles.ensure_proper_encoding_for
221
+
222
+ # ========================================================================= #
223
+ # === FILE_ROEBERIA_SETTINGS
224
+ #
225
+ # The next constant is only useful on my home setup:
226
+ # ========================================================================= #
227
+ FILE_ROEBERIA_SETTINGS =
228
+ "/home/x/data/personal/yaml/roeberia_settings.yml"
229
+
230
+ # ========================================================================= #
231
+ # === Rcfiles.file_global_variables
232
+ #
233
+ # On my home system, in May 2022, this method yielded the following
234
+ # String:
235
+ #
236
+ # /usr/lib/ruby/site_ruby/3.1.0/rcfiles/yaml/global_variables/global_variables_extracted_from_the_file_cd_aliases.yml
237
+ #
238
+ # ========================================================================= #
239
+ def self.file_global_variables
240
+ "#{project_yaml_directory?}"\
241
+ "global_variables/global_variables_extracted_from_the_file_cd_aliases.yml"
242
+ end
243
+
244
+ end
245
+
246
+ if __FILE__ == $PROGRAM_NAME
247
+ alias e puts
248
+ e '='*80
249
+ p Rcfiles.constants.sort
250
+ e '='*80
251
+ pp Rcfiles::HASH_CUSTOM_FILES
252
+ e '='*80
253
+ end
@@ -0,0 +1,2 @@
1
+ This class was created on the 03.05.2022, as replacement to
2
+ the old (and "aging") class called ExpandCdAliases.