makit 0.0.138 → 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 +3 -2
@@ -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
|