makit 0.0.139 → 0.0.140
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 +4 -4
- data/README.md +41 -41
- data/exe/makit +5 -5
- data/lib/makit/apache.rb +28 -28
- data/lib/makit/auto.rb +48 -48
- data/lib/makit/cli/build_commands.rb +500 -500
- data/lib/makit/cli/generators/base_generator.rb +74 -74
- data/lib/makit/cli/generators/dotnet_generator.rb +50 -50
- data/lib/makit/cli/generators/generator_factory.rb +49 -49
- data/lib/makit/cli/generators/node_generator.rb +50 -50
- data/lib/makit/cli/generators/ruby_generator.rb +77 -77
- data/lib/makit/cli/generators/rust_generator.rb +50 -50
- data/lib/makit/cli/generators/templates/dotnet_templates.rb +167 -167
- data/lib/makit/cli/generators/templates/node_templates.rb +161 -161
- data/lib/makit/cli/generators/templates/ruby/gemfile.rb +26 -26
- data/lib/makit/cli/generators/templates/ruby/gemspec.rb +40 -40
- data/lib/makit/cli/generators/templates/ruby/main_lib.rb +33 -33
- data/lib/makit/cli/generators/templates/ruby/rakefile.rb +35 -35
- data/lib/makit/cli/generators/templates/ruby/readme.rb +63 -63
- data/lib/makit/cli/generators/templates/ruby/test.rb +39 -39
- data/lib/makit/cli/generators/templates/ruby/test_helper.rb +29 -29
- data/lib/makit/cli/generators/templates/ruby/version.rb +29 -29
- data/lib/makit/cli/generators/templates/rust_templates.rb +128 -128
- data/lib/makit/cli/main.rb +69 -67
- data/lib/makit/cli/project_commands.rb +868 -868
- data/lib/makit/cli/repository_commands.rb +661 -661
- data/lib/makit/cli/strategy_commands.rb +51 -0
- data/lib/makit/cli/utility_commands.rb +521 -521
- data/lib/makit/commands/factory.rb +359 -359
- data/lib/makit/commands/middleware/base.rb +73 -73
- data/lib/makit/commands/middleware/cache.rb +248 -248
- data/lib/makit/commands/middleware/command_logger.rb +312 -312
- data/lib/makit/commands/middleware/validator.rb +269 -269
- data/lib/makit/commands/request.rb +316 -316
- data/lib/makit/commands/result.rb +323 -323
- data/lib/makit/commands/runner.rb +385 -385
- data/lib/makit/commands/strategies/base.rb +171 -171
- data/lib/makit/commands/strategies/child_process.rb +1 -1
- data/lib/makit/commands/strategies/synchronous.rb +139 -139
- data/lib/makit/commands.rb +50 -50
- data/lib/makit/configuration/dotnet_project.rb +12 -12
- data/lib/makit/configuration/gitlab_helper.rb +58 -58
- data/lib/makit/configuration/project.rb +168 -168
- data/lib/makit/configuration/rakefile_helper.rb +43 -43
- data/lib/makit/configuration/step.rb +34 -34
- data/lib/makit/configuration/timeout.rb +74 -0
- data/lib/makit/configuration.rb +15 -14
- data/lib/makit/content/default_gitignore.rb +7 -7
- data/lib/makit/content/default_gitignore.txt +225 -225
- data/lib/makit/content/default_rakefile.rb +13 -13
- data/lib/makit/content/gem_rakefile.rb +16 -16
- data/lib/makit/context.rb +1 -1
- data/lib/makit/data.rb +49 -49
- data/lib/makit/directories.rb +140 -140
- data/lib/makit/directory.rb +262 -262
- data/lib/makit/docs/files.rb +89 -89
- data/lib/makit/docs/rake.rb +102 -102
- data/lib/makit/dotnet/cli.rb +69 -69
- data/lib/makit/dotnet/project.rb +217 -217
- data/lib/makit/dotnet/solution.rb +38 -38
- data/lib/makit/dotnet/solution_classlib.rb +239 -239
- data/lib/makit/dotnet/solution_console.rb +264 -264
- data/lib/makit/dotnet/solution_maui.rb +354 -354
- data/lib/makit/dotnet/solution_wasm.rb +275 -275
- data/lib/makit/dotnet/solution_wpf.rb +304 -304
- data/lib/makit/dotnet.rb +102 -102
- data/lib/makit/email.rb +90 -90
- data/lib/makit/environment.rb +142 -142
- data/lib/makit/examples/runner.rb +370 -370
- data/lib/makit/exceptions.rb +45 -45
- data/lib/makit/fileinfo.rb +24 -24
- data/lib/makit/files.rb +43 -43
- data/lib/makit/gems.rb +40 -40
- data/lib/makit/git/cli.rb +54 -54
- data/lib/makit/git/repository.rb +90 -90
- data/lib/makit/git.rb +98 -98
- data/lib/makit/gitlab_runner.rb +59 -59
- data/lib/makit/humanize.rb +137 -137
- data/lib/makit/indexer.rb +47 -47
- data/lib/makit/logging/configuration.rb +308 -308
- data/lib/makit/logging/format_registry.rb +84 -84
- data/lib/makit/logging/formatters/base.rb +39 -39
- data/lib/makit/logging/formatters/console_formatter.rb +140 -140
- data/lib/makit/logging/formatters/json_formatter.rb +65 -65
- data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -71
- data/lib/makit/logging/formatters/text_formatter.rb +64 -64
- data/lib/makit/logging/log_request.rb +119 -119
- data/lib/makit/logging/logger.rb +199 -199
- data/lib/makit/logging/sinks/base.rb +91 -91
- data/lib/makit/logging/sinks/console.rb +72 -72
- data/lib/makit/logging/sinks/file_sink.rb +92 -92
- data/lib/makit/logging/sinks/structured.rb +123 -123
- data/lib/makit/logging/sinks/unified_file_sink.rb +296 -296
- data/lib/makit/logging.rb +565 -565
- data/lib/makit/markdown.rb +75 -75
- data/lib/makit/mp/basic_object_mp.rb +17 -17
- data/lib/makit/mp/command_mp.rb +13 -13
- data/lib/makit/mp/command_request.mp.rb +17 -17
- data/lib/makit/mp/project_mp.rb +199 -199
- data/lib/makit/mp/string_mp.rb +191 -191
- data/lib/makit/nuget.rb +74 -74
- data/lib/makit/port.rb +32 -32
- data/lib/makit/process.rb +163 -163
- data/lib/makit/protoc.rb +107 -107
- data/lib/makit/rake/cli.rb +196 -196
- data/lib/makit/rake.rb +80 -80
- data/lib/makit/ruby/cli.rb +185 -185
- data/lib/makit/ruby.rb +25 -25
- data/lib/makit/secrets.rb +51 -51
- data/lib/makit/serializer.rb +130 -130
- data/lib/makit/services/builder.rb +186 -186
- data/lib/makit/services/error_handler.rb +226 -226
- data/lib/makit/services/repository_manager.rb +231 -231
- data/lib/makit/services/validator.rb +112 -112
- data/lib/makit/setup/classlib.rb +101 -101
- data/lib/makit/setup/gem.rb +268 -268
- data/lib/makit/setup/razorclasslib.rb +101 -101
- data/lib/makit/setup/runner.rb +54 -54
- data/lib/makit/setup.rb +5 -5
- data/lib/makit/show.rb +110 -110
- data/lib/makit/storage.rb +126 -126
- data/lib/makit/symbols.rb +170 -170
- data/lib/makit/task_info.rb +130 -130
- data/lib/makit/tasks/at_exit.rb +15 -15
- data/lib/makit/tasks/build.rb +22 -22
- data/lib/makit/tasks/clean.rb +13 -13
- data/lib/makit/tasks/configure.rb +10 -10
- data/lib/makit/tasks/format.rb +10 -10
- data/lib/makit/tasks/hook_manager.rb +443 -443
- data/lib/makit/tasks/init.rb +49 -49
- data/lib/makit/tasks/integrate.rb +29 -29
- data/lib/makit/tasks/pull_incoming.rb +13 -13
- data/lib/makit/tasks/setup.rb +13 -13
- data/lib/makit/tasks/sync.rb +17 -17
- data/lib/makit/tasks/tag.rb +16 -16
- data/lib/makit/tasks/task_monkey_patch.rb +81 -81
- data/lib/makit/tasks/test.rb +22 -22
- data/lib/makit/tasks/update.rb +18 -18
- data/lib/makit/tasks.rb +20 -20
- data/lib/makit/test_cache.rb +239 -239
- data/lib/makit/tree.rb +37 -37
- data/lib/makit/v1/makit.v1_pb.rb +35 -35
- data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
- data/lib/makit/version.rb +99 -99
- data/lib/makit/version_util.rb +21 -21
- data/lib/makit/wix.rb +95 -95
- data/lib/makit/yaml.rb +29 -29
- data/lib/makit/zip.rb +17 -17
- data/lib/makit copy.rb +44 -44
- data/lib/makit.rb +42 -42
- metadata +2 -1
data/lib/makit/ruby/cli.rb
CHANGED
@@ -1,185 +1,185 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
class Ruby
|
5
|
-
class CLI
|
6
|
-
# Get the current Ruby version using the 'ruby' CLI
|
7
|
-
def self.current_version
|
8
|
-
version_output = `ruby --version 2>/dev/null`.strip
|
9
|
-
raise "Ruby is not installed or not available in PATH" if version_output.empty?
|
10
|
-
|
11
|
-
# Extract version number from output like "ruby 3.2.0p123 (2023-01-01 revision abc123) [x86_64-darwin22]"
|
12
|
-
version_match = version_output.match(/ruby (\d+\.\d+\.\d+)/)
|
13
|
-
if version_match
|
14
|
-
version_match[1]
|
15
|
-
else
|
16
|
-
# Fallback: return the full version string if parsing fails
|
17
|
-
version_output
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
# Get detailed Ruby version information
|
22
|
-
def self.version_info
|
23
|
-
version_output = `ruby --version 2>/dev/null`.strip
|
24
|
-
raise "Ruby is not installed or not available in PATH" if version_output.empty?
|
25
|
-
|
26
|
-
{
|
27
|
-
full_version: version_output,
|
28
|
-
version: current_version,
|
29
|
-
patch_level: extract_patch_level(version_output),
|
30
|
-
release_date: extract_release_date(version_output),
|
31
|
-
platform: extract_platform(version_output),
|
32
|
-
}
|
33
|
-
end
|
34
|
-
|
35
|
-
# Check if Ruby is installed and available
|
36
|
-
def self.installed?
|
37
|
-
system("ruby --version > /dev/null 2>&1")
|
38
|
-
end
|
39
|
-
|
40
|
-
# Get the Ruby executable path
|
41
|
-
def self.executable_path
|
42
|
-
`which ruby 2>/dev/null`.strip
|
43
|
-
end
|
44
|
-
|
45
|
-
# Get Ruby configuration information
|
46
|
-
def self.config
|
47
|
-
return {} unless installed?
|
48
|
-
|
49
|
-
config_output = `ruby -e "puts RbConfig::CONFIG" 2>/dev/null`
|
50
|
-
return {} if config_output.empty?
|
51
|
-
|
52
|
-
config = {}
|
53
|
-
config_output.lines.each do |line|
|
54
|
-
key, value = line.strip.split("=", 2)
|
55
|
-
config[key] = value if key && value
|
56
|
-
end
|
57
|
-
config
|
58
|
-
end
|
59
|
-
|
60
|
-
# Get Ruby platform information
|
61
|
-
def self.platform
|
62
|
-
return nil unless installed?
|
63
|
-
|
64
|
-
`ruby -e "puts RUBY_PLATFORM" 2>/dev/null`.strip
|
65
|
-
end
|
66
|
-
|
67
|
-
# Get Ruby engine information
|
68
|
-
def self.engine
|
69
|
-
return nil unless installed?
|
70
|
-
|
71
|
-
engine_info = `ruby -e "puts RUBY_ENGINE" 2>/dev/null`.strip
|
72
|
-
engine_version = `ruby -e "puts RUBY_ENGINE_VERSION" 2>/dev/null`.strip
|
73
|
-
|
74
|
-
{
|
75
|
-
name: engine_info,
|
76
|
-
version: engine_version,
|
77
|
-
}
|
78
|
-
end
|
79
|
-
|
80
|
-
# Get Ruby installation directory
|
81
|
-
def self.installation_dir
|
82
|
-
return nil unless installed?
|
83
|
-
|
84
|
-
`ruby -e "puts RbConfig::CONFIG['prefix']" 2>/dev/null`.strip
|
85
|
-
end
|
86
|
-
|
87
|
-
# Get Ruby library directories
|
88
|
-
def self.library_dirs
|
89
|
-
return [] unless installed?
|
90
|
-
|
91
|
-
lib_dirs = `ruby -e "puts RbConfig::CONFIG['libdir']" 2>/dev/null`.strip
|
92
|
-
arch_lib_dirs = `ruby -e "puts RbConfig::CONFIG['archdir']" 2>/dev/null`.strip
|
93
|
-
|
94
|
-
[lib_dirs, arch_lib_dirs].compact.uniq
|
95
|
-
end
|
96
|
-
|
97
|
-
# Get Ruby gem directories
|
98
|
-
def self.gem_dirs
|
99
|
-
return [] unless installed?
|
100
|
-
|
101
|
-
gem_dirs_output = `ruby -e "puts Gem.path" 2>/dev/null`
|
102
|
-
return [] if gem_dirs_output.empty?
|
103
|
-
|
104
|
-
gem_dirs_output.strip.split("\n")
|
105
|
-
end
|
106
|
-
|
107
|
-
# Get Ruby load path
|
108
|
-
def self.load_path
|
109
|
-
return [] unless installed?
|
110
|
-
|
111
|
-
load_path_output = `ruby -e "puts $LOAD_PATH" 2>/dev/null`
|
112
|
-
return [] if load_path_output.empty?
|
113
|
-
|
114
|
-
load_path_output.strip.split("\n")
|
115
|
-
end
|
116
|
-
|
117
|
-
# Check if a specific Ruby version is available
|
118
|
-
def self.version_available?(version)
|
119
|
-
return false unless installed?
|
120
|
-
|
121
|
-
current = current_version
|
122
|
-
case version
|
123
|
-
when /^(\d+)\.(\d+)\.(\d+)$/
|
124
|
-
major = ::Regexp.last_match(1).to_i
|
125
|
-
minor = ::Regexp.last_match(2).to_i
|
126
|
-
patch = ::Regexp.last_match(3).to_i
|
127
|
-
current_major, current_minor, current_patch = current.split(".").map(&:to_i)
|
128
|
-
|
129
|
-
if major != current_major
|
130
|
-
major == current_major
|
131
|
-
elsif minor != current_minor
|
132
|
-
minor == current_minor
|
133
|
-
else
|
134
|
-
patch == current_patch
|
135
|
-
end
|
136
|
-
when /^(\d+)\.(\d+)$/
|
137
|
-
major = ::Regexp.last_match(1).to_i
|
138
|
-
minor = ::Regexp.last_match(2).to_i
|
139
|
-
current_major, current_minor = current.split(".").map(&:to_i)
|
140
|
-
major == current_major && minor == current_minor
|
141
|
-
when /^(\d+)$/
|
142
|
-
major = ::Regexp.last_match(1).to_i
|
143
|
-
current_major = current.split(".").first.to_i
|
144
|
-
major == current_major
|
145
|
-
else
|
146
|
-
false
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
# Get Ruby environment summary
|
151
|
-
def self.environment_summary
|
152
|
-
return { error: "Ruby is not installed" } unless installed?
|
153
|
-
|
154
|
-
{
|
155
|
-
version: current_version,
|
156
|
-
full_version: version_info[:full_version],
|
157
|
-
platform: platform,
|
158
|
-
engine: engine,
|
159
|
-
executable_path: executable_path,
|
160
|
-
installation_dir: installation_dir,
|
161
|
-
gem_dirs: gem_dirs,
|
162
|
-
library_dirs: library_dirs,
|
163
|
-
}
|
164
|
-
end
|
165
|
-
|
166
|
-
# Extract patch level from version string
|
167
|
-
def self.extract_patch_level(version_string)
|
168
|
-
match = version_string.match(/p(\d+)/)
|
169
|
-
match ? match[1] : nil
|
170
|
-
end
|
171
|
-
|
172
|
-
# Extract release date from version string
|
173
|
-
def self.extract_release_date(version_string)
|
174
|
-
match = version_string.match(/\((\d{4}-\d{2}-\d{2})/)
|
175
|
-
match ? match[1] : nil
|
176
|
-
end
|
177
|
-
|
178
|
-
# Extract platform from version string
|
179
|
-
def self.extract_platform(version_string)
|
180
|
-
match = version_string.match(/\[([^\]]+)\]/)
|
181
|
-
match ? match[1] : nil
|
182
|
-
end
|
183
|
-
end
|
184
|
-
end
|
185
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
class Ruby
|
5
|
+
class CLI
|
6
|
+
# Get the current Ruby version using the 'ruby' CLI
|
7
|
+
def self.current_version
|
8
|
+
version_output = `ruby --version 2>/dev/null`.strip
|
9
|
+
raise "Ruby is not installed or not available in PATH" if version_output.empty?
|
10
|
+
|
11
|
+
# Extract version number from output like "ruby 3.2.0p123 (2023-01-01 revision abc123) [x86_64-darwin22]"
|
12
|
+
version_match = version_output.match(/ruby (\d+\.\d+\.\d+)/)
|
13
|
+
if version_match
|
14
|
+
version_match[1]
|
15
|
+
else
|
16
|
+
# Fallback: return the full version string if parsing fails
|
17
|
+
version_output
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
# Get detailed Ruby version information
|
22
|
+
def self.version_info
|
23
|
+
version_output = `ruby --version 2>/dev/null`.strip
|
24
|
+
raise "Ruby is not installed or not available in PATH" if version_output.empty?
|
25
|
+
|
26
|
+
{
|
27
|
+
full_version: version_output,
|
28
|
+
version: current_version,
|
29
|
+
patch_level: extract_patch_level(version_output),
|
30
|
+
release_date: extract_release_date(version_output),
|
31
|
+
platform: extract_platform(version_output),
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Check if Ruby is installed and available
|
36
|
+
def self.installed?
|
37
|
+
system("ruby --version > /dev/null 2>&1")
|
38
|
+
end
|
39
|
+
|
40
|
+
# Get the Ruby executable path
|
41
|
+
def self.executable_path
|
42
|
+
`which ruby 2>/dev/null`.strip
|
43
|
+
end
|
44
|
+
|
45
|
+
# Get Ruby configuration information
|
46
|
+
def self.config
|
47
|
+
return {} unless installed?
|
48
|
+
|
49
|
+
config_output = `ruby -e "puts RbConfig::CONFIG" 2>/dev/null`
|
50
|
+
return {} if config_output.empty?
|
51
|
+
|
52
|
+
config = {}
|
53
|
+
config_output.lines.each do |line|
|
54
|
+
key, value = line.strip.split("=", 2)
|
55
|
+
config[key] = value if key && value
|
56
|
+
end
|
57
|
+
config
|
58
|
+
end
|
59
|
+
|
60
|
+
# Get Ruby platform information
|
61
|
+
def self.platform
|
62
|
+
return nil unless installed?
|
63
|
+
|
64
|
+
`ruby -e "puts RUBY_PLATFORM" 2>/dev/null`.strip
|
65
|
+
end
|
66
|
+
|
67
|
+
# Get Ruby engine information
|
68
|
+
def self.engine
|
69
|
+
return nil unless installed?
|
70
|
+
|
71
|
+
engine_info = `ruby -e "puts RUBY_ENGINE" 2>/dev/null`.strip
|
72
|
+
engine_version = `ruby -e "puts RUBY_ENGINE_VERSION" 2>/dev/null`.strip
|
73
|
+
|
74
|
+
{
|
75
|
+
name: engine_info,
|
76
|
+
version: engine_version,
|
77
|
+
}
|
78
|
+
end
|
79
|
+
|
80
|
+
# Get Ruby installation directory
|
81
|
+
def self.installation_dir
|
82
|
+
return nil unless installed?
|
83
|
+
|
84
|
+
`ruby -e "puts RbConfig::CONFIG['prefix']" 2>/dev/null`.strip
|
85
|
+
end
|
86
|
+
|
87
|
+
# Get Ruby library directories
|
88
|
+
def self.library_dirs
|
89
|
+
return [] unless installed?
|
90
|
+
|
91
|
+
lib_dirs = `ruby -e "puts RbConfig::CONFIG['libdir']" 2>/dev/null`.strip
|
92
|
+
arch_lib_dirs = `ruby -e "puts RbConfig::CONFIG['archdir']" 2>/dev/null`.strip
|
93
|
+
|
94
|
+
[lib_dirs, arch_lib_dirs].compact.uniq
|
95
|
+
end
|
96
|
+
|
97
|
+
# Get Ruby gem directories
|
98
|
+
def self.gem_dirs
|
99
|
+
return [] unless installed?
|
100
|
+
|
101
|
+
gem_dirs_output = `ruby -e "puts Gem.path" 2>/dev/null`
|
102
|
+
return [] if gem_dirs_output.empty?
|
103
|
+
|
104
|
+
gem_dirs_output.strip.split("\n")
|
105
|
+
end
|
106
|
+
|
107
|
+
# Get Ruby load path
|
108
|
+
def self.load_path
|
109
|
+
return [] unless installed?
|
110
|
+
|
111
|
+
load_path_output = `ruby -e "puts $LOAD_PATH" 2>/dev/null`
|
112
|
+
return [] if load_path_output.empty?
|
113
|
+
|
114
|
+
load_path_output.strip.split("\n")
|
115
|
+
end
|
116
|
+
|
117
|
+
# Check if a specific Ruby version is available
|
118
|
+
def self.version_available?(version)
|
119
|
+
return false unless installed?
|
120
|
+
|
121
|
+
current = current_version
|
122
|
+
case version
|
123
|
+
when /^(\d+)\.(\d+)\.(\d+)$/
|
124
|
+
major = ::Regexp.last_match(1).to_i
|
125
|
+
minor = ::Regexp.last_match(2).to_i
|
126
|
+
patch = ::Regexp.last_match(3).to_i
|
127
|
+
current_major, current_minor, current_patch = current.split(".").map(&:to_i)
|
128
|
+
|
129
|
+
if major != current_major
|
130
|
+
major == current_major
|
131
|
+
elsif minor != current_minor
|
132
|
+
minor == current_minor
|
133
|
+
else
|
134
|
+
patch == current_patch
|
135
|
+
end
|
136
|
+
when /^(\d+)\.(\d+)$/
|
137
|
+
major = ::Regexp.last_match(1).to_i
|
138
|
+
minor = ::Regexp.last_match(2).to_i
|
139
|
+
current_major, current_minor = current.split(".").map(&:to_i)
|
140
|
+
major == current_major && minor == current_minor
|
141
|
+
when /^(\d+)$/
|
142
|
+
major = ::Regexp.last_match(1).to_i
|
143
|
+
current_major = current.split(".").first.to_i
|
144
|
+
major == current_major
|
145
|
+
else
|
146
|
+
false
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
# Get Ruby environment summary
|
151
|
+
def self.environment_summary
|
152
|
+
return { error: "Ruby is not installed" } unless installed?
|
153
|
+
|
154
|
+
{
|
155
|
+
version: current_version,
|
156
|
+
full_version: version_info[:full_version],
|
157
|
+
platform: platform,
|
158
|
+
engine: engine,
|
159
|
+
executable_path: executable_path,
|
160
|
+
installation_dir: installation_dir,
|
161
|
+
gem_dirs: gem_dirs,
|
162
|
+
library_dirs: library_dirs,
|
163
|
+
}
|
164
|
+
end
|
165
|
+
|
166
|
+
# Extract patch level from version string
|
167
|
+
def self.extract_patch_level(version_string)
|
168
|
+
match = version_string.match(/p(\d+)/)
|
169
|
+
match ? match[1] : nil
|
170
|
+
end
|
171
|
+
|
172
|
+
# Extract release date from version string
|
173
|
+
def self.extract_release_date(version_string)
|
174
|
+
match = version_string.match(/\((\d{4}-\d{2}-\d{2})/)
|
175
|
+
match ? match[1] : nil
|
176
|
+
end
|
177
|
+
|
178
|
+
# Extract platform from version string
|
179
|
+
def self.extract_platform(version_string)
|
180
|
+
match = version_string.match(/\[([^\]]+)\]/)
|
181
|
+
match ? match[1] : nil
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
data/lib/makit/ruby.rb
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative "ruby/cli"
|
4
|
-
|
5
|
-
module Makit
|
6
|
-
class Ruby
|
7
|
-
# Main Ruby module for Makit
|
8
|
-
# Provides Ruby-related functionality and utilities
|
9
|
-
|
10
|
-
# Get current Ruby version (convenience method)
|
11
|
-
def self.version
|
12
|
-
CLI.current_version
|
13
|
-
end
|
14
|
-
|
15
|
-
# Check if Ruby is installed (convenience method)
|
16
|
-
def self.installed?
|
17
|
-
CLI.installed?
|
18
|
-
end
|
19
|
-
|
20
|
-
# Get Ruby environment information (convenience method)
|
21
|
-
def self.info
|
22
|
-
CLI.environment_summary
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "ruby/cli"
|
4
|
+
|
5
|
+
module Makit
|
6
|
+
class Ruby
|
7
|
+
# Main Ruby module for Makit
|
8
|
+
# Provides Ruby-related functionality and utilities
|
9
|
+
|
10
|
+
# Get current Ruby version (convenience method)
|
11
|
+
def self.version
|
12
|
+
CLI.current_version
|
13
|
+
end
|
14
|
+
|
15
|
+
# Check if Ruby is installed (convenience method)
|
16
|
+
def self.installed?
|
17
|
+
CLI.installed?
|
18
|
+
end
|
19
|
+
|
20
|
+
# Get Ruby environment information (convenience method)
|
21
|
+
def self.info
|
22
|
+
CLI.environment_summary
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/makit/secrets.rb
CHANGED
@@ -1,51 +1,51 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
class Secrets
|
5
|
-
def add(key, value)
|
6
|
-
secrets_hash = get_secrets_hash
|
7
|
-
secrets_hash[key] = value
|
8
|
-
save_secrets_hash(secrets_hash)
|
9
|
-
end
|
10
|
-
|
11
|
-
def remove(key)
|
12
|
-
secrets_hash = get_secrets_hash
|
13
|
-
secrets_hash.delete(key)
|
14
|
-
save_secrets_hash(secrets_hash)
|
15
|
-
end
|
16
|
-
|
17
|
-
def has_key?(key)
|
18
|
-
secrets_hash = get_secrets_hash
|
19
|
-
secrets_hash.key?(key)
|
20
|
-
end
|
21
|
-
|
22
|
-
def get(key)
|
23
|
-
secrets_hash = get_secrets_hash
|
24
|
-
secrets_hash[key]
|
25
|
-
end
|
26
|
-
|
27
|
-
def set(key, value)
|
28
|
-
secrets_hash = get_secrets_hash
|
29
|
-
secrets_hash[key] = value
|
30
|
-
save_secrets_hash(secrets_hash)
|
31
|
-
end
|
32
|
-
|
33
|
-
def get_secrets_filename
|
34
|
-
"#{Makit::Directories::ROOT}/secrets.json"
|
35
|
-
end
|
36
|
-
|
37
|
-
def get_secrets_hash
|
38
|
-
secrets_file = get_secrets_filename
|
39
|
-
return {} unless File.exist?(secrets_file)
|
40
|
-
|
41
|
-
text = File.read(secrets_file)
|
42
|
-
JSON.parse(text)
|
43
|
-
end
|
44
|
-
|
45
|
-
def save_secrets_hash(hash)
|
46
|
-
secrets_file = get_secrets_filename
|
47
|
-
# pretty print the hash
|
48
|
-
File.open(secrets_file, "w") { |f| f.puts JSON.pretty_generate(hash) }
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
class Secrets
|
5
|
+
def add(key, value)
|
6
|
+
secrets_hash = get_secrets_hash
|
7
|
+
secrets_hash[key] = value
|
8
|
+
save_secrets_hash(secrets_hash)
|
9
|
+
end
|
10
|
+
|
11
|
+
def remove(key)
|
12
|
+
secrets_hash = get_secrets_hash
|
13
|
+
secrets_hash.delete(key)
|
14
|
+
save_secrets_hash(secrets_hash)
|
15
|
+
end
|
16
|
+
|
17
|
+
def has_key?(key)
|
18
|
+
secrets_hash = get_secrets_hash
|
19
|
+
secrets_hash.key?(key)
|
20
|
+
end
|
21
|
+
|
22
|
+
def get(key)
|
23
|
+
secrets_hash = get_secrets_hash
|
24
|
+
secrets_hash[key]
|
25
|
+
end
|
26
|
+
|
27
|
+
def set(key, value)
|
28
|
+
secrets_hash = get_secrets_hash
|
29
|
+
secrets_hash[key] = value
|
30
|
+
save_secrets_hash(secrets_hash)
|
31
|
+
end
|
32
|
+
|
33
|
+
def get_secrets_filename
|
34
|
+
"#{Makit::Directories::ROOT}/secrets.json"
|
35
|
+
end
|
36
|
+
|
37
|
+
def get_secrets_hash
|
38
|
+
secrets_file = get_secrets_filename
|
39
|
+
return {} unless File.exist?(secrets_file)
|
40
|
+
|
41
|
+
text = File.read(secrets_file)
|
42
|
+
JSON.parse(text)
|
43
|
+
end
|
44
|
+
|
45
|
+
def save_secrets_hash(hash)
|
46
|
+
secrets_file = get_secrets_filename
|
47
|
+
# pretty print the hash
|
48
|
+
File.open(secrets_file, "w") { |f| f.puts JSON.pretty_generate(hash) }
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|