makit 0.0.112 → 0.0.128

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