makit 0.0.143 → 0.0.144

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.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +41 -41
  3. data/exe/makit +5 -5
  4. data/lib/makit/apache.rb +28 -28
  5. data/lib/makit/auto.rb +48 -48
  6. data/lib/makit/cli/build_commands.rb +500 -500
  7. data/lib/makit/cli/generators/base_generator.rb +74 -74
  8. data/lib/makit/cli/generators/dotnet_generator.rb +50 -50
  9. data/lib/makit/cli/generators/generator_factory.rb +49 -49
  10. data/lib/makit/cli/generators/node_generator.rb +50 -50
  11. data/lib/makit/cli/generators/ruby_generator.rb +77 -77
  12. data/lib/makit/cli/generators/rust_generator.rb +50 -50
  13. data/lib/makit/cli/generators/templates/dotnet_templates.rb +167 -167
  14. data/lib/makit/cli/generators/templates/node_templates.rb +161 -161
  15. data/lib/makit/cli/generators/templates/ruby/gemfile.rb +26 -26
  16. data/lib/makit/cli/generators/templates/ruby/gemspec.rb +40 -40
  17. data/lib/makit/cli/generators/templates/ruby/main_lib.rb +33 -33
  18. data/lib/makit/cli/generators/templates/ruby/rakefile.rb +35 -35
  19. data/lib/makit/cli/generators/templates/ruby/readme.rb +63 -63
  20. data/lib/makit/cli/generators/templates/ruby/test.rb +39 -39
  21. data/lib/makit/cli/generators/templates/ruby/test_helper.rb +29 -29
  22. data/lib/makit/cli/generators/templates/ruby/version.rb +29 -29
  23. data/lib/makit/cli/generators/templates/rust_templates.rb +128 -128
  24. data/lib/makit/cli/main.rb +69 -69
  25. data/lib/makit/cli/project_commands.rb +868 -868
  26. data/lib/makit/cli/repository_commands.rb +661 -661
  27. data/lib/makit/cli/strategy_commands.rb +212 -212
  28. data/lib/makit/cli/utility_commands.rb +521 -521
  29. data/lib/makit/commands/factory.rb +359 -359
  30. data/lib/makit/commands/middleware/base.rb +73 -73
  31. data/lib/makit/commands/middleware/cache.rb +248 -248
  32. data/lib/makit/commands/middleware/command_logger.rb +312 -312
  33. data/lib/makit/commands/middleware/validator.rb +269 -269
  34. data/lib/makit/commands/request.rb +316 -316
  35. data/lib/makit/commands/result.rb +323 -323
  36. data/lib/makit/commands/runner.rb +386 -386
  37. data/lib/makit/commands/strategies/base.rb +171 -171
  38. data/lib/makit/commands/strategies/child_process.rb +162 -162
  39. data/lib/makit/commands/strategies/factory.rb +136 -136
  40. data/lib/makit/commands/strategies/synchronous.rb +139 -139
  41. data/lib/makit/commands.rb +50 -50
  42. data/lib/makit/configuration/dotnet_project.rb +48 -39
  43. data/lib/makit/configuration/gitlab_helper.rb +58 -58
  44. data/lib/makit/configuration/project.rb +168 -168
  45. data/lib/makit/configuration/rakefile_helper.rb +43 -43
  46. data/lib/makit/configuration/step.rb +34 -34
  47. data/lib/makit/configuration/timeout.rb +74 -74
  48. data/lib/makit/configuration.rb +16 -16
  49. data/lib/makit/content/default_gitignore.rb +7 -7
  50. data/lib/makit/content/default_gitignore.txt +225 -225
  51. data/lib/makit/content/default_rakefile.rb +13 -13
  52. data/lib/makit/content/gem_rakefile.rb +16 -16
  53. data/lib/makit/context.rb +1 -1
  54. data/lib/makit/data.rb +49 -49
  55. data/lib/makit/directories.rb +140 -140
  56. data/lib/makit/directory.rb +262 -262
  57. data/lib/makit/docs/files.rb +89 -89
  58. data/lib/makit/docs/rake.rb +102 -102
  59. data/lib/makit/dotnet/cli.rb +69 -69
  60. data/lib/makit/dotnet/project.rb +217 -217
  61. data/lib/makit/dotnet/solution.rb +38 -38
  62. data/lib/makit/dotnet/solution_classlib.rb +239 -239
  63. data/lib/makit/dotnet/solution_console.rb +264 -264
  64. data/lib/makit/dotnet/solution_maui.rb +354 -354
  65. data/lib/makit/dotnet/solution_wasm.rb +275 -275
  66. data/lib/makit/dotnet/solution_wpf.rb +304 -304
  67. data/lib/makit/dotnet.rb +102 -102
  68. data/lib/makit/email.rb +90 -90
  69. data/lib/makit/environment.rb +142 -142
  70. data/lib/makit/examples/runner.rb +370 -370
  71. data/lib/makit/exceptions.rb +45 -45
  72. data/lib/makit/fileinfo.rb +24 -24
  73. data/lib/makit/files.rb +43 -43
  74. data/lib/makit/gems.rb +40 -40
  75. data/lib/makit/git/cli.rb +54 -54
  76. data/lib/makit/git/repository.rb +90 -90
  77. data/lib/makit/git.rb +98 -98
  78. data/lib/makit/gitlab_runner.rb +59 -59
  79. data/lib/makit/humanize.rb +137 -137
  80. data/lib/makit/indexer.rb +47 -47
  81. data/lib/makit/logging/configuration.rb +308 -308
  82. data/lib/makit/logging/format_registry.rb +84 -84
  83. data/lib/makit/logging/formatters/base.rb +39 -39
  84. data/lib/makit/logging/formatters/console_formatter.rb +140 -140
  85. data/lib/makit/logging/formatters/json_formatter.rb +65 -65
  86. data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -71
  87. data/lib/makit/logging/formatters/text_formatter.rb +64 -64
  88. data/lib/makit/logging/log_request.rb +119 -119
  89. data/lib/makit/logging/logger.rb +199 -199
  90. data/lib/makit/logging/sinks/base.rb +91 -91
  91. data/lib/makit/logging/sinks/console.rb +72 -72
  92. data/lib/makit/logging/sinks/file_sink.rb +92 -92
  93. data/lib/makit/logging/sinks/structured.rb +123 -123
  94. data/lib/makit/logging/sinks/unified_file_sink.rb +296 -296
  95. data/lib/makit/logging.rb +565 -565
  96. data/lib/makit/markdown.rb +75 -75
  97. data/lib/makit/mp/basic_object_mp.rb +17 -17
  98. data/lib/makit/mp/command_mp.rb +13 -13
  99. data/lib/makit/mp/command_request.mp.rb +17 -17
  100. data/lib/makit/mp/project_mp.rb +199 -199
  101. data/lib/makit/mp/string_mp.rb +199 -199
  102. data/lib/makit/nuget.rb +74 -74
  103. data/lib/makit/port.rb +32 -32
  104. data/lib/makit/process.rb +377 -163
  105. data/lib/makit/protoc.rb +107 -107
  106. data/lib/makit/rake/cli.rb +196 -196
  107. data/lib/makit/rake/trace_controller.rb +174 -174
  108. data/lib/makit/rake.rb +81 -81
  109. data/lib/makit/ruby/cli.rb +185 -185
  110. data/lib/makit/ruby.rb +25 -25
  111. data/lib/makit/secrets.rb +51 -51
  112. data/lib/makit/serializer.rb +130 -130
  113. data/lib/makit/services/builder.rb +186 -186
  114. data/lib/makit/services/error_handler.rb +226 -226
  115. data/lib/makit/services/repository_manager.rb +231 -231
  116. data/lib/makit/services/validator.rb +112 -112
  117. data/lib/makit/setup/classlib.rb +101 -101
  118. data/lib/makit/setup/gem.rb +268 -268
  119. data/lib/makit/setup/pages.rb +11 -11
  120. data/lib/makit/setup/razorclasslib.rb +101 -101
  121. data/lib/makit/setup/runner.rb +54 -54
  122. data/lib/makit/setup.rb +5 -5
  123. data/lib/makit/show.rb +110 -110
  124. data/lib/makit/storage.rb +126 -126
  125. data/lib/makit/symbols.rb +170 -170
  126. data/lib/makit/task_info.rb +130 -130
  127. data/lib/makit/tasks/at_exit.rb +15 -15
  128. data/lib/makit/tasks/build.rb +22 -22
  129. data/lib/makit/tasks/clean.rb +13 -13
  130. data/lib/makit/tasks/configure.rb +10 -10
  131. data/lib/makit/tasks/format.rb +10 -10
  132. data/lib/makit/tasks/hook_manager.rb +443 -443
  133. data/lib/makit/tasks/init.rb +49 -49
  134. data/lib/makit/tasks/integrate.rb +29 -29
  135. data/lib/makit/tasks/pull_incoming.rb +13 -13
  136. data/lib/makit/tasks/setup.rb +16 -16
  137. data/lib/makit/tasks/sync.rb +17 -17
  138. data/lib/makit/tasks/tag.rb +16 -16
  139. data/lib/makit/tasks/task_monkey_patch.rb +81 -81
  140. data/lib/makit/tasks/test.rb +22 -22
  141. data/lib/makit/tasks/update.rb +18 -18
  142. data/lib/makit/tasks.rb +20 -20
  143. data/lib/makit/test_cache.rb +239 -239
  144. data/lib/makit/tree.rb +37 -37
  145. data/lib/makit/v1/makit.v1_pb.rb +35 -35
  146. data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
  147. data/lib/makit/version.rb +100 -100
  148. data/lib/makit/version_util.rb +21 -21
  149. data/lib/makit/wix.rb +95 -95
  150. data/lib/makit/yaml.rb +29 -29
  151. data/lib/makit/zip.rb +17 -17
  152. data/lib/makit copy.rb +44 -44
  153. data/lib/makit.rb +43 -43
  154. metadata +2 -2
@@ -1,226 +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/
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
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