generate_rc_file 0.0.17
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.
- checksums.yaml +7 -0
- data/USAGE.md +11 -0
- data/generate_rc_file.gemspec +47 -0
- data/lib/generate_rc_file.rb +1 -0
- data/lib/generate_rc_file/constants.rb +86 -0
- data/lib/generate_rc_file/generate_rc_file.rb +274 -0
- data/lib/generate_rc_file/version/version.rb +14 -0
- metadata +80 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: be06714601a7769a8e1546dfc29574a0a98bacaa20c7d2e36fc07065c3d9e00f
|
4
|
+
data.tar.gz: 90ae2caf6b683250c5a4c86a3095c8ad8b44da9a59144f324c23b21eef7105ff
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0de91c889002b64a3406b829048e8738cf75dfb983b14df5e3f36516d203a5af14c7c598587e095ff7676614f7b8d1aaacef5e4fdfe58092799c5fdf79ecbeb4
|
7
|
+
data.tar.gz: da47f4293c224e59ee0efe445f669f168e9b0f5e3b93b4255410a051a616ef9677839b2cf121f387d888077e5145c0576cbde1bdeb0ebd1d23a2c41ed87e2f14
|
data/USAGE.md
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# Gemspec for Project GenerateRcFile.
|
3
|
+
# =========================================================================== #
|
4
|
+
require 'generate_rc_file/version/version.rb'
|
5
|
+
|
6
|
+
Gem::Specification.new { |s|
|
7
|
+
|
8
|
+
s.name = 'generate_rc_file'
|
9
|
+
s.version = GenerateRcFile::VERSION
|
10
|
+
s.date = Time.now.strftime('%Y-%m-%d')
|
11
|
+
|
12
|
+
s.summary = <<-EOF
|
13
|
+
|
14
|
+
If you have specific suggestions to make this gem more
|
15
|
+
useful for others, please drop me an email at:
|
16
|
+
|
17
|
+
shevegen@gmail.com
|
18
|
+
|
19
|
+
Thank you.
|
20
|
+
|
21
|
+
EOF
|
22
|
+
|
23
|
+
s.description = <<-EOF
|
24
|
+
|
25
|
+
This library is called generate_rc_file.
|
26
|
+
|
27
|
+
EOF
|
28
|
+
|
29
|
+
s.extra_rdoc_files = %w()
|
30
|
+
|
31
|
+
s.authors = ['Robert A. Heiler']
|
32
|
+
s.email = 'shevegen@gmail.com'
|
33
|
+
s.files = Dir['**/*']
|
34
|
+
# s.files << 'README.md'
|
35
|
+
s.files << 'USAGE.md'
|
36
|
+
s.license = 'GPL-2.0'
|
37
|
+
s.homepage = 'https://github.com/shevegen/generate_rc_file'
|
38
|
+
|
39
|
+
s.required_ruby_version = '>= '+RUBY_VERSION
|
40
|
+
s.required_rubygems_version = '>= '+Gem::VERSION
|
41
|
+
s.rubygems_version = '>= '+Gem::VERSION
|
42
|
+
|
43
|
+
# Dependencies for the project:
|
44
|
+
s.add_dependency 'colours'
|
45
|
+
s.add_dependency 'opn'
|
46
|
+
|
47
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'generate_rc_file/generate_rc_file.rb'
|
@@ -0,0 +1,86 @@
|
|
1
|
+
#!/System/Index/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'generate_rc_file/constants.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
class GenerateRcFile
|
8
|
+
|
9
|
+
N = "\n"
|
10
|
+
|
11
|
+
# ========================================================================= #
|
12
|
+
# === ISO_ENCODING
|
13
|
+
# ========================================================================= #
|
14
|
+
ISO_ENCODING = 'ISO-8859-1'
|
15
|
+
|
16
|
+
# ========================================================================= #
|
17
|
+
# === LINUX_YAML
|
18
|
+
# ========================================================================= #
|
19
|
+
if ENV['LINUX_YAML']
|
20
|
+
LINUX_YAML = ENV['LINUX_YAML']+'/' # '/Users/x/DATA/PC/OS/LINUX/YAML/'
|
21
|
+
else
|
22
|
+
LINUX_YAML = '/Users/x/DATA/PC/OS/LINUX/YAML/'
|
23
|
+
end
|
24
|
+
|
25
|
+
# ========================================================================= #
|
26
|
+
# === RCFILE_GENERATOR_YAML_DIRECTORY
|
27
|
+
#
|
28
|
+
# Hardcoded path for now.
|
29
|
+
# ========================================================================= #
|
30
|
+
RCFILE_GENERATOR_YAML_DIRECTORY =
|
31
|
+
'/Users/x/DATA/PROGRAMMING_LANGUAGES/RUBY/src/'\
|
32
|
+
'rcfiles/lib/rcfiles/yaml/'
|
33
|
+
|
34
|
+
# ========================================================================= #
|
35
|
+
# === ARRAY_WHICH_FILES_TO_ALIAS
|
36
|
+
# ========================================================================= #
|
37
|
+
ARRAY_WHICH_FILES_TO_ALIAS = %w(
|
38
|
+
aliases
|
39
|
+
cd_aliases
|
40
|
+
programs_aliases
|
41
|
+
german_umlaute
|
42
|
+
special_aliases
|
43
|
+
) # ^^^ Which files we will alias.
|
44
|
+
|
45
|
+
# ========================================================================= #
|
46
|
+
# === ARRAY_WHICH_FILES_TO_EXPORT
|
47
|
+
# ========================================================================= #
|
48
|
+
ARRAY_WHICH_FILES_TO_EXPORT = %w(
|
49
|
+
compile
|
50
|
+
file_information
|
51
|
+
gnome
|
52
|
+
kde
|
53
|
+
kernel
|
54
|
+
roeberia_settings
|
55
|
+
system_settings
|
56
|
+
video
|
57
|
+
) # ^^^ Which files we will EXPORT.
|
58
|
+
|
59
|
+
# ========================================================================= #
|
60
|
+
# === ARRAY_ALL_FILES
|
61
|
+
# ========================================================================= #
|
62
|
+
ARRAY_ALL_FILES = (
|
63
|
+
ARRAY_WHICH_FILES_TO_ALIAS+ARRAY_WHICH_FILES_TO_EXPORT
|
64
|
+
).flatten
|
65
|
+
|
66
|
+
# ========================================================================= #
|
67
|
+
# === BASE_DIR
|
68
|
+
#
|
69
|
+
# Where to store. The base directory. We need to keep in mind that on
|
70
|
+
# some systems this directory does not exist but also can not be
|
71
|
+
# created, due to lack of permissions, for instance.
|
72
|
+
# ========================================================================= #
|
73
|
+
BASE_DIR = '/AUTOGENERATED/'
|
74
|
+
|
75
|
+
# ========================================================================= #
|
76
|
+
# === HEADER1
|
77
|
+
# ========================================================================= #
|
78
|
+
HEADER1 = '
|
79
|
+
# =========================================================================== #
|
80
|
+
# Automatically generated file at '+Time.now.strftime('%d.%m.%Y')+'
|
81
|
+
# /AUTOGENERATED/'
|
82
|
+
HEADER2 = '# from:
|
83
|
+
# $RSRC/generate_rc_file/lib/generate_rc_file/generate_rc_file.rb
|
84
|
+
# =========================================================================== #'+N+N
|
85
|
+
|
86
|
+
end
|
@@ -0,0 +1,274 @@
|
|
1
|
+
#!/System/Index/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# === GenerateRcFile
|
6
|
+
#
|
7
|
+
# This class will generate a single standalone rc file.
|
8
|
+
# =========================================================================== #
|
9
|
+
require 'opn'
|
10
|
+
begin
|
11
|
+
require 'colours'
|
12
|
+
rescue LoadError; end
|
13
|
+
require 'yaml'
|
14
|
+
require 'fileutils'
|
15
|
+
require 'generate_rc_file/version/version.rb'
|
16
|
+
require 'generate_rc_file/constants.rb'
|
17
|
+
|
18
|
+
class GenerateRcFile # require 'x/tools/generate_rc_file.rb'; GenerateRcFile.new
|
19
|
+
|
20
|
+
include Colours
|
21
|
+
|
22
|
+
attr_accessor :use_putty_style_aliases
|
23
|
+
|
24
|
+
# ========================================================================= #
|
25
|
+
# === initialize
|
26
|
+
# ========================================================================= #
|
27
|
+
def initialize(
|
28
|
+
i = ARGV,
|
29
|
+
run_already = true
|
30
|
+
)
|
31
|
+
reset
|
32
|
+
set_commandline(i)
|
33
|
+
parse_commandline
|
34
|
+
run if run_already
|
35
|
+
end
|
36
|
+
|
37
|
+
# ========================================================================= #
|
38
|
+
# === base_directory?
|
39
|
+
# ========================================================================= #
|
40
|
+
def base_directory?
|
41
|
+
@base_dir
|
42
|
+
end; alias base_dir? base_directory? # === base_dir?
|
43
|
+
|
44
|
+
# ========================================================================= #
|
45
|
+
# === reset
|
46
|
+
# ========================================================================= #
|
47
|
+
def reset
|
48
|
+
set_base_dir(BASE_DIR)
|
49
|
+
@use_putty_style_aliases = false # if true we use putty-style aliases.
|
50
|
+
end
|
51
|
+
|
52
|
+
# ========================================================================= #
|
53
|
+
# === enable_putty_style
|
54
|
+
# ========================================================================= #
|
55
|
+
def enable_putty_style
|
56
|
+
@use_putty_style_aliases = true
|
57
|
+
end
|
58
|
+
|
59
|
+
# ========================================================================= #
|
60
|
+
# === ensure_main_encoding
|
61
|
+
#
|
62
|
+
# Ensure a uniform encoding here.
|
63
|
+
# ========================================================================= #
|
64
|
+
def ensure_main_encoding(
|
65
|
+
i,
|
66
|
+
use_this_encoding = ISO_ENCODING
|
67
|
+
)
|
68
|
+
if i.is_a?(String)
|
69
|
+
i = i.dup if i.frozen?
|
70
|
+
i = i.force_encoding(use_this_encoding)
|
71
|
+
end
|
72
|
+
i
|
73
|
+
end
|
74
|
+
|
75
|
+
# ========================================================================= #
|
76
|
+
# === show_help (help tag)
|
77
|
+
# ========================================================================= #
|
78
|
+
def show_help
|
79
|
+
e
|
80
|
+
e 'You can use another target directory.'
|
81
|
+
e
|
82
|
+
e 'To do this, do:'
|
83
|
+
e
|
84
|
+
e ' generate_rc_file --dir=~/AUTOGENERATED'
|
85
|
+
e
|
86
|
+
end
|
87
|
+
|
88
|
+
# ========================================================================= #
|
89
|
+
# === parse_commandline
|
90
|
+
# ========================================================================= #
|
91
|
+
def parse_commandline(i = @commandline)
|
92
|
+
@commandline.each {|entry|
|
93
|
+
case entry # case tag
|
94
|
+
# ===================================================================== #
|
95
|
+
# === gcfile --dir=~/AUTOGENERATED
|
96
|
+
# ===================================================================== #
|
97
|
+
when /-?-?dir=(.+)/ # See: http://rubular.com/r/kF3uKcOoL9
|
98
|
+
set_base_dir($1.to_s.dup)
|
99
|
+
try_to_create_the_base_directory_if_it_does_not_exist(base_dir?) # Also ensure that the directory exists.
|
100
|
+
# ===================================================================== #
|
101
|
+
# === --help
|
102
|
+
# ===================================================================== #
|
103
|
+
when /-?-?help/i
|
104
|
+
show_help
|
105
|
+
exit
|
106
|
+
end
|
107
|
+
}
|
108
|
+
purge_entries_with_two_hyphens
|
109
|
+
end; alias menu parse_commandline # === menu
|
110
|
+
|
111
|
+
# ========================================================================= #
|
112
|
+
# === purge_entries_with_two_hyphens
|
113
|
+
# ========================================================================= #
|
114
|
+
def purge_entries_with_two_hyphens
|
115
|
+
@commandline.reject! {|entry| entry.to_s.start_with? '--' }
|
116
|
+
end
|
117
|
+
|
118
|
+
# ========================================================================= #
|
119
|
+
# === set_commandline
|
120
|
+
# ========================================================================= #
|
121
|
+
def set_commandline(i)
|
122
|
+
i = [i] unless i.is_a? Array
|
123
|
+
@commandline = i
|
124
|
+
end
|
125
|
+
|
126
|
+
# ========================================================================= #
|
127
|
+
# === set_store_here
|
128
|
+
#
|
129
|
+
# The argument to this method shall always be the absolute path.
|
130
|
+
# ========================================================================= #
|
131
|
+
def set_store_here(i)
|
132
|
+
@store_here = i
|
133
|
+
end
|
134
|
+
|
135
|
+
# ========================================================================= #
|
136
|
+
# === add_header_for
|
137
|
+
#
|
138
|
+
# Use this method if you want to return the default header.
|
139
|
+
# ========================================================================= #
|
140
|
+
def add_header_for(this_file) # Add the default header here.
|
141
|
+
HEADER1+this_file+'_rc'+N+HEADER2
|
142
|
+
end
|
143
|
+
|
144
|
+
# ========================================================================= #
|
145
|
+
# === load_yaml
|
146
|
+
# ========================================================================= #
|
147
|
+
def load_yaml(i) # A simple, failsafe yaml-wrapper.
|
148
|
+
begin
|
149
|
+
YAML.load_file(i)
|
150
|
+
rescue Exception => error
|
151
|
+
opn; e 'We encountered an error in GenerateRCFile, in '\
|
152
|
+
'the method load_yaml():'
|
153
|
+
pp error
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
# ========================================================================= #
|
158
|
+
# === do_generate_the_rc_file
|
159
|
+
# ========================================================================= #
|
160
|
+
def do_generate_the_rc_file(use_this_input = @commandline)
|
161
|
+
if use_this_input.is_a? Array
|
162
|
+
if use_this_input.empty?
|
163
|
+
use_this_input << ARRAY_ALL_FILES # Add all possible rc files here.
|
164
|
+
else
|
165
|
+
case use_this_input
|
166
|
+
when 'all',:all
|
167
|
+
use_this_input << ARRAY_ALL_FILES
|
168
|
+
when 'cd',:cd
|
169
|
+
use_this_input << 'cd_aliases'
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
173
|
+
use_this_input.flatten.each {|generate_this_file|
|
174
|
+
generate_this_file = generate_this_file.to_s # We need a String.
|
175
|
+
full_path_to_the_file = LINUX_YAML+generate_this_file+'.yml'
|
176
|
+
# ===================================================================== #
|
177
|
+
# Next, add some exceptions:
|
178
|
+
# ===================================================================== #
|
179
|
+
if full_path_to_the_file.include? 'aliases.yml'
|
180
|
+
full_path_to_the_file = RCFILE_GENERATOR_YAML_DIRECTORY+'aliases.yml'
|
181
|
+
elsif full_path_to_the_file.include? 'cd_aliases.yml'
|
182
|
+
full_path_to_the_file = RCFILE_GENERATOR_YAML_DIRECTORY+'cd_aliases.yml'
|
183
|
+
elsif full_path_to_the_file.include? 'programs_aliases.yml'
|
184
|
+
full_path_to_the_file = RCFILE_GENERATOR_YAML_DIRECTORY+'programs_aliases.yml'
|
185
|
+
end
|
186
|
+
hash_dataset = load_yaml(full_path_to_the_file)
|
187
|
+
_ = ''.dup
|
188
|
+
_ << add_header_for(generate_this_file) # Add the default header here.
|
189
|
+
# ===================================================================== #
|
190
|
+
# We have to find out whether we will use alias-style or export-style
|
191
|
+
# next. For alias-style, we also may have to use putty-style or
|
192
|
+
# normal-style.
|
193
|
+
# ===================================================================== #
|
194
|
+
if ARRAY_WHICH_FILES_TO_ALIAS.include? generate_this_file
|
195
|
+
# =================================================================== #
|
196
|
+
# Ok, alias-style comes here.
|
197
|
+
# =================================================================== #
|
198
|
+
hash_dataset.each_pair {|key, value|
|
199
|
+
key = ensure_main_encoding(key.to_s)
|
200
|
+
value = ensure_main_encoding(value.to_s).strip
|
201
|
+
if @use_putty_style_aliases
|
202
|
+
_ << "alias "+key.to_s+'="'+value+'"'+N
|
203
|
+
else
|
204
|
+
if value.include? "'" # Need to use another syntax for included ' characters.
|
205
|
+
_ << "alias '#{key}'=\"#{value}\"#{N}"
|
206
|
+
else
|
207
|
+
_ << "alias '#{key}'='#{value}'#{N}"
|
208
|
+
end
|
209
|
+
end
|
210
|
+
}
|
211
|
+
else
|
212
|
+
# =================================================================== #
|
213
|
+
# Ok, in this case we assume export-style.
|
214
|
+
# =================================================================== #
|
215
|
+
hash_dataset.each_pair {|key, value|
|
216
|
+
value = value.to_s
|
217
|
+
_ << "export "+key.to_s+'="'+value+'"'+N
|
218
|
+
}
|
219
|
+
end
|
220
|
+
set_store_here(@base_dir+generate_this_file+'_rc')
|
221
|
+
store_what_where(_, @store_here)
|
222
|
+
}
|
223
|
+
end
|
224
|
+
|
225
|
+
# ========================================================================= #
|
226
|
+
# === set_base_dir
|
227
|
+
# ========================================================================= #
|
228
|
+
def set_base_dir(i = BASE_DIR)
|
229
|
+
i = i.to_s.dup # Work on a "fresh" copy.
|
230
|
+
# ======================================================================= #
|
231
|
+
# Must check if the input contains a ~ character, which is then assumed
|
232
|
+
# to refer to the home dir of the user.
|
233
|
+
# ======================================================================= #
|
234
|
+
if i.include? '~'
|
235
|
+
i = File.expand_path(i)
|
236
|
+
end
|
237
|
+
i << '/' unless i.end_with? '/'
|
238
|
+
@base_dir = i
|
239
|
+
end
|
240
|
+
|
241
|
+
# ========================================================================= #
|
242
|
+
# === try_to_create_the_base_directory_if_it_does_not_exist
|
243
|
+
# ========================================================================= #
|
244
|
+
def try_to_create_the_base_directory_if_it_does_not_exist(i = @base_dir)
|
245
|
+
unless File.directory? i
|
246
|
+
FileUtils.mkdir_p(i) if File.writable?(File.dirname(i))
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
# ========================================================================= #
|
251
|
+
# === store_what_where
|
252
|
+
# ========================================================================= #
|
253
|
+
def store_what_where(
|
254
|
+
what = @_,
|
255
|
+
where = base_directory?+'aliases_rc'
|
256
|
+
) # store what, where.
|
257
|
+
opn; e 'Now storing at `'+sfile(where)+'`.'
|
258
|
+
File.open(where, 'w+') {|f| f.puts what }
|
259
|
+
end
|
260
|
+
|
261
|
+
# ========================================================================= #
|
262
|
+
# === run
|
263
|
+
# ========================================================================= #
|
264
|
+
def run
|
265
|
+
do_generate_the_rc_file
|
266
|
+
end
|
267
|
+
|
268
|
+
end
|
269
|
+
|
270
|
+
if __FILE__ == $PROGRAM_NAME
|
271
|
+
GenerateRcFile.new(ARGV)
|
272
|
+
end # generate_rc_file --help
|
273
|
+
# generate_rc_file all
|
274
|
+
# generate_rc_file cd_aliases
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/System/Index/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'generate_rc_file/version/version.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
class GenerateRcFile
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === GenerateRcFile::VERSION
|
11
|
+
# ========================================================================= #
|
12
|
+
VERSION = '0.0.17'
|
13
|
+
|
14
|
+
end
|
metadata
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: generate_rc_file
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.17
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Robert A. Heiler
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-08-15 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: colours
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: opn
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: |2+
|
42
|
+
|
43
|
+
This library is called generate_rc_file.
|
44
|
+
|
45
|
+
email: shevegen@gmail.com
|
46
|
+
executables: []
|
47
|
+
extensions: []
|
48
|
+
extra_rdoc_files: []
|
49
|
+
files:
|
50
|
+
- USAGE.md
|
51
|
+
- generate_rc_file.gemspec
|
52
|
+
- lib/generate_rc_file.rb
|
53
|
+
- lib/generate_rc_file/constants.rb
|
54
|
+
- lib/generate_rc_file/generate_rc_file.rb
|
55
|
+
- lib/generate_rc_file/version/version.rb
|
56
|
+
homepage: https://github.com/shevegen/generate_rc_file
|
57
|
+
licenses:
|
58
|
+
- GPL-2.0
|
59
|
+
metadata: {}
|
60
|
+
post_install_message:
|
61
|
+
rdoc_options: []
|
62
|
+
require_paths:
|
63
|
+
- lib
|
64
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.6.3
|
69
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 3.0.4
|
74
|
+
requirements: []
|
75
|
+
rubygems_version: 3.0.4
|
76
|
+
signing_key:
|
77
|
+
specification_version: 4
|
78
|
+
summary: 'If you have specific suggestions to make this gem more useful for others,
|
79
|
+
please drop me an email at: shevegen@gmail.com Thank you.'
|
80
|
+
test_files: []
|