makit 0.0.112 → 0.0.126
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/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 +62 -62
- data/lib/makit/cli/project_commands.rb +868 -868
- data/lib/makit/cli/repository_commands.rb +661 -661
- 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 +311 -320
- data/lib/makit/commands/middleware/validator.rb +269 -269
- data/lib/makit/commands/request.rb +316 -254
- data/lib/makit/commands/result.rb +323 -323
- data/lib/makit/commands/runner.rb +368 -337
- data/lib/makit/commands/strategies/base.rb +171 -160
- data/lib/makit/commands/strategies/synchronous.rb +139 -134
- data/lib/makit/commands.rb +50 -51
- data/lib/makit/configuration/gitlab_helper.rb +58 -60
- data/lib/makit/configuration/project.rb +167 -127
- data/lib/makit/configuration/rakefile_helper.rb +43 -43
- data/lib/makit/configuration/step.rb +34 -34
- data/lib/makit/configuration.rb +14 -14
- data/lib/makit/content/default_gitignore.rb +7 -7
- data/lib/makit/content/default_gitignore.txt +226 -0
- 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 -141
- 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 -65
- data/lib/makit/dotnet/project.rb +217 -153
- 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 -305
- 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 -115
- data/lib/makit/logging/logger.rb +199 -163
- 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 -129
- data/lib/makit/logging/sinks/unified_file_sink.rb +296 -303
- data/lib/makit/logging.rb +565 -530
- 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 -193
- 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 +25 -25
- 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 -229
- data/lib/makit/services/validator.rb +112 -112
- data/lib/makit/setup/classlib.rb +90 -53
- data/lib/makit/setup/gem.rb +268 -263
- data/lib/makit/setup/razorclasslib.rb +91 -0
- data/lib/makit/setup/runner.rb +54 -45
- 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 +128 -128
- data/lib/makit/tasks/at_exit.rb +15 -13
- data/lib/makit/tasks/build.rb +22 -19
- data/lib/makit/tasks/clean.rb +13 -11
- data/lib/makit/tasks/configure.rb +10 -0
- data/lib/makit/tasks/format.rb +10 -0
- data/lib/makit/tasks/hook_manager.rb +391 -393
- data/lib/makit/tasks/init.rb +49 -47
- data/lib/makit/tasks/integrate.rb +29 -17
- data/lib/makit/tasks/pull_incoming.rb +13 -11
- data/lib/makit/tasks/setup.rb +13 -6
- data/lib/makit/tasks/sync.rb +17 -12
- data/lib/makit/tasks/tag.rb +16 -15
- data/lib/makit/tasks/task_monkey_patch.rb +81 -79
- data/lib/makit/tasks/test.rb +22 -0
- data/lib/makit/tasks/update.rb +18 -0
- data/lib/makit/tasks.rb +20 -15
- data/lib/makit/test_cache.rb +239 -239
- data/lib/makit/tree.rb +37 -37
- data/lib/makit/v1/makit.v1_pb.rb +35 -34
- data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
- data/lib/makit/version.rb +5 -5
- 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 +39 -40
- metadata +69 -7
- data/lib/makit/commands/middleware/unified_logger.rb +0 -243
@@ -1,34 +1,34 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
module Configuration
|
5
|
-
# Individual step in a project configuration
|
6
|
-
class Step
|
7
|
-
attr_accessor :name, :description, :commands
|
8
|
-
|
9
|
-
def initialize(name:, description:, commands:)
|
10
|
-
@name = name
|
11
|
-
@description = description
|
12
|
-
@commands = commands.is_a?(Array) ? commands : [commands]
|
13
|
-
|
14
|
-
validate_commands
|
15
|
-
end
|
16
|
-
|
17
|
-
def to_h
|
18
|
-
{
|
19
|
-
name: @name,
|
20
|
-
description: @description,
|
21
|
-
commands: @commands,
|
22
|
-
}
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def validate_commands
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
module Configuration
|
5
|
+
# Individual step in a project configuration
|
6
|
+
class Step
|
7
|
+
attr_accessor :name, :description, :commands
|
8
|
+
|
9
|
+
def initialize(name:, description:, commands:)
|
10
|
+
@name = name
|
11
|
+
@description = description
|
12
|
+
@commands = commands.is_a?(Array) ? commands : [commands]
|
13
|
+
|
14
|
+
validate_commands
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_h
|
18
|
+
{
|
19
|
+
name: @name,
|
20
|
+
description: @description,
|
21
|
+
commands: @commands,
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def validate_commands
|
28
|
+
return if @commands.is_a?(Array) && @commands.all? { |cmd| cmd.is_a?(String) }
|
29
|
+
|
30
|
+
raise ArgumentError, "Commands must be an array of strings"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/makit/configuration.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Load all configuration classes
|
4
|
-
require_relative "configuration/project"
|
5
|
-
require_relative "configuration/step"
|
6
|
-
require_relative "configuration/gitlab_helper"
|
7
|
-
require_relative "configuration/rakefile_helper"
|
8
|
-
|
9
|
-
# Main configuration module that loads all configuration classes
|
10
|
-
module Makit
|
11
|
-
module Configuration
|
12
|
-
# All configuration classes are now loaded above
|
13
|
-
end
|
14
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Load all configuration classes
|
4
|
+
require_relative "configuration/project"
|
5
|
+
require_relative "configuration/step"
|
6
|
+
require_relative "configuration/gitlab_helper"
|
7
|
+
require_relative "configuration/rakefile_helper"
|
8
|
+
|
9
|
+
# Main configuration module that loads all configuration classes
|
10
|
+
module Makit
|
11
|
+
module Configuration
|
12
|
+
# All configuration classes are now loaded above
|
13
|
+
end
|
14
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
module Content
|
5
|
-
GITIGNORE = File.read(File.join(__dir__, "default_gitignore.txt"))
|
6
|
-
end
|
7
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
module Content
|
5
|
+
GITIGNORE = File.read(File.join(__dir__, "default_gitignore.txt"))
|
6
|
+
end
|
7
|
+
end
|
@@ -0,0 +1,226 @@
|
|
1
|
+
# General
|
2
|
+
[Aa]rtifacts/
|
3
|
+
artifacts.zip
|
4
|
+
[Gg]enerated/
|
5
|
+
[Tt]hirdparty/
|
6
|
+
|
7
|
+
# Jekyll
|
8
|
+
_site/
|
9
|
+
|
10
|
+
|
11
|
+
# Ruby
|
12
|
+
*.gem
|
13
|
+
*.rbc
|
14
|
+
/.config
|
15
|
+
/coverage/
|
16
|
+
/InstalledFiles
|
17
|
+
/pkg/
|
18
|
+
/spec/reports/
|
19
|
+
/spec/examples.txt
|
20
|
+
/test/tmp/
|
21
|
+
/test/version_tmp/
|
22
|
+
/tmp/
|
23
|
+
/.yardoc/
|
24
|
+
/_yardoc/
|
25
|
+
/doc/
|
26
|
+
/rdoc/
|
27
|
+
/.bundle/
|
28
|
+
/vendor/bundle
|
29
|
+
/lib/bundler/man/
|
30
|
+
.rvmrc
|
31
|
+
|
32
|
+
# Rust
|
33
|
+
/target/
|
34
|
+
Cargo.lock
|
35
|
+
**/*.rs.bk
|
36
|
+
/target
|
37
|
+
/Cargo.lock
|
38
|
+
|
39
|
+
# DotNet
|
40
|
+
*.rsuser
|
41
|
+
*.suo
|
42
|
+
*.user
|
43
|
+
*.userosscache
|
44
|
+
*.sln.docstates
|
45
|
+
*.txt
|
46
|
+
*.userprefs
|
47
|
+
BenchmarkDotNet.Artifacts/
|
48
|
+
[Dd]ebug/
|
49
|
+
[Dd]ebugPublic/
|
50
|
+
[Rr]elease/
|
51
|
+
[Rr]eleases/
|
52
|
+
x64/
|
53
|
+
x86/
|
54
|
+
[Aa][Rr][Mm]/
|
55
|
+
[Aa][Rr][Mm]64/
|
56
|
+
bld/
|
57
|
+
[Bb]in/
|
58
|
+
[Oo]bj/
|
59
|
+
[Ll]og/
|
60
|
+
[Aa]rtifacts/
|
61
|
+
.vs/
|
62
|
+
Generated\ Files/
|
63
|
+
[Tt]est[Rr]esult*/
|
64
|
+
[Bb]uild[Ll]og.*
|
65
|
+
*.VisualState.xml
|
66
|
+
TestResult.xml
|
67
|
+
[Dd]ebugPS/
|
68
|
+
[Rr]eleasePS/
|
69
|
+
dlldata.c
|
70
|
+
BenchmarkDotNet.Artifacts/
|
71
|
+
|
72
|
+
project.lock.json
|
73
|
+
project.fragment.lock.json
|
74
|
+
artifacts/
|
75
|
+
StyleCopReport.xml
|
76
|
+
*_i.c
|
77
|
+
*_p.c
|
78
|
+
*_h.h
|
79
|
+
*.ilk
|
80
|
+
*.meta
|
81
|
+
*.obj
|
82
|
+
*.iobj
|
83
|
+
*.pch
|
84
|
+
*.pdb
|
85
|
+
*.ipdb
|
86
|
+
*.pgc
|
87
|
+
*.pgd
|
88
|
+
*.rsp
|
89
|
+
*.sbr
|
90
|
+
*.tlb
|
91
|
+
*.tli
|
92
|
+
*.tlh
|
93
|
+
*.tmp
|
94
|
+
*.tmp_proj
|
95
|
+
*_wpftmp.csproj
|
96
|
+
*.log
|
97
|
+
*.vspscc
|
98
|
+
*.vssscc
|
99
|
+
.builds
|
100
|
+
*.pidb
|
101
|
+
*.svclog
|
102
|
+
*.scc
|
103
|
+
_Chutzpah*
|
104
|
+
ipch/
|
105
|
+
*.aps
|
106
|
+
*.ncb
|
107
|
+
*.opendb
|
108
|
+
*.opensdf
|
109
|
+
*.sdf
|
110
|
+
*.cachefile
|
111
|
+
*.VC.db
|
112
|
+
*.VC.VC.opendb
|
113
|
+
*.psess
|
114
|
+
*.vsp
|
115
|
+
*.vspx
|
116
|
+
*.sap
|
117
|
+
*.e2e
|
118
|
+
$tf/
|
119
|
+
*.gpState
|
120
|
+
_ReSharper*/
|
121
|
+
*.[Rr]e[Ss]harper
|
122
|
+
*.DotSettings.user
|
123
|
+
.JustCode
|
124
|
+
_TeamCity*
|
125
|
+
*.dotCover
|
126
|
+
.axoCover/*
|
127
|
+
!.axoCover/settings.json
|
128
|
+
*.coverage
|
129
|
+
*.coveragexml
|
130
|
+
_NCrunch_*
|
131
|
+
.*crunch*.local.xml
|
132
|
+
nCrunchTemp_*
|
133
|
+
*.mm.*
|
134
|
+
AutoTest.Net/
|
135
|
+
.sass-cache/
|
136
|
+
[Ee]xpress/
|
137
|
+
DocProject/buildhelp/
|
138
|
+
DocProject/Help/*.HxT
|
139
|
+
DocProject/Help/*.HxC
|
140
|
+
DocProject/Help/*.hhc
|
141
|
+
DocProject/Help/*.hhk
|
142
|
+
DocProject/Help/*.hhp
|
143
|
+
DocProject/Help/Html2
|
144
|
+
DocProject/Help/html
|
145
|
+
publish/
|
146
|
+
*.[Pp]ublish.xml
|
147
|
+
*.azurePubxml
|
148
|
+
*.pubxml
|
149
|
+
*.publishproj
|
150
|
+
PublishScripts/
|
151
|
+
*.nupkg
|
152
|
+
**/[Pp]ackages/*
|
153
|
+
!**/[Pp]ackages/build/
|
154
|
+
*.nuget.props
|
155
|
+
*.nuget.targets
|
156
|
+
csx/
|
157
|
+
*.build.csdef
|
158
|
+
ecf/
|
159
|
+
rcf/
|
160
|
+
AppPackages/
|
161
|
+
BundleArtifacts/
|
162
|
+
Package.StoreAssociation.xml
|
163
|
+
_pkginfo.txt
|
164
|
+
*.appx
|
165
|
+
*.[Cc]ache
|
166
|
+
# but keep track of directories ending in .cache
|
167
|
+
!*.[Cc]ache/
|
168
|
+
ClientBin/
|
169
|
+
~$*
|
170
|
+
*~
|
171
|
+
*.dbmdl
|
172
|
+
*.dbproj.schemaview
|
173
|
+
*.jfm
|
174
|
+
*.pfx
|
175
|
+
*.publishsettings
|
176
|
+
orleans.codegen.cs
|
177
|
+
**/wwwroot/lib/
|
178
|
+
Generated_Code/
|
179
|
+
_UpgradeReport_Files/
|
180
|
+
Backup*/
|
181
|
+
UpgradeLog*.XML
|
182
|
+
UpgradeLog*.htm
|
183
|
+
ServiceFabricBackup/
|
184
|
+
*.rptproj.bak
|
185
|
+
*.mdf
|
186
|
+
*.ldf
|
187
|
+
*.ndf
|
188
|
+
*.rdl.data
|
189
|
+
*.bim.layout
|
190
|
+
*.bim_*.settings
|
191
|
+
*.rptproj.rsuser
|
192
|
+
FakesAssemblies/
|
193
|
+
*.GhostDoc.xml
|
194
|
+
.ntvs_analysis.dat
|
195
|
+
node_modules/
|
196
|
+
*.plg
|
197
|
+
*.opt
|
198
|
+
*.vbw
|
199
|
+
**/*.HTMLClient/GeneratedArtifacts
|
200
|
+
**/*.DesktopClient/GeneratedArtifacts
|
201
|
+
**/*.DesktopClient/ModelManifest.xml
|
202
|
+
**/*.Server/GeneratedArtifacts
|
203
|
+
**/*.Server/ModelManifest.xml
|
204
|
+
_Pvt_Extensions
|
205
|
+
.paket/paket.exe
|
206
|
+
paket-files/
|
207
|
+
.fake/
|
208
|
+
.idea/
|
209
|
+
*.sln.iml
|
210
|
+
.cr/personal
|
211
|
+
__pycache__/
|
212
|
+
*.pyc
|
213
|
+
tools/**
|
214
|
+
!tools/packages.config
|
215
|
+
*.tss
|
216
|
+
*.jmconfig
|
217
|
+
*.btp.cs
|
218
|
+
*.btm.cs
|
219
|
+
*.odx.cs
|
220
|
+
*.xsd.cs
|
221
|
+
OpenCover/
|
222
|
+
ASALocalRun/
|
223
|
+
*.binlog
|
224
|
+
*.nvuser
|
225
|
+
.mfractor/
|
226
|
+
.localhistory/
|
@@ -1,13 +1,13 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
module Content
|
5
|
-
RAKEFILE = <<~HEREDOC
|
6
|
-
require "makit"
|
7
|
-
|
8
|
-
task :default do
|
9
|
-
end
|
10
|
-
|
11
|
-
HEREDOC
|
12
|
-
end
|
13
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
module Content
|
5
|
+
RAKEFILE = <<~HEREDOC
|
6
|
+
require "makit"
|
7
|
+
|
8
|
+
task :default do
|
9
|
+
end
|
10
|
+
|
11
|
+
HEREDOC
|
12
|
+
end
|
13
|
+
end
|
@@ -1,16 +1,16 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Makit
|
4
|
-
module Content
|
5
|
-
GEM_RAKEFILE = <<~HEREDOC
|
6
|
-
require "bundler/gem_tasks" # for build, install and release tasks
|
7
|
-
require "minitest/test_task"
|
8
|
-
Minitest::TestTask.create
|
9
|
-
require "makit"
|
10
|
-
|
11
|
-
task :default => [:build, :install] do
|
12
|
-
end
|
13
|
-
|
14
|
-
HEREDOC
|
15
|
-
end
|
16
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Makit
|
4
|
+
module Content
|
5
|
+
GEM_RAKEFILE = <<~HEREDOC
|
6
|
+
require "bundler/gem_tasks" # for build, install and release tasks
|
7
|
+
require "minitest/test_task"
|
8
|
+
Minitest::TestTask.create
|
9
|
+
require "makit"
|
10
|
+
|
11
|
+
task :default => [:build, :install] do
|
12
|
+
end
|
13
|
+
|
14
|
+
HEREDOC
|
15
|
+
end
|
16
|
+
end
|
data/lib/makit/context.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
# frozen_string_literal: true
|
1
|
+
# frozen_string_literal: true
|
data/lib/makit/data.rb
CHANGED
@@ -1,49 +1,49 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "digest"
|
4
|
-
# This module provides classes for the Makit gem.
|
5
|
-
module Makit
|
6
|
-
# This class provide methods for managing persistent data for the makit gem
|
7
|
-
class Data
|
8
|
-
attr_accessor :directory, :use_jsonks
|
9
|
-
|
10
|
-
def initialize(attributes = {})
|
11
|
-
@directory = attributes[:directory] || File.join(Dir.home, ".makit")
|
12
|
-
@use_json = false
|
13
|
-
attributes.each do |key, value|
|
14
|
-
instance_variable_set("@#{key}", value) if self.class.method_defined?("#{key}=")
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
# remove all data
|
19
|
-
def clear
|
20
|
-
# remove the data directory
|
21
|
-
FileUtils.rm_rf(@directory)
|
22
|
-
end
|
23
|
-
|
24
|
-
def get_content_id(item)
|
25
|
-
# get the content id for the item
|
26
|
-
bytes_string = item.to_proto.bytes.pack("C*") # Convert the byte array to a string
|
27
|
-
Digest::SHA256.hexdigest(bytes_string)
|
28
|
-
end
|
29
|
-
|
30
|
-
# save the content
|
31
|
-
# data.save_content(git_version)
|
32
|
-
def save(item)
|
33
|
-
content_id = get_content_id(item)
|
34
|
-
# save the content
|
35
|
-
return unless @use_json
|
36
|
-
|
37
|
-
# save the content to a json file
|
38
|
-
File.write(File.join(@directory, "#{content_id}.json"), item.to_json)
|
39
|
-
end
|
40
|
-
|
41
|
-
def get_content(_content_id)
|
42
|
-
nil
|
43
|
-
end
|
44
|
-
|
45
|
-
def self.gem_db_filename
|
46
|
-
File.join(Dir.home, ".makit", "makit.db")
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "digest"
|
4
|
+
# This module provides classes for the Makit gem.
|
5
|
+
module Makit
|
6
|
+
# This class provide methods for managing persistent data for the makit gem
|
7
|
+
class Data
|
8
|
+
attr_accessor :directory, :use_jsonks
|
9
|
+
|
10
|
+
def initialize(attributes = {})
|
11
|
+
@directory = attributes[:directory] || File.join(Dir.home, ".makit")
|
12
|
+
@use_json = false
|
13
|
+
attributes.each do |key, value|
|
14
|
+
instance_variable_set("@#{key}", value) if self.class.method_defined?("#{key}=")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# remove all data
|
19
|
+
def clear
|
20
|
+
# remove the data directory
|
21
|
+
FileUtils.rm_rf(@directory)
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_content_id(item)
|
25
|
+
# get the content id for the item
|
26
|
+
bytes_string = item.to_proto.bytes.pack("C*") # Convert the byte array to a string
|
27
|
+
Digest::SHA256.hexdigest(bytes_string)
|
28
|
+
end
|
29
|
+
|
30
|
+
# save the content
|
31
|
+
# data.save_content(git_version)
|
32
|
+
def save(item)
|
33
|
+
content_id = get_content_id(item)
|
34
|
+
# save the content
|
35
|
+
return unless @use_json
|
36
|
+
|
37
|
+
# save the content to a json file
|
38
|
+
File.write(File.join(@directory, "#{content_id}.json"), item.to_json)
|
39
|
+
end
|
40
|
+
|
41
|
+
def get_content(_content_id)
|
42
|
+
nil
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.gem_db_filename
|
46
|
+
File.join(Dir.home, ".makit", "makit.db")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|