nugem 0.8.1 → 0.9.0

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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +8 -6
  3. data/CHANGELOG.md +34 -0
  4. data/Gemfile +26 -0
  5. data/README.md +49 -27
  6. data/exe/nugem +3 -3
  7. data/lib/nugem/cli/cli_gem.rb +15 -15
  8. data/lib/nugem/cli/cli_jekyll.rb +38 -34
  9. data/lib/nugem/cli/cli_rails.rb +7 -7
  10. data/lib/nugem/cli.rb +65 -44
  11. data/lib/nugem/git.rb +62 -59
  12. data/lib/nugem/repository.rb +4 -3
  13. data/lib/nugem/version.rb +1 -1
  14. data/lib/nugem.rb +10 -23
  15. data/lib/util.rb +27 -0
  16. data/nugem.gemspec +33 -12
  17. data/spec/spec_helper.rb +1 -4
  18. data/templates/common/executable_scaffold/exe/%gem_name%.tt +2 -2
  19. data/templates/common/executable_scaffold/lib/%gem_name%/cli.rb.tt +17 -9
  20. data/templates/common/executable_scaffold/lib/%gem_name%/options.rb.tt +31 -0
  21. data/templates/common/gem_scaffold/%gem_name%.gemspec.tt +4 -4
  22. data/templates/common/gem_scaffold/.bundle/config +2 -0
  23. data/templates/common/gem_scaffold/.gitignore.tt +27 -0
  24. data/templates/common/gem_scaffold/.markdownlint.json +8 -0
  25. data/templates/common/gem_scaffold/.rspec +2 -0
  26. data/templates/common/gem_scaffold/.rubocop.yml.tt +78 -0
  27. data/templates/common/gem_scaffold/.shellcheckrc +5 -0
  28. data/templates/common/gem_scaffold/.vscode/%gem_name%.json.code-snippets.tt +19 -0
  29. data/templates/common/gem_scaffold/.vscode/extensions.json +22 -0
  30. data/templates/common/gem_scaffold/.vscode/launch.json +68 -0
  31. data/templates/common/gem_scaffold/.vscode/settings.json +5 -0
  32. data/templates/common/gem_scaffold/CHANGELOG.md.tt +4 -1
  33. data/templates/common/gem_scaffold/Gemfile.tt +16 -26
  34. data/templates/common/gem_scaffold/README.md.tt +53 -13
  35. data/templates/common/gem_scaffold/bin/attach +2 -1
  36. data/templates/common/gem_scaffold/bin/build +7 -0
  37. data/templates/common/gem_scaffold/bin/reset +4 -0
  38. data/templates/common/gem_scaffold/bin/setup.tt +6 -3
  39. data/templates/common/gem_scaffold/lib/%gem_name%.rb.tt +2 -0
  40. data/templates/common/gem_scaffold/test/test_helper.rb.tt +3 -3
  41. data/templates/jekyll/block_no_arg_scaffold/lib/%block_name%.rb.tt +1 -1
  42. data/templates/jekyll/block_scaffold/lib/%block_name%.rb.tt +32 -10
  43. data/templates/jekyll/common_scaffold/spec/spec_helper.rb +1 -1
  44. data/templates/jekyll/demo/demo/Gemfile.tt +6 -5
  45. data/templates/jekyll/demo/demo/_bin/debug +7 -16
  46. data/templates/jekyll/demo/demo/_layouts/default.html.tt +1 -1
  47. data/templates/jekyll/hooks_scaffold/lib/dumpers.rb +1 -1
  48. data/templates/jekyll/tag_no_arg_scaffold/lib/%tag_name%.rb.tt +1 -1
  49. data/templates/jekyll/tag_scaffold/lib/%tag_name%.rb.tt +38 -11
  50. data/templates/rails/engine_scaffold/app/assets/images/%gem_name%/.keep +0 -0
  51. data/templates/rails/engine_scaffold/app/assets/javascripts/%gem_name%/.keep +0 -0
  52. data/templates/rails/engine_scaffold/app/assets/stylesheets/%gem_name%/.keep +0 -0
  53. data/templates/rails/engine_scaffold/app/controllers/.keep +0 -0
  54. data/templates/rails/engine_scaffold/app/helpers/.keep +0 -0
  55. data/templates/rails/engine_scaffold/app/mailers/.keep +0 -0
  56. data/templates/rails/engine_scaffold/app/models/.keep +0 -0
  57. data/templates/rails/engine_scaffold/app/views/.keep +0 -0
  58. data/templates/rails/plugin_scaffold/.envrc +1 -0
  59. data/templates/rails/plugin_scaffold/.simplecov.tt +18 -0
  60. data/templates/rails/plugin_scaffold/.travis.yml +4 -0
  61. data/templates/rails/plugin_scaffold/test/dummy/.envrc +1 -0
  62. data/templates/rails/plugin_scaffold/test/dummy/app/assets/images/.keep +0 -0
  63. data/templates/rails/plugin_scaffold/test/dummy/app/controllers/concerns/.keep +0 -0
  64. data/templates/rails/plugin_scaffold/test/dummy/app/models/.keep +0 -0
  65. data/templates/rails/plugin_scaffold/test/dummy/app/models/concerns/.keep +0 -0
  66. data/templates/rails/plugin_scaffold/test/dummy/bin/setup +1 -1
  67. data/templates/rails/plugin_scaffold/test/dummy/lib/assets/.keep +0 -0
  68. data/templates/rails/plugin_scaffold/test/dummy/log/.keep +0 -0
  69. data/templates/rails/rails_scaffold/test/dummy/.envrc +1 -0
  70. data/templates/rails/rails_scaffold/test/dummy/app/assets/images/.keep +0 -0
  71. data/templates/rails/rails_scaffold/test/dummy/app/controllers/concerns/.keep +0 -0
  72. data/templates/rails/rails_scaffold/test/dummy/app/models/.keep +0 -0
  73. data/templates/rails/rails_scaffold/test/dummy/app/models/concerns/.keep +0 -0
  74. data/templates/rails/rails_scaffold/test/dummy/bin/setup +1 -1
  75. data/templates/rails/rails_scaffold/test/dummy/lib/assets/.keep +0 -0
  76. data/templates/rails/rails_scaffold/test/dummy/log/.keep +0 -0
  77. metadata +62 -7
@@ -1,8 +1,7 @@
1
1
  require 'jekyll_plugin_support'
2
- require_relative '<%= @gem_name %>/version.rb'
2
+ require 'helper/jekyll_plugin_helper'
3
+ require_relative '<%= @gem_name %>/version'
3
4
 
4
- # This Jekyll tag plugin is a minimal example.
5
- #
6
5
  # See https://www.mslinn.com/jekyll/10200-jekyll-plugin-background.html
7
6
  # See https://www.mslinn.com/jekyll/10400-jekyll-plugin-template-collection.html
8
7
  #
@@ -14,30 +13,58 @@ require_relative '<%= @gem_name %>/version.rb'
14
13
  # To set the log level to :debug, write an entry into _config.yml, like this:
15
14
  # plugin_loggers:
16
15
  # <%= @jekyll_class_name %>: debug
16
+ #
17
17
  module <%= class_name %>
18
+ <%= @class_name %>Error = ::JekyllSupport.define_error unless const_defined?(:<%= @class_name %>Error)
19
+
18
20
  # This class implements the Jekyll <%= @tag_name %> functionality
19
21
  class <%= @jekyll_class_name %> < JekyllSupport::JekyllTag
20
- PLUGIN_NAME = '<%= @tag_name %>'.freeze
22
+ PLUGIN_NAME = '<%= @tag_name %>'.freeze unless const_defined?(:PLUGIN_NAME)
21
23
  VERSION = <%= @class_name %>::VERSION
22
24
 
23
- # Put your plugin logic here.
25
+ # See https://github.com/mslinn/jekyll_plugin_support#argument-parsing
26
+ #
24
27
  # The following variables are predefined:
25
- # @argument_string, @config, @envs, @helper, @layout, @logger, @mode, @page, @paginator, @site, @tag_name and @theme
28
+ # @argument_string, @config, @envs, @helper, @layout, @logger, @mode, @page, @paginator, @site and @theme
29
+ # @tag_name [String] is the name of the tag, which we already know.
30
+ # @argument_string [String] the arguments from the web page.
31
+ # @tokens [Liquid::ParseContext] tokenized command line
26
32
  #
27
- # @param tag_name [String] is the name of the tag, which we already know.
28
- # @param argument_string [String] the arguments from the web page.
29
- # @param tokens [Liquid::ParseContext] tokenized command line
30
- # @return [void]
33
+ # @helper provides these read-only attributes:
34
+ # argv, attribution, keys_values, liquid_context, logger, markup, no_arg_parsing, params, tag_name,
35
+ # argv_original, excerpt_caller, keys_values_original, params_original
36
+ # @helper provides these class methods:
37
+ # expand_env, register, remove_quotes
38
+ # @helper provides these instance methods:
39
+ # attribution_string
40
+ # default_attribution
41
+ # delete_parameter
42
+ # dereference_include_variable
43
+ # dereference_variable
44
+ # lookup_variable
45
+ # parameter_specified?('option/keyword name') || 'default value' # parse option value/keyword
46
+ # gem_file __FILE__ # Enables attribution
47
+ # remaining_markup # unparsed markup passed to this plugin
48
+ # reinitialize # Returns markup remaining after `parameter_specified?` has been invoked.
49
+ # remaining_markup_original
50
+ #
51
+ # @return [string] markup to be rendered on web page
31
52
  def render_impl
32
53
  <%= parse_jekyll_parameters %>
54
+
55
+ # Put your plugin logic here and modify the following return value.
56
+
33
57
  <<~END_OUTPUT
34
58
  <pre class="example">
35
59
  <%= dump_jekyll_parameters %>
36
60
  Remaining markup: '#{@helper.remaining_markup}'.
37
61
  </pre>
38
62
  END_OUTPUT
63
+ rescue StandardError => e
64
+ @logger.error { "#{self.class} died with a #{e.full_message}" }
65
+ exit 3
39
66
  end
40
67
 
41
- JekyllPluginHelper.register(self, PLUGIN_NAME)
68
+ ::JekyllSupport::JekyllPluginHelper.register(self, PLUGIN_NAME)
42
69
  end
43
70
  end
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ PATH_add bin
@@ -0,0 +1,18 @@
1
+ SimpleCov.start do
2
+ coverage_dir 'test/coverage'
3
+ <%- if @engine -%>
4
+
5
+ load_profile 'rails'
6
+
7
+ add_group 'Controllers', 'app/controllers'
8
+ add_group 'Mailers', 'app/mailers'
9
+ add_group 'Models', 'app/models'
10
+ add_group 'Helpers', 'app/helpers'
11
+ add_group 'Libraries', 'lib'
12
+
13
+ add_filter 'db'
14
+ add_filter 'test'
15
+ add_filter 'config'
16
+ add_filter 'vendor'
17
+ <%- end -%>
18
+ end
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 3.1.3
4
+ before_install: gem install bundler
@@ -0,0 +1 @@
1
+ PATH_add bin
@@ -11,7 +11,7 @@ Dir.chdir APP_ROOT do
11
11
 
12
12
  puts '== Installing dependencies =='
13
13
  system 'gem install bundler --conservative'
14
- system 'bundle check || bundle install'
14
+ system 'bundle check || bundle'
15
15
 
16
16
  # unless File.exist?('config/database.yml')
17
17
  # puts "\n== Copying sample files =="
@@ -0,0 +1 @@
1
+ PATH_add bin
@@ -11,7 +11,7 @@ Dir.chdir APP_ROOT do
11
11
 
12
12
  puts '== Installing dependencies =='
13
13
  system 'gem install bundler --conservative'
14
- system 'bundle check || bundle install'
14
+ system 'bundle check || bundle'
15
15
 
16
16
  # unless File.exist?('config/database.yml')
17
17
  # puts "\n== Copying sample files =="
metadata CHANGED
@@ -1,16 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nugem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Jancev
8
8
  - Mike Slinn
9
- autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2023-07-09 00:00:00.000000000 Z
11
+ date: 2024-12-21 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
14
27
  - !ruby/object:Gem::Dependency
15
28
  name: rugged
16
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +65,7 @@ extra_rdoc_files: []
52
65
  files:
53
66
  - ".rubocop.yml"
54
67
  - CHANGELOG.md
68
+ - Gemfile
55
69
  - README.md
56
70
  - Rakefile
57
71
  - exe/nugem
@@ -71,14 +85,27 @@ files:
71
85
  - templates/common/LICENCE.txt.tt
72
86
  - templates/common/executable_scaffold/exe/%gem_name%.tt
73
87
  - templates/common/executable_scaffold/lib/%gem_name%/cli.rb.tt
88
+ - templates/common/executable_scaffold/lib/%gem_name%/options.rb.tt
74
89
  - templates/common/gem_scaffold/%gem_name%.gemspec.tt
90
+ - templates/common/gem_scaffold/.bundle/config
91
+ - templates/common/gem_scaffold/.gitignore.tt
92
+ - templates/common/gem_scaffold/.markdownlint.json
93
+ - templates/common/gem_scaffold/.rspec
94
+ - templates/common/gem_scaffold/.rubocop.yml.tt
95
+ - templates/common/gem_scaffold/.shellcheckrc
96
+ - templates/common/gem_scaffold/.vscode/%gem_name%.json.code-snippets.tt
97
+ - templates/common/gem_scaffold/.vscode/extensions.json
98
+ - templates/common/gem_scaffold/.vscode/launch.json
99
+ - templates/common/gem_scaffold/.vscode/settings.json
75
100
  - templates/common/gem_scaffold/CHANGELOG.md.tt
76
101
  - templates/common/gem_scaffold/Gemfile.tt
77
102
  - templates/common/gem_scaffold/README.md.tt
78
103
  - templates/common/gem_scaffold/Rakefile.tt
79
104
  - templates/common/gem_scaffold/bin/attach
105
+ - templates/common/gem_scaffold/bin/build
80
106
  - templates/common/gem_scaffold/bin/console.tt
81
107
  - templates/common/gem_scaffold/bin/rake
108
+ - templates/common/gem_scaffold/bin/reset
82
109
  - templates/common/gem_scaffold/bin/setup.tt
83
110
  - templates/common/gem_scaffold/lib/%gem_name%.rb.tt
84
111
  - templates/common/gem_scaffold/lib/%gem_name%/version.rb.tt
@@ -112,6 +139,14 @@ files:
112
139
  - templates/jekyll/hooks_scaffold/lib/hooks.rb.tt
113
140
  - templates/jekyll/tag_no_arg_scaffold/lib/%tag_name%.rb.tt
114
141
  - templates/jekyll/tag_scaffold/lib/%tag_name%.rb.tt
142
+ - templates/rails/engine_scaffold/app/assets/images/%gem_name%/.keep
143
+ - templates/rails/engine_scaffold/app/assets/javascripts/%gem_name%/.keep
144
+ - templates/rails/engine_scaffold/app/assets/stylesheets/%gem_name%/.keep
145
+ - templates/rails/engine_scaffold/app/controllers/.keep
146
+ - templates/rails/engine_scaffold/app/helpers/.keep
147
+ - templates/rails/engine_scaffold/app/mailers/.keep
148
+ - templates/rails/engine_scaffold/app/models/.keep
149
+ - templates/rails/engine_scaffold/app/views/.keep
115
150
  - templates/rails/engine_scaffold/bin/rails.tt
116
151
  - templates/rails/engine_scaffold/config/routes.rb.tt
117
152
  - templates/rails/engine_scaffold/lib/%gem_name%/engine.rb.tt
@@ -121,13 +156,21 @@ files:
121
156
  - templates/rails/mountable_scaffold/app/controllers/%gem_name%/application_controller.rb.tt
122
157
  - templates/rails/mountable_scaffold/app/helpers/%gem_name%/application_helper.rb.tt
123
158
  - templates/rails/mountable_scaffold/app/views/layouts/%gem_name%/application.html.erb.tt
159
+ - templates/rails/plugin_scaffold/.envrc
160
+ - templates/rails/plugin_scaffold/.simplecov.tt
161
+ - templates/rails/plugin_scaffold/.travis.yml
162
+ - templates/rails/plugin_scaffold/test/dummy/.envrc
124
163
  - templates/rails/plugin_scaffold/test/dummy/README.rdoc
125
164
  - templates/rails/plugin_scaffold/test/dummy/Rakefile
165
+ - templates/rails/plugin_scaffold/test/dummy/app/assets/images/.keep
126
166
  - templates/rails/plugin_scaffold/test/dummy/app/assets/javascripts/application.js
127
167
  - templates/rails/plugin_scaffold/test/dummy/app/assets/stylesheets/application.sass
128
168
  - templates/rails/plugin_scaffold/test/dummy/app/controllers/application_controller.rb
169
+ - templates/rails/plugin_scaffold/test/dummy/app/controllers/concerns/.keep
129
170
  - templates/rails/plugin_scaffold/test/dummy/app/helpers/application_helper.rb
130
171
  - templates/rails/plugin_scaffold/test/dummy/app/mailers/application_mailer.rb
172
+ - templates/rails/plugin_scaffold/test/dummy/app/models/.keep
173
+ - templates/rails/plugin_scaffold/test/dummy/app/models/concerns/.keep
131
174
  - templates/rails/plugin_scaffold/test/dummy/app/views/layouts/application.html.erb
132
175
  - templates/rails/plugin_scaffold/test/dummy/app/views/layouts/mailer.html.erb
133
176
  - templates/rails/plugin_scaffold/test/dummy/app/views/layouts/mailer.text.erb
@@ -155,18 +198,25 @@ files:
155
198
  - templates/rails/plugin_scaffold/test/dummy/config/routes.rb.tt
156
199
  - templates/rails/plugin_scaffold/test/dummy/config/secrets.yml
157
200
  - templates/rails/plugin_scaffold/test/dummy/db/seeds.rb
201
+ - templates/rails/plugin_scaffold/test/dummy/lib/assets/.keep
202
+ - templates/rails/plugin_scaffold/test/dummy/log/.keep
158
203
  - templates/rails/plugin_scaffold/test/dummy/public/404.html
159
204
  - templates/rails/plugin_scaffold/test/dummy/public/422.html
160
205
  - templates/rails/plugin_scaffold/test/dummy/public/500.html
161
206
  - templates/rails/plugin_scaffold/test/dummy/public/favicon.ico
162
207
  - templates/rails/rails_scaffold/lib/tasks/%gem_name%_tasks.rake.tt
208
+ - templates/rails/rails_scaffold/test/dummy/.envrc
163
209
  - templates/rails/rails_scaffold/test/dummy/README.rdoc
164
210
  - templates/rails/rails_scaffold/test/dummy/Rakefile
211
+ - templates/rails/rails_scaffold/test/dummy/app/assets/images/.keep
165
212
  - templates/rails/rails_scaffold/test/dummy/app/assets/javascripts/application.js
166
213
  - templates/rails/rails_scaffold/test/dummy/app/assets/stylesheets/application.sass
167
214
  - templates/rails/rails_scaffold/test/dummy/app/controllers/application_controller.rb
215
+ - templates/rails/rails_scaffold/test/dummy/app/controllers/concerns/.keep
168
216
  - templates/rails/rails_scaffold/test/dummy/app/helpers/application_helper.rb
169
217
  - templates/rails/rails_scaffold/test/dummy/app/mailers/application_mailer.rb
218
+ - templates/rails/rails_scaffold/test/dummy/app/models/.keep
219
+ - templates/rails/rails_scaffold/test/dummy/app/models/concerns/.keep
170
220
  - templates/rails/rails_scaffold/test/dummy/app/views/layouts/application.html.erb
171
221
  - templates/rails/rails_scaffold/test/dummy/app/views/layouts/mailer.html.erb
172
222
  - templates/rails/rails_scaffold/test/dummy/app/views/layouts/mailer.text.erb
@@ -194,6 +244,8 @@ files:
194
244
  - templates/rails/rails_scaffold/test/dummy/config/routes.rb.tt
195
245
  - templates/rails/rails_scaffold/test/dummy/config/secrets.yml
196
246
  - templates/rails/rails_scaffold/test/dummy/db/seeds.rb
247
+ - templates/rails/rails_scaffold/test/dummy/lib/assets/.keep
248
+ - templates/rails/rails_scaffold/test/dummy/log/.keep
197
249
  - templates/rails/rails_scaffold/test/dummy/public/404.html
198
250
  - templates/rails/rails_scaffold/test/dummy/public/422.html
199
251
  - templates/rails/rails_scaffold/test/dummy/public/500.html
@@ -201,8 +253,12 @@ files:
201
253
  homepage: https://github.com/mslinn/nugem
202
254
  licenses:
203
255
  - MIT
204
- metadata: {}
205
- post_install_message:
256
+ metadata:
257
+ allowed_push_host: https://rubygems.org
258
+ bug_tracker_uri: https://github.com/mslinn/nugem/issues
259
+ changelog_uri: https://github.com/mslinn/nugem/CHANGELOG.md
260
+ homepage_uri: https://github.com/mslinn/nugem
261
+ source_code_uri: https://github.com/mslinn/nugem
206
262
  rdoc_options: []
207
263
  require_paths:
208
264
  - lib
@@ -217,8 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
273
  - !ruby/object:Gem::Version
218
274
  version: '0'
219
275
  requirements: []
220
- rubygems_version: 3.3.3
221
- signing_key:
276
+ rubygems_version: 3.6.0
222
277
  specification_version: 4
223
278
  summary: Nugem creates a scaffold project for new gems.
224
279
  test_files: []