makit 0.0.144 → 0.0.145

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 (165) 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/base.rb +17 -0
  7. data/lib/makit/cli/build_commands.rb +500 -500
  8. data/lib/makit/cli/generators/base_generator.rb +74 -74
  9. data/lib/makit/cli/generators/dotnet_generator.rb +50 -50
  10. data/lib/makit/cli/generators/generator_factory.rb +49 -49
  11. data/lib/makit/cli/generators/node_generator.rb +50 -50
  12. data/lib/makit/cli/generators/ruby_generator.rb +77 -77
  13. data/lib/makit/cli/generators/rust_generator.rb +50 -50
  14. data/lib/makit/cli/generators/templates/dotnet_templates.rb +167 -167
  15. data/lib/makit/cli/generators/templates/node_templates.rb +161 -161
  16. data/lib/makit/cli/generators/templates/ruby/gemfile.rb +26 -26
  17. data/lib/makit/cli/generators/templates/ruby/gemspec.rb +41 -40
  18. data/lib/makit/cli/generators/templates/ruby/main_lib.rb +33 -33
  19. data/lib/makit/cli/generators/templates/ruby/rakefile.rb +35 -35
  20. data/lib/makit/cli/generators/templates/ruby/readme.rb +63 -63
  21. data/lib/makit/cli/generators/templates/ruby/test.rb +39 -39
  22. data/lib/makit/cli/generators/templates/ruby/test_helper.rb +29 -29
  23. data/lib/makit/cli/generators/templates/ruby/version.rb +29 -29
  24. data/lib/makit/cli/generators/templates/rust_templates.rb +128 -128
  25. data/lib/makit/cli/main.rb +78 -69
  26. data/lib/makit/cli/pipeline_commands.rb +311 -0
  27. data/lib/makit/cli/project_commands.rb +868 -868
  28. data/lib/makit/cli/repository_commands.rb +661 -661
  29. data/lib/makit/cli/strategy_commands.rb +207 -212
  30. data/lib/makit/cli/utility_commands.rb +521 -521
  31. data/lib/makit/commands/factory.rb +359 -359
  32. data/lib/makit/commands/middleware/base.rb +73 -73
  33. data/lib/makit/commands/middleware/cache.rb +248 -248
  34. data/lib/makit/commands/middleware/command_logger.rb +312 -312
  35. data/lib/makit/commands/middleware/validator.rb +269 -269
  36. data/lib/makit/commands/request.rb +316 -316
  37. data/lib/makit/commands/result.rb +323 -323
  38. data/lib/makit/commands/runner.rb +386 -386
  39. data/lib/makit/commands/strategies/base.rb +171 -171
  40. data/lib/makit/commands/strategies/child_process.rb +162 -162
  41. data/lib/makit/commands/strategies/factory.rb +136 -136
  42. data/lib/makit/commands/strategies/synchronous.rb +139 -139
  43. data/lib/makit/commands.rb +50 -50
  44. data/lib/makit/configuration/dotnet_project.rb +48 -48
  45. data/lib/makit/configuration/gitlab_helper.rb +61 -58
  46. data/lib/makit/configuration/project.rb +446 -168
  47. data/lib/makit/configuration/rakefile_helper.rb +43 -43
  48. data/lib/makit/configuration/step.rb +34 -34
  49. data/lib/makit/configuration/timeout.rb +74 -74
  50. data/lib/makit/configuration.rb +21 -16
  51. data/lib/makit/content/default_gitignore.rb +7 -7
  52. data/lib/makit/content/default_gitignore.txt +225 -225
  53. data/lib/makit/content/default_rakefile.rb +13 -13
  54. data/lib/makit/content/gem_rakefile.rb +16 -16
  55. data/lib/makit/context.rb +1 -1
  56. data/lib/makit/data.rb +49 -49
  57. data/lib/makit/directories.rb +140 -140
  58. data/lib/makit/directory.rb +262 -262
  59. data/lib/makit/docs/files.rb +89 -89
  60. data/lib/makit/docs/rake.rb +102 -102
  61. data/lib/makit/dotnet/cli.rb +69 -69
  62. data/lib/makit/dotnet/project.rb +217 -217
  63. data/lib/makit/dotnet/solution.rb +38 -38
  64. data/lib/makit/dotnet/solution_classlib.rb +239 -239
  65. data/lib/makit/dotnet/solution_console.rb +264 -264
  66. data/lib/makit/dotnet/solution_maui.rb +354 -354
  67. data/lib/makit/dotnet/solution_wasm.rb +275 -275
  68. data/lib/makit/dotnet/solution_wpf.rb +304 -304
  69. data/lib/makit/dotnet.rb +102 -102
  70. data/lib/makit/email.rb +90 -90
  71. data/lib/makit/environment.rb +142 -142
  72. data/lib/makit/examples/runner.rb +370 -370
  73. data/lib/makit/exceptions.rb +45 -45
  74. data/lib/makit/fileinfo.rb +32 -24
  75. data/lib/makit/files.rb +43 -43
  76. data/lib/makit/gems.rb +40 -40
  77. data/lib/makit/git/cli.rb +54 -54
  78. data/lib/makit/git/repository.rb +266 -90
  79. data/lib/makit/git.rb +104 -98
  80. data/lib/makit/gitlab/pipeline.rb +857 -0
  81. data/lib/makit/gitlab/pipeline_service_impl.rb +1536 -0
  82. data/lib/makit/gitlab_runner.rb +59 -59
  83. data/lib/makit/humanize.rb +218 -137
  84. data/lib/makit/indexer.rb +47 -47
  85. data/lib/makit/io/filesystem.rb +111 -0
  86. data/lib/makit/io/filesystem_service_impl.rb +337 -0
  87. data/lib/makit/logging/configuration.rb +308 -308
  88. data/lib/makit/logging/format_registry.rb +84 -84
  89. data/lib/makit/logging/formatters/base.rb +39 -39
  90. data/lib/makit/logging/formatters/console_formatter.rb +140 -140
  91. data/lib/makit/logging/formatters/json_formatter.rb +65 -65
  92. data/lib/makit/logging/formatters/plain_text_formatter.rb +71 -71
  93. data/lib/makit/logging/formatters/text_formatter.rb +64 -64
  94. data/lib/makit/logging/log_request.rb +119 -119
  95. data/lib/makit/logging/logger.rb +199 -199
  96. data/lib/makit/logging/sinks/base.rb +91 -91
  97. data/lib/makit/logging/sinks/console.rb +72 -72
  98. data/lib/makit/logging/sinks/file_sink.rb +92 -92
  99. data/lib/makit/logging/sinks/structured.rb +123 -123
  100. data/lib/makit/logging/sinks/unified_file_sink.rb +296 -296
  101. data/lib/makit/logging.rb +565 -565
  102. data/lib/makit/markdown.rb +75 -75
  103. data/lib/makit/mp/basic_object_mp.rb +17 -17
  104. data/lib/makit/mp/command_mp.rb +13 -13
  105. data/lib/makit/mp/command_request.mp.rb +17 -17
  106. data/lib/makit/mp/project_mp.rb +199 -199
  107. data/lib/makit/mp/string_mp.rb +205 -199
  108. data/lib/makit/nuget.rb +74 -74
  109. data/lib/makit/podman/podman.rb +458 -0
  110. data/lib/makit/podman/podman_service_impl.rb +1081 -0
  111. data/lib/makit/port.rb +32 -32
  112. data/lib/makit/process.rb +377 -377
  113. data/lib/makit/protoc.rb +112 -107
  114. data/lib/makit/rake/cli.rb +196 -196
  115. data/lib/makit/rake/trace_controller.rb +174 -174
  116. data/lib/makit/rake.rb +81 -81
  117. data/lib/makit/ruby/cli.rb +185 -185
  118. data/lib/makit/ruby.rb +25 -25
  119. data/lib/makit/secrets.rb +51 -51
  120. data/lib/makit/serializer.rb +130 -130
  121. data/lib/makit/services/builder.rb +186 -186
  122. data/lib/makit/services/error_handler.rb +226 -226
  123. data/lib/makit/services/repository_manager.rb +367 -231
  124. data/lib/makit/services/validator.rb +112 -112
  125. data/lib/makit/setup/classlib.rb +101 -101
  126. data/lib/makit/setup/gem.rb +268 -268
  127. data/lib/makit/setup/pages.rb +11 -11
  128. data/lib/makit/setup/razorclasslib.rb +101 -101
  129. data/lib/makit/setup/runner.rb +54 -54
  130. data/lib/makit/setup.rb +5 -5
  131. data/lib/makit/show.rb +110 -110
  132. data/lib/makit/storage.rb +126 -126
  133. data/lib/makit/symbols.rb +175 -170
  134. data/lib/makit/task_info.rb +130 -130
  135. data/lib/makit/tasks/at_exit.rb +15 -15
  136. data/lib/makit/tasks/build.rb +22 -22
  137. data/lib/makit/tasks/clean.rb +13 -13
  138. data/lib/makit/tasks/configure.rb +10 -10
  139. data/lib/makit/tasks/format.rb +10 -10
  140. data/lib/makit/tasks/hook_manager.rb +443 -443
  141. data/lib/makit/tasks/init.rb +49 -49
  142. data/lib/makit/tasks/integrate.rb +29 -29
  143. data/lib/makit/tasks/pull_incoming.rb +13 -13
  144. data/lib/makit/tasks/setup.rb +16 -16
  145. data/lib/makit/tasks/sync.rb +17 -17
  146. data/lib/makit/tasks/tag.rb +16 -16
  147. data/lib/makit/tasks/task_monkey_patch.rb +81 -81
  148. data/lib/makit/tasks/test.rb +22 -22
  149. data/lib/makit/tasks/update.rb +18 -18
  150. data/lib/makit/tasks.rb +20 -20
  151. data/lib/makit/test_cache.rb +239 -239
  152. data/lib/makit/tree.rb +37 -37
  153. data/lib/makit/v1/configuration/project_service_impl.rb +371 -0
  154. data/lib/makit/v1/git/git_repository_service_impl.rb +295 -0
  155. data/lib/makit/v1/makit.v1_pb.rb +35 -35
  156. data/lib/makit/v1/makit.v1_services_pb.rb +27 -27
  157. data/lib/makit/v1/services/repository_manager_service_impl.rb +572 -0
  158. data/lib/makit/version.rb +100 -100
  159. data/lib/makit/version_util.rb +21 -21
  160. data/lib/makit/wix.rb +95 -95
  161. data/lib/makit/yaml.rb +29 -29
  162. data/lib/makit/zip.rb +17 -17
  163. data/lib/makit copy.rb +44 -44
  164. data/lib/makit.rb +111 -43
  165. metadata +61 -36
@@ -1,161 +1,161 @@
1
- # frozen_string_literal: true
2
-
3
- module Makit
4
- module Cli
5
- module Generators
6
- module Templates
7
- # Node.js project template generators
8
- #
9
- # This module contains template classes for generating Node.js project files
10
- # including package.json, index.js, README.md, and .gitignore files.
11
- #
12
- # @example Generate a package.json file
13
- # package = Makit::Cli::Generators::Templates::Node::PackageJson.new("my-app")
14
- # content = package.render
15
- module Node
16
- # Template generator for Node.js package.json files
17
- #
18
- # Generates a standard package.json file with basic metadata,
19
- # MIT license, and placeholder test script. Sets up a Node.js
20
- # project ready for npm package management.
21
- #
22
- # @example
23
- # package = PackageJson.new("my-node-app")
24
- # json_content = package.render
25
- class PackageJson
26
- # Initialize a new package.json template generator
27
- #
28
- # @param project_name [String] the name of the Node.js project
29
- def initialize(project_name)
30
- @project_name = project_name
31
- end
32
-
33
- # Render the package.json content
34
- #
35
- # @return [String] the complete package.json content with project metadata
36
- def render
37
- <<~JSON
38
- {
39
- "name": "#{@project_name}",
40
- "version": "0.1.0",
41
- "description": "A Node.js project",
42
- "main": "index.js",
43
- "scripts": {
44
- "test": "echo \\"Error: no test specified\\" && exit 1"
45
- },
46
- "keywords": [],
47
- "author": "",
48
- "license": "MIT"
49
- }
50
- JSON
51
- end
52
- end
53
-
54
- # Template generator for Node.js index.js entry point files
55
- #
56
- # Generates a simple JavaScript file that outputs "Hello, World!"
57
- # to the console. Provides a basic starting point for Node.js
58
- # applications.
59
- #
60
- # @example
61
- # index = IndexJs.new("my-app")
62
- # js_content = index.render
63
- class IndexJs
64
- # Initialize a new index.js template generator
65
- #
66
- # @param project_name [String] the name of the Node.js project (unused but kept for consistency)
67
- def initialize(project_name)
68
- @project_name = project_name
69
- end
70
-
71
- # Render the index.js JavaScript content
72
- #
73
- # @return [String] the complete JavaScript code for the main entry point
74
- def render
75
- <<~JAVASCRIPT
76
- console.log("Hello, World!");
77
- JAVASCRIPT
78
- end
79
- end
80
-
81
- # Template generator for Node.js project README.md files
82
- #
83
- # Generates a standard README.md file with project name, description,
84
- # and common npm commands (install, run, test). Provides documentation
85
- # structure for Node.js projects.
86
- #
87
- # @example
88
- # readme = Readme.new("MyNodeApp")
89
- # markdown_content = readme.render
90
- class Readme
91
- # Initialize a new README.md template generator
92
- #
93
- # @param project_name [String] the name of the Node.js project
94
- def initialize(project_name)
95
- @project_name = project_name
96
- end
97
-
98
- # Render the README.md markdown content
99
- #
100
- # @return [String] the complete README.md content with npm instructions
101
- def render
102
- <<~README
103
- # #{@project_name}
104
-
105
- A Node.js project.
106
-
107
- ## Installation
108
-
109
- ```bash
110
- npm install
111
- ```
112
-
113
- ## Running
114
-
115
- ```bash
116
- node index.js
117
- ```
118
-
119
- ## Testing
120
-
121
- ```bash
122
- npm test
123
- ```
124
- README
125
- end
126
- end
127
-
128
- # Template generator for Node.js project .gitignore files
129
- #
130
- # Generates a .gitignore file with common Node.js artifacts and
131
- # log files that should not be committed to version control.
132
- # Includes node_modules/, npm debug logs, and yarn error logs.
133
- #
134
- # @example
135
- # gitignore = Gitignore.new("MyProject")
136
- # ignore_content = gitignore.render
137
- class Gitignore
138
- # Initialize a new .gitignore template generator
139
- #
140
- # @param project_name [String] the name of the Node.js project (unused but kept for consistency)
141
- def initialize(project_name)
142
- @project_name = project_name
143
- end
144
-
145
- # Render the .gitignore file content
146
- #
147
- # @return [String] the complete .gitignore content for Node.js projects
148
- def render
149
- <<~GITIGNORE
150
- node_modules/
151
- npm-debug.log*
152
- yarn-debug.log*
153
- yarn-error.log*
154
- GITIGNORE
155
- end
156
- end
157
- end
158
- end
159
- end
160
- end
161
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Makit
4
+ module Cli
5
+ module Generators
6
+ module Templates
7
+ # Node.js project template generators
8
+ #
9
+ # This module contains template classes for generating Node.js project files
10
+ # including package.json, index.js, README.md, and .gitignore files.
11
+ #
12
+ # @example Generate a package.json file
13
+ # package = Makit::Cli::Generators::Templates::Node::PackageJson.new("my-app")
14
+ # content = package.render
15
+ module Node
16
+ # Template generator for Node.js package.json files
17
+ #
18
+ # Generates a standard package.json file with basic metadata,
19
+ # MIT license, and placeholder test script. Sets up a Node.js
20
+ # project ready for npm package management.
21
+ #
22
+ # @example
23
+ # package = PackageJson.new("my-node-app")
24
+ # json_content = package.render
25
+ class PackageJson
26
+ # Initialize a new package.json template generator
27
+ #
28
+ # @param project_name [String] the name of the Node.js project
29
+ def initialize(project_name)
30
+ @project_name = project_name
31
+ end
32
+
33
+ # Render the package.json content
34
+ #
35
+ # @return [String] the complete package.json content with project metadata
36
+ def render
37
+ <<~JSON
38
+ {
39
+ "name": "#{@project_name}",
40
+ "version": "0.1.0",
41
+ "description": "A Node.js project",
42
+ "main": "index.js",
43
+ "scripts": {
44
+ "test": "echo \\"Error: no test specified\\" && exit 1"
45
+ },
46
+ "keywords": [],
47
+ "author": "",
48
+ "license": "MIT"
49
+ }
50
+ JSON
51
+ end
52
+ end
53
+
54
+ # Template generator for Node.js index.js entry point files
55
+ #
56
+ # Generates a simple JavaScript file that outputs "Hello, World!"
57
+ # to the console. Provides a basic starting point for Node.js
58
+ # applications.
59
+ #
60
+ # @example
61
+ # index = IndexJs.new("my-app")
62
+ # js_content = index.render
63
+ class IndexJs
64
+ # Initialize a new index.js template generator
65
+ #
66
+ # @param project_name [String] the name of the Node.js project (unused but kept for consistency)
67
+ def initialize(project_name)
68
+ @project_name = project_name
69
+ end
70
+
71
+ # Render the index.js JavaScript content
72
+ #
73
+ # @return [String] the complete JavaScript code for the main entry point
74
+ def render
75
+ <<~JAVASCRIPT
76
+ console.log("Hello, World!");
77
+ JAVASCRIPT
78
+ end
79
+ end
80
+
81
+ # Template generator for Node.js project README.md files
82
+ #
83
+ # Generates a standard README.md file with project name, description,
84
+ # and common npm commands (install, run, test). Provides documentation
85
+ # structure for Node.js projects.
86
+ #
87
+ # @example
88
+ # readme = Readme.new("MyNodeApp")
89
+ # markdown_content = readme.render
90
+ class Readme
91
+ # Initialize a new README.md template generator
92
+ #
93
+ # @param project_name [String] the name of the Node.js project
94
+ def initialize(project_name)
95
+ @project_name = project_name
96
+ end
97
+
98
+ # Render the README.md markdown content
99
+ #
100
+ # @return [String] the complete README.md content with npm instructions
101
+ def render
102
+ <<~README
103
+ # #{@project_name}
104
+
105
+ A Node.js project.
106
+
107
+ ## Installation
108
+
109
+ ```bash
110
+ npm install
111
+ ```
112
+
113
+ ## Running
114
+
115
+ ```bash
116
+ node index.js
117
+ ```
118
+
119
+ ## Testing
120
+
121
+ ```bash
122
+ npm test
123
+ ```
124
+ README
125
+ end
126
+ end
127
+
128
+ # Template generator for Node.js project .gitignore files
129
+ #
130
+ # Generates a .gitignore file with common Node.js artifacts and
131
+ # log files that should not be committed to version control.
132
+ # Includes node_modules/, npm debug logs, and yarn error logs.
133
+ #
134
+ # @example
135
+ # gitignore = Gitignore.new("MyProject")
136
+ # ignore_content = gitignore.render
137
+ class Gitignore
138
+ # Initialize a new .gitignore template generator
139
+ #
140
+ # @param project_name [String] the name of the Node.js project (unused but kept for consistency)
141
+ def initialize(project_name)
142
+ @project_name = project_name
143
+ end
144
+
145
+ # Render the .gitignore file content
146
+ #
147
+ # @return [String] the complete .gitignore content for Node.js projects
148
+ def render
149
+ <<~GITIGNORE
150
+ node_modules/
151
+ npm-debug.log*
152
+ yarn-debug.log*
153
+ yarn-error.log*
154
+ GITIGNORE
155
+ end
156
+ end
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
@@ -1,26 +1,26 @@
1
- # frozen_string_literal: true
2
-
3
- module Makit
4
- module Cli
5
- module Generators
6
- module Templates
7
- module Ruby
8
- # Template for Ruby gem Gemfile
9
- class Gemfile
10
- def initialize(project_name)
11
- @project_name = project_name
12
- end
13
-
14
- def render
15
- <<~GEMFILE
16
- source "https://rubygems.org"
17
-
18
- gem "#{@project_name}"
19
- GEMFILE
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Makit
4
+ module Cli
5
+ module Generators
6
+ module Templates
7
+ module Ruby
8
+ # Template for Ruby gem Gemfile
9
+ class Gemfile
10
+ def initialize(project_name)
11
+ @project_name = project_name
12
+ end
13
+
14
+ def render
15
+ <<~GEMFILE
16
+ source "https://rubygems.org"
17
+
18
+ gem "#{@project_name}"
19
+ GEMFILE
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1,40 +1,41 @@
1
- # frozen_string_literal: true
2
-
3
- module Makit
4
- module Cli
5
- module Generators
6
- module Templates
7
- module Ruby
8
- # Template for Ruby gem gemspec file
9
- class Gemspec
10
- def initialize(project_name)
11
- @project_name = project_name
12
- end
13
-
14
- def render
15
- <<~GEMSPEC
16
- Gem::Specification.new do |spec|
17
- spec.name = "#{@project_name}"
18
- spec.version = "0.1.0"
19
- spec.authors = ["Author Name"]
20
- spec.email = ["author@example.com"]
21
- spec.summary = "A Ruby gem"
22
- spec.description = "A longer description of the gem"
23
- spec.homepage = "https://github.com/author/#{@project_name}"
24
- spec.license = "MIT"
25
- #{" "}
26
- spec.files = Dir["lib/**/*", "README.md"]
27
- spec.require_paths = ["lib"]
28
- #{" "}
29
- spec.add_development_dependency "bundler", "~> 2.0"
30
- spec.add_development_dependency "rake", "~> 13.0"
31
- spec.add_development_dependency "minitest", "~> 5.0"
32
- end
33
- GEMSPEC
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Makit
4
+ module Cli
5
+ module Generators
6
+ module Templates
7
+ module Ruby
8
+ # Template for Ruby gem gemspec file
9
+ class Gemspec
10
+ def initialize(project_name)
11
+ @project_name = project_name
12
+ end
13
+
14
+ def render
15
+ <<~GEMSPEC
16
+ Gem::Specification.new do |spec|
17
+ spec.name = "#{@project_name}"
18
+ spec.version = "0.1.0"
19
+ spec.authors = ["Author Name"]
20
+ spec.email = ["author@example.com"]
21
+ spec.summary = "A Ruby gem"
22
+ spec.description = "A longer description of the gem"
23
+ spec.homepage = "https://github.com/author/#{@project_name}"
24
+ spec.license = "MIT"
25
+ #{" "}
26
+ spec.files = Dir["lib/**/*", "README.md"]
27
+ spec.require_paths = ["lib"]
28
+ spec.required_ruby_version = ">= 3.4.6"
29
+ #{" "}
30
+ spec.add_development_dependency "bundler", "~> 2.0"
31
+ spec.add_development_dependency "rake", "~> 13.0"
32
+ spec.add_development_dependency "minitest", "~> 5.0"
33
+ end
34
+ GEMSPEC
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,33 +1,33 @@
1
- # frozen_string_literal: true
2
-
3
- module Makit
4
- module Cli
5
- module Generators
6
- module Templates
7
- module Ruby
8
- # Template for main Ruby gem lib file
9
- class MainLib
10
- def initialize(project_name)
11
- @project_name = project_name
12
- @module_name = project_name.split(/[-_]/).map(&:capitalize).join
13
- end
14
-
15
- def render
16
- <<~RUBY
17
- # frozen_string_literal: true
18
-
19
- require_relative "#{@project_name}/version"
20
-
21
- module #{@module_name}
22
- class Error < StandardError; end
23
- #{" "}
24
- # Your code goes here...
25
- end
26
- RUBY
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Makit
4
+ module Cli
5
+ module Generators
6
+ module Templates
7
+ module Ruby
8
+ # Template for main Ruby gem lib file
9
+ class MainLib
10
+ def initialize(project_name)
11
+ @project_name = project_name
12
+ @module_name = project_name.split(/[-_]/).map(&:capitalize).join
13
+ end
14
+
15
+ def render
16
+ <<~RUBY
17
+ # frozen_string_literal: true
18
+
19
+ require_relative "#{@project_name}/version"
20
+
21
+ module #{@module_name}
22
+ class Error < StandardError; end
23
+ #{" "}
24
+ # Your code goes here...
25
+ end
26
+ RUBY
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,35 +1,35 @@
1
- # frozen_string_literal: true
2
-
3
- module Makit
4
- module Cli
5
- module Generators
6
- module Templates
7
- module Ruby
8
- # Template for Ruby gem Rakefile
9
- class Rakefile
10
- def initialize(project_name)
11
- @project_name = project_name
12
- end
13
-
14
- def render
15
- <<~RAKEFILE
16
- # frozen_string_literal: true
17
-
18
- require "bundler/gem_tasks"
19
- require "rake/testtask"
20
-
21
- Rake::TestTask.new(:test) do |t|
22
- t.libs << "test"
23
- t.libs << "lib"
24
- t.test_files = FileList["test/**/*_test.rb"]
25
- end
26
-
27
- task default: :test
28
- RAKEFILE
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
1
+ # frozen_string_literal: true
2
+
3
+ module Makit
4
+ module Cli
5
+ module Generators
6
+ module Templates
7
+ module Ruby
8
+ # Template for Ruby gem Rakefile
9
+ class Rakefile
10
+ def initialize(project_name)
11
+ @project_name = project_name
12
+ end
13
+
14
+ def render
15
+ <<~RAKEFILE
16
+ # frozen_string_literal: true
17
+
18
+ require "bundler/gem_tasks"
19
+ require "rake/testtask"
20
+
21
+ Rake::TestTask.new(:test) do |t|
22
+ t.libs << "test"
23
+ t.libs << "lib"
24
+ t.test_files = FileList["test/**/*_test.rb"]
25
+ end
26
+
27
+ task default: :test
28
+ RAKEFILE
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end