ggem 1.9.5 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58d90e351c533deb56deb2c166b2f1bf1952476bf26b152e2f03d9dab41dfadb
4
- data.tar.gz: 385e2623bc98636318662f09b8868e450208278e3142fce4e681b55488bf4f34
3
+ metadata.gz: 64812107b65d72cd807545f60cfe9793592e0a4ea271f1a8417d674103b18692
4
+ data.tar.gz: 2f16ea9401c6a1e229059688ba2f3a8ae039c44aa12c2986e003df911b4a4c62
5
5
  SHA512:
6
- metadata.gz: c70525edbbd47ba4e679d136a49ed5d9fd5a21c637f7350b94675d6541dc2759ff9ff72c3ff1fb1c32341138fc96325bde64fb259c2b136feb7651bfe81b9ba3
7
- data.tar.gz: 134e0f59d5c2d27ad5363bda4705f68f8cb0a427967c49541a8bb4b8b00049897265e46798991b151c1649f515e511a1bc75e1ed3e1853e279ad633a88fa3fbc
6
+ metadata.gz: 0dfc09803b1246e6d8c3ceab5c67030e34752bf89377457fb7054ef7ce98e5cb026b0ae3cc6b6652ebbba7728b2d7073d7666ded99140ac670891f2d444a1886
7
+ data.tar.gz: 3ecfaee5d92c53f741ac8538ce5803b7ae94b4e5c8f0eb8d696fd8281e29f87e413159b1b2f3791a36a4734d9ca4996f9c6617168e8b2b428beb3acd6947d97d
@@ -1,6 +1,6 @@
1
+ # -*- encoding: utf-8 -*-
1
2
  # frozen_string_literal: true
2
3
 
3
- # -*- encoding: utf-8 -*-
4
4
  lib = File.expand_path("../lib", __FILE__)
5
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
6
  require "ggem/version"
@@ -10,20 +10,22 @@ Gem::Specification.new do |gem|
10
10
  gem.version = GGem::VERSION
11
11
  gem.authors = ["Kelly Redding", "Collin Redding"]
12
12
  gem.email = ["kelly@kellyredding.com", "collin.redding@me.com"]
13
- gem.summary = %q{"Juh Gem", baby! (a gem utility CLI)}
14
- gem.description = %q{"Juh Gem", baby! (a gem utility CLI)}
13
+ gem.summary = '"Juh Gem", baby! (a gem utility CLI)'
14
+ gem.description = '"Juh Gem", baby! (a gem utility CLI)'
15
15
  gem.homepage = "http://github.com/redding/ggem"
16
16
  gem.license = "MIT"
17
17
 
18
- gem.files = `git ls-files | grep "^[^.]"`.split($/)
18
+ gem.files = `git ls-files | grep "^[^.]"`.split($INPUT_RECORD_SEPARATOR)
19
+
19
20
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
20
21
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
21
22
  gem.require_paths = ["lib"]
22
23
 
23
24
  gem.required_ruby_version = "~> 2.5"
24
25
 
25
- gem.add_development_dependency("assert", ["~> 2.19.2"])
26
+ gem.add_development_dependency("assert", ["~> 2.19.2"])
27
+ gem.add_development_dependency("much-style-guide", ["~> 0.3.0"])
26
28
 
27
- gem.add_dependency("much-plugin", ["~> 0.2.3"])
28
- gem.add_dependency("scmd", ["~> 3.0.3"])
29
+ gem.add_dependency("much-mixin", ["~> 0.2.3"])
30
+ gem.add_dependency("scmd", ["~> 3.0.3"])
29
31
  end
@@ -5,6 +5,7 @@ require "ggem/cli/clirb"
5
5
  require "ggem/cli/commands"
6
6
 
7
7
  module GGem; end
8
+
8
9
  class GGem::CLI
9
10
  COMMANDS = CommandSet.new{ |unknown| InvalidCommand.new(unknown) }.tap do |c|
10
11
  c.add(GenerateCommand, "generate", "g")
@@ -16,7 +17,7 @@ class GGem::CLI
16
17
  end
17
18
 
18
19
  def self.run(args)
19
- self.new.run(args)
20
+ new.run(args)
20
21
  end
21
22
 
22
23
  def initialize(kernel = nil, stdout = nil, stderr = nil)
@@ -34,16 +35,16 @@ class GGem::CLI
34
35
  @stdout.puts cmd.help
35
36
  rescue CLIRB::VersionExit
36
37
  @stdout.puts GGem::VERSION
37
- rescue CLIRB::Error, ArgumentError, InvalidCommandError => exception
38
- display_debug(exception)
39
- @stderr.puts "#{exception.message}\n\n"
38
+ rescue CLIRB::Error, ArgumentError, InvalidCommandError => ex
39
+ display_debug(ex)
40
+ @stderr.puts "#{ex.message}\n\n"
40
41
  @stdout.puts cmd.help
41
42
  @kernel.exit 1
42
43
  rescue CommandExitError
43
44
  @kernel.exit 1
44
- rescue StandardError => exception
45
- @stderr.puts "#{exception.class}: #{exception.message}"
46
- @stderr.puts exception.backtrace.join("\n")
45
+ rescue => ex
46
+ @stderr.puts "#{ex.class}: #{ex.message}"
47
+ @stderr.puts ex.backtrace.join("\n")
47
48
  @kernel.exit 1
48
49
  end
49
50
  @kernel.exit 0
@@ -1,9 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "ggem/cli/clirb"
4
- require "much-plugin"
4
+ require "much-mixin"
5
5
 
6
6
  module GGem; end
7
+
7
8
  class GGem::CLI
8
9
  InvalidCommandError = Class.new(ArgumentError)
9
10
  CommandExitError = Class.new(RuntimeError)
@@ -16,12 +17,14 @@ class GGem::CLI
16
17
  @clirb = CLIRB.new
17
18
  end
18
19
 
19
- def new; self; end
20
+ def new
21
+ self
22
+ end
20
23
 
21
24
  def run(argv)
22
25
  @clirb.parse!([@name, argv].flatten.compact)
23
26
  raise CLIRB::HelpExit if @name.to_s.empty?
24
- raise InvalidCommandError, "`#{self.name}` is not a command."
27
+ raise InvalidCommandError, "`#{name}` is not a command."
25
28
  end
26
29
 
27
30
  def help
@@ -33,14 +36,16 @@ class GGem::CLI
33
36
  end
34
37
 
35
38
  module ValidCommand
36
- include MuchPlugin
39
+ include MuchMixin
37
40
 
38
- plugin_instance_methods do
41
+ mixin_instance_methods do
39
42
  def initialize(&clirb_build)
40
43
  @clirb = CLIRB.new(&clirb_build)
41
44
  end
42
45
 
43
- def clirb; @clirb; end
46
+ def clirb
47
+ @clirb
48
+ end
44
49
 
45
50
  def run(argv, stdout = nil, stderr = nil)
46
51
  @clirb.parse!(argv)
@@ -55,9 +60,9 @@ class GGem::CLI
55
60
  end
56
61
 
57
62
  module NotifyCmdCommand
58
- include MuchPlugin
63
+ include MuchMixin
59
64
 
60
- plugin_instance_methods do
65
+ mixin_instance_methods do
61
66
  private
62
67
 
63
68
  def notify(success_msg, &cmd_block)
@@ -66,7 +71,7 @@ class GGem::CLI
66
71
  end
67
72
 
68
73
  def cmd(&cmd_block)
69
- cmd, status, output = cmd_block.call
74
+ cmd, _status, output = cmd_block.call
70
75
  if ENV["DEBUG"]
71
76
  @stdout.puts cmd
72
77
  @stdout.puts output
@@ -76,14 +81,14 @@ class GGem::CLI
76
81
  end
77
82
 
78
83
  module GitRepoCommand
79
- include MuchPlugin
84
+ include MuchMixin
80
85
 
81
- plugin_included do
86
+ mixin_included do
82
87
  include ValidCommand
83
88
  include NotifyCmdCommand
84
89
  end
85
90
 
86
- plugin_instance_methods do
91
+ mixin_instance_methods do
87
92
  def initialize(*args)
88
93
  super
89
94
 
@@ -96,8 +101,8 @@ class GGem::CLI
96
101
  def notify(*args, &block)
97
102
  begin
98
103
  super
99
- rescue GGem::GitRepo::CmdError => exception
100
- @stderr.puts exception.message
104
+ rescue GGem::GitRepo::CmdError => ex
105
+ @stderr.puts ex.message
101
106
  raise CommandExitError
102
107
  end
103
108
  end
@@ -114,9 +119,9 @@ class GGem::CLI
114
119
  require "ggem/gem"
115
120
  path = GGem::Gem.new(Dir.pwd, @clirb.args.first).save!.path
116
121
  @stdout.puts "created gem in #{path}"
117
- rescue GGem::Gem::NoNameError => exception
122
+ rescue GGem::Gem::NoNameError => ex
118
123
  error = ArgumentError.new("GEM-NAME must be provided")
119
- error.set_backtrace(exception.backtrace)
124
+ error.set_backtrace(ex.backtrace)
120
125
  raise error
121
126
  end
122
127
 
@@ -132,28 +137,28 @@ class GGem::CLI
132
137
  "Usage: ggem generate [options] GEM-NAME\n\n" \
133
138
  "Options: #{@clirb}\n" \
134
139
  "Description:\n" \
135
- " #{self.summary}"
140
+ " #{summary}"
136
141
  end
137
142
  end
138
143
 
139
144
  module GemspecCommand
140
- include MuchPlugin
145
+ include MuchMixin
141
146
 
142
- plugin_included do
147
+ mixin_included do
143
148
  include ValidCommand
144
149
  include NotifyCmdCommand
145
150
  end
146
151
 
147
- plugin_instance_methods do
152
+ mixin_instance_methods do
148
153
  def initialize(*args)
149
154
  super
150
155
 
151
156
  require "ggem/gemspec"
152
157
  begin
153
158
  @spec = GGem::Gemspec.new(Dir.pwd)
154
- rescue GGem::Gemspec::NotFoundError => exception
159
+ rescue GGem::Gemspec::NotFoundError => ex
155
160
  error = ArgumentError.new("There are no gemspecs at #{Dir.pwd}")
156
- error.set_backtrace(exception.backtrace)
161
+ error.set_backtrace(ex.backtrace)
157
162
  raise error
158
163
  end
159
164
  end
@@ -163,8 +168,8 @@ class GGem::CLI
163
168
  def notify(*args, &block)
164
169
  begin
165
170
  super
166
- rescue GGem::Gemspec::CmdError => exception
167
- @stderr.puts exception.message
171
+ rescue GGem::Gemspec::CmdError => ex
172
+ @stderr.puts ex.message
168
173
  raise CommandExitError
169
174
  end
170
175
  end
@@ -190,7 +195,7 @@ class GGem::CLI
190
195
  "Usage: ggem build [options]\n\n" \
191
196
  "Options: #{@clirb}\n" \
192
197
  "Description:\n" \
193
- " #{self.summary}"
198
+ " #{summary}"
194
199
  end
195
200
  end
196
201
 
@@ -219,7 +224,7 @@ class GGem::CLI
219
224
  "Usage: ggem install [options]\n\n" \
220
225
  "Options: #{@clirb}\n" \
221
226
  "Description:\n" \
222
- " #{self.summary}"
227
+ " #{summary}"
223
228
  end
224
229
  end
225
230
 
@@ -249,22 +254,22 @@ class GGem::CLI
249
254
  "Usage: ggem push [options]\n\n" \
250
255
  "Options: #{@clirb}\n" \
251
256
  "Description:\n" \
252
- " #{self.summary}"
257
+ " #{summary}"
253
258
  end
254
259
  end
255
260
 
256
261
  module ForceTagOptionCommand
257
- include MuchPlugin
262
+ include MuchMixin
258
263
 
259
- plugin_included do
264
+ mixin_included do
260
265
  include ValidCommand
261
266
  end
262
267
 
263
- plugin_instance_methods do
268
+ mixin_instance_methods do
264
269
  def initialize
265
270
  super do
266
271
  option "force-tag", "force tagging even with uncommitted files", {
267
- :abbrev => "f"
272
+ abbrev: "f",
268
273
  }
269
274
  end
270
275
  end
@@ -282,9 +287,9 @@ class GGem::CLI
282
287
  begin
283
288
  cmd{ @repo.run_validate_clean_cmd }
284
289
  cmd{ @repo.run_validate_committed_cmd }
285
- rescue GGem::GitRepo::CmdError => err
290
+ rescue GGem::GitRepo::CmdError
286
291
  @stderr.puts "There are files that need to be committed first."
287
- if self.clirb.opts["force-tag"]
292
+ if clirb.opts["force-tag"]
288
293
  @stderr.puts "Forcing tag anyway..."
289
294
  else
290
295
  raise CommandExitError
@@ -303,8 +308,8 @@ class GGem::CLI
303
308
  end
304
309
 
305
310
  @stdout.puts "Pushed git commits and tags."
306
- rescue GGem::GitRepo::CmdError => err
307
- @stderr.puts err.message
311
+ rescue GGem::GitRepo::CmdError => ex
312
+ @stderr.puts ex.message
308
313
  raise CommandExitError
309
314
  end
310
315
 
@@ -316,7 +321,7 @@ class GGem::CLI
316
321
  "Usage: ggem tag [options]\n\n" \
317
322
  "Options: #{@clirb}\n" \
318
323
  "Description:\n" \
319
- " #{self.summary}"
324
+ " #{summary}"
320
325
  end
321
326
  end
322
327
 
@@ -332,7 +337,7 @@ class GGem::CLI
332
337
 
333
338
  def run(argv, *args)
334
339
  super
335
- @tag_command.run(self.clirb.opts["force-tag"] ? ["--force-tag"] : [])
340
+ @tag_command.run(clirb.opts["force-tag"] ? ["--force-tag"] : [])
336
341
  @push_command.run([])
337
342
  end
338
343
 
@@ -345,14 +350,14 @@ class GGem::CLI
345
350
  "Usage: ggem release [options]\n\n" \
346
351
  "Options: #{@clirb}\n" \
347
352
  "Description:\n" \
348
- " #{self.summary}\n" \
353
+ " #{summary}\n" \
349
354
  " (macro for running `ggem tag && ggem push`)"
350
355
  end
351
356
  end
352
357
 
353
358
  class CommandSet
354
359
  def initialize(&unknown_cmd_block)
355
- @lookup = Hash.new{ |h,k| unknown_cmd_block.call(k) }
360
+ @lookup = Hash.new{ |_h, k| unknown_cmd_block.call(k) }
356
361
  @names = []
357
362
  @aliases = {}
358
363
  @summaries = {}
@@ -361,7 +366,7 @@ class GGem::CLI
361
366
  def add(klass, name, *aliases)
362
367
  begin
363
368
  cmd = klass.new
364
- rescue StandardError => err
369
+ rescue
365
370
  # don't add any commands you can't init
366
371
  else
367
372
  ([name] + aliases).each{ |n| @lookup[n] = cmd }
@@ -388,12 +393,13 @@ class GGem::CLI
388
393
  end
389
394
 
390
395
  def to_s
391
- max_name_size = @names.map{ |n| n.size }.max || 0
392
- max_alias_size = @aliases.values.map{ |v| v.size }.max || 0
396
+ max_name_size = @names.map(&:size).max || 0
397
+ max_alias_size = @aliases.values.map(&:size).max || 0
393
398
 
394
- @to_s ||= @names.map do |n|
395
- "#{n.ljust(max_name_size)} #{@aliases[n].ljust(max_alias_size)} #{@summaries[n]}"
396
- end.join("\n")
399
+ @to_s ||= @names.map{ |n|
400
+ "#{n.ljust(max_name_size)} #{@aliases[n].ljust(max_alias_size)} "\
401
+ "#{@summaries[n]}"
402
+ }.join("\n")
397
403
  end
398
404
  end
399
405
  end
@@ -4,6 +4,7 @@ require "fileutils"
4
4
  require "ggem/template"
5
5
 
6
6
  module GGem; end
7
+
7
8
  class GGem::Gem
8
9
  NoNameError = Class.new(ArgumentError)
9
10
 
@@ -30,13 +31,13 @@ class GGem::Gem
30
31
  def module_name
31
32
  transforms = {
32
33
  "_" => "",
33
- "-" => ""
34
+ "-" => "",
34
35
  }
35
- @module_name ||= transform_name(transforms){ |part| part.capitalize }
36
+ @module_name ||= transform_name(transforms, &:capitalize)
36
37
  end
37
38
 
38
39
  def ruby_name
39
- @ruby_name ||= transform_name{ |part| part.downcase }
40
+ @ruby_name ||= transform_name(&:downcase)
40
41
  end
41
42
 
42
43
  private
@@ -44,15 +45,15 @@ class GGem::Gem
44
45
  def normalize_name(name)
45
46
  und_camelcs = [/([A-Z])([a-z])/, '_\1\2']
46
47
  rm_dup_und = [/_+/, "_"]
47
- rm_lead_und = [/^_/, "" ]
48
+ rm_lead_und = [/^_/, ""]
48
49
  name.gsub(*und_camelcs).gsub(*rm_dup_und).sub(*rm_lead_und).downcase
49
50
  end
50
51
 
51
52
  def transform_name(conditions = {}, &block)
52
- n = (block ? block.call(self.name) : self.name)
53
+ n = (block ? block.call(name) : name)
53
54
  conditions.each do |on, glue|
54
55
  if (a = n.split(on)).size > 1
55
- n = a.map{ |part| block.call(part) if block }.join(glue)
56
+ n = a.map{ |part| block&.call(part) }.join(glue)
56
57
  end
57
58
  end
58
59
  n
@@ -4,10 +4,11 @@ require "pathname"
4
4
  require "scmd"
5
5
 
6
6
  module GGem; end
7
+
7
8
  class GGem::Gemspec
8
9
  PUSH_HOST_META_KEY = "allowed_push_host"
9
- DEFAULT_PUSH_HOST = "https://rubygems.org".freeze
10
- BUILD_TO_DIRNAME = "pkg".freeze
10
+ DEFAULT_PUSH_HOST = "https://rubygems.org"
11
+ BUILD_TO_DIRNAME = "pkg"
11
12
 
12
13
  NotFoundError = Class.new(ArgumentError)
13
14
  LoadError = Class.new(ArgumentError)
@@ -55,25 +56,34 @@ class GGem::Gemspec
55
56
  def run_cmd(cmd_string)
56
57
  cmd = Scmd.new(cmd_string)
57
58
  cmd.run
58
- if !cmd.success?
59
- raise CmdError, "#{cmd_string}\n" \
60
- "#{cmd.stderr.empty? ? cmd.stdout : cmd.stderr}"
59
+ unless cmd.success?
60
+ raise(
61
+ CmdError,
62
+ "#{cmd_string}\n#{cmd.stderr.empty? ? cmd.stdout : cmd.stderr}",
63
+ )
61
64
  end
62
65
  [cmd_string, cmd.exitstatus, cmd.stdout]
63
66
  end
64
67
 
65
68
  def load_gemspec(path)
66
- eval(path.read, TOPLEVEL_BINDING, path.expand_path.to_s)
67
- rescue ScriptError, StandardError => e
68
- original_line = e.backtrace.find{ |line| line.include?(path.to_s) }
69
- msg = "There was a #{e.class} while loading #{path.basename}: \n#{e.message}"
69
+ eval( # rubocop:disable Security/Eval
70
+ path.read,
71
+ TOPLEVEL_BINDING,
72
+ path.expand_path.to_s,
73
+ )
74
+ rescue ScriptError, StandardError => ex
75
+ original_line = ex.backtrace.find{ |line| line.include?(path.to_s) }
76
+ msg =
77
+ "There was a #{ex.class} while loading #{path.basename}: \n#{ex.message}"
70
78
  msg << " from\n #{original_line}" if original_line
71
79
  msg << "\n"
72
80
  raise LoadError, msg
73
81
  end
74
82
 
75
83
  def get_push_host(spec)
76
- ENV["GGEM_PUSH_HOST"] || get_meta(spec)[PUSH_HOST_META_KEY] || DEFAULT_PUSH_HOST
84
+ ENV["GGEM_PUSH_HOST"] ||
85
+ get_meta(spec)[PUSH_HOST_META_KEY] ||
86
+ DEFAULT_PUSH_HOST
77
87
  end
78
88
 
79
89
  def get_meta(spec)
@@ -4,6 +4,7 @@ require "pathname"
4
4
  require "scmd"
5
5
 
6
6
  module GGem; end
7
+
7
8
  class GGem::GitRepo
8
9
  NotFoundError = Class.new(ArgumentError)
9
10
  CmdError = Class.new(RuntimeError)
@@ -48,7 +49,7 @@ class GGem::GitRepo
48
49
  cmd_string = "cd #{@path} && #{cmd_string}"
49
50
  cmd = Scmd.new(cmd_string)
50
51
  cmd.run
51
- if !cmd.success?
52
+ unless cmd.success?
52
53
  raise CmdError, "#{cmd_string}\n" \
53
54
  "#{cmd.stderr.empty? ? cmd.stdout : cmd.stderr}"
54
55
  end
@@ -4,6 +4,7 @@ require "erb"
4
4
  require "fileutils"
5
5
 
6
6
  module GGem; end
7
+
7
8
  class GGem::Template
8
9
  def initialize(ggem)
9
10
  @ggem = ggem
@@ -18,12 +19,15 @@ class GGem::Template
18
19
  save_folder "log"
19
20
  save_folder "tmp"
20
21
 
22
+ save_file("l.yml.erb", ".l.yml")
23
+ save_file("t.yml.erb", ".t.yml")
24
+ save_file("rubocop.yml.erb", ".rubocop.yml")
21
25
  save_file("ruby-version.erb", ".ruby-version")
22
- save_file("gitignore.erb", ".gitignore")
23
- save_file("Gemfile.erb", "Gemfile")
24
- save_file("gemspec.erb", "#{@ggem.name}.gemspec")
25
- save_file("README.md.erb", "README.md")
26
- save_file("LICENSE.erb", "LICENSE")
26
+ save_file("gitignore.erb", ".gitignore")
27
+ save_file("Gemfile.erb", "Gemfile")
28
+ save_file("gemspec.erb", "#{@ggem.name}.gemspec")
29
+ save_file("README.md.erb", "README.md")
30
+ save_file("LICENSE.erb", "LICENSE")
27
31
 
28
32
  save_file("lib.rb.erb", "lib/#{@ggem.ruby_name}.rb")
29
33
  save_file("lib_version.rb.erb", "lib/#{@ggem.ruby_name}/version.rb")
@@ -39,7 +43,7 @@ class GGem::Template
39
43
 
40
44
  private
41
45
 
42
- def save_folder(relative_path=nil)
46
+ def save_folder(relative_path = nil)
43
47
  path = File.join([@ggem.path, relative_path].compact)
44
48
  FileUtils.mkdir_p(path)
45
49
  end
@@ -53,10 +57,10 @@ class GGem::Template
53
57
  source_file = File.join(File.dirname(__FILE__), "template_file", source)
54
58
  output_file = File.join(@ggem.root_path, @ggem.name, output)
55
59
 
56
- if File.exists?(source_file)
60
+ if File.exist?(source_file)
57
61
  FileUtils.mkdir_p(File.dirname(output_file))
58
62
  erb = ERB.new(File.read(source_file))
59
- File.open(output_file, "w") {|f| f << erb.result(binding) }
63
+ File.open(output_file, "w"){ |f| f << erb.result(binding) }
60
64
  else
61
65
  raise ArgumentError, "the source file `#{source_file}` does not exist"
62
66
  end
@@ -1,6 +1,6 @@
1
+ # -*- encoding: utf-8 -*-
1
2
  # frozen_string_literal: true
2
3
 
3
- # -*- encoding: utf-8 -*-
4
4
  lib = File.expand_path("../lib", __FILE__)
5
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
6
  require "<%= @ggem.ruby_name %>/version"
@@ -15,14 +15,16 @@ Gem::Specification.new do |gem|
15
15
  gem.homepage = "TODO: homepage"
16
16
  gem.license = "MIT"
17
17
 
18
- gem.files = `git ls-files | grep "^[^.]"`.split($/)
18
+ gem.files = `git ls-files | grep "^[^.]"`.split($INPUT_RECORD_SEPARATOR)
19
+
19
20
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
20
21
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
21
22
  gem.require_paths = ["lib"]
22
23
 
23
24
  gem.required_ruby_version = "~> 2.5"
24
25
 
25
- gem.add_development_dependency("assert", ["~> 2.19.2"])
26
+ gem.add_development_dependency("assert", ["~> 2.19.2"])
27
+ gem.add_development_dependency("much-style-guide", ["~> 0.3.0"])
26
28
 
27
29
  # TODO: gem.add_dependency("gem-name", ["~> 0.0.0"])
28
30
  end
@@ -4,6 +4,7 @@
4
4
  .rbx/
5
5
  .bundle
6
6
  .config
7
+ .rubocop-*-yml
7
8
  .yardoc
8
9
  Gemfile.lock
9
10
  InstalledFiles
@@ -0,0 +1,8 @@
1
+ # https://github.com/redding/l.rb
2
+
3
+ linters:
4
+ - name: "Rubocop"
5
+ cmd: "bundle exec rubocop"
6
+ extensions:
7
+ - ".rb"
8
+ cli_abbrev: "u"
@@ -0,0 +1,3 @@
1
+ inherit_gem:
2
+ much-style-guide:
3
+ - "lib/much-style-guide/rubocop.yml"
@@ -1 +1 @@
1
- 2.5.5
1
+ 2.5.8
@@ -0,0 +1,6 @@
1
+ # https://github.com/redding/t.rb
2
+
3
+ default_cmd: "bundle exec assert"
4
+ test_dir: "test"
5
+ test_file_suffixes:
6
+ - "_tests.rb"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GGem
4
- VERSION = "1.9.5"
4
+ VERSION = "1.10.0"
5
5
  end
@@ -1,13 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "much-plugin"
3
+ require "much-mixin"
4
4
  require "scmd"
5
5
 
6
6
  module GGem; end
7
+
7
8
  module GGem::CmdTestsHelpers
8
- include MuchPlugin
9
+ include MuchMixin
9
10
 
10
- plugin_included do
11
+ mixin_included do
11
12
  setup do
12
13
  ENV["SCMD_TEST_MODE"] = "1"
13
14
 
@@ -39,12 +40,11 @@ module GGem::CmdTestsHelpers
39
40
  cmd.stderr = Factory.string
40
41
  @cmd_spy = cmd
41
42
  end
42
- err = nil
43
- begin; run_cmd_block.call; rescue StandardError => err; end
44
43
 
45
- assert_kind_of cmd_error_class, err
44
+ ex =
45
+ assert_that{ run_cmd_block.call }.raises(cmd_error_class)
46
46
  exp = "#{@cmd_spy.cmd_str}\n#{@cmd_spy.stderr}"
47
- assert_equal exp, err.message
47
+ assert_equal exp, ex.message
48
48
  end
49
49
  end
50
50
  end
@@ -1,18 +1,17 @@
1
- # frozen_string_literal: true
2
-
3
1
  # -*- encoding: utf-8 -*-
2
+
3
+ # frozen_string_literal: true
4
4
  Gem::Specification.new do |gem|
5
5
  gem.name = "gem1"
6
6
  gem.version = "0.1.0"
7
7
  gem.authors = []
8
8
  gem.email = []
9
- gem.summary = %q{Gem 1 summary}
10
- gem.description = %q{Gem 1 description}
9
+ gem.summary = "Gem 1 summary"
10
+ gem.description = "Gem 1 description"
11
11
  gem.license = "MIT"
12
12
 
13
13
  gem.files = []
14
14
  gem.executables = []
15
15
  gem.test_files = []
16
16
  gem.require_paths = []
17
-
18
17
  end
@@ -1,13 +1,13 @@
1
- # frozen_string_literal: true
2
-
3
1
  # -*- encoding: utf-8 -*-
2
+
3
+ # frozen_string_literal: true
4
4
  Gem::Specification.new do |gem|
5
5
  gem.name = "gem2"
6
6
  gem.version = "0.2.0"
7
7
  gem.authors = []
8
8
  gem.email = []
9
- gem.summary = %q{Gem 2 summary}
10
- gem.description = %q{Gem 2 description}
9
+ gem.summary = "Gem 2 summary"
10
+ gem.description = "Gem 2 description"
11
11
  gem.license = "MIT"
12
12
 
13
13
  gem.metadata["allowed_push_host"] = "http://gems.example.com"
@@ -16,5 +16,4 @@ Gem::Specification.new do |gem|
16
16
  gem.executables = []
17
17
  gem.test_files = []
18
18
  gem.require_paths = []
19
-
20
19
  end
@@ -1,12 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GGem; end
4
+
4
5
  module GGem::NameSet
5
6
  class Base
6
7
  attr_reader :variations, :name, :module_name, :ruby_name
7
8
 
8
9
  def expected_folders
9
- [ "",
10
+ [
11
+ "",
10
12
  "lib",
11
13
  "lib/#{@ruby_name}",
12
14
  "test",
@@ -14,12 +16,13 @@ module GGem::NameSet
14
16
  "test/system",
15
17
  "test/unit",
16
18
  "log",
17
- "tmp"
19
+ "tmp",
18
20
  ]
19
21
  end
20
22
 
21
23
  def expected_files
22
- [ ".ruby-version",
24
+ [
25
+ ".ruby-version",
23
26
  ".gitignore",
24
27
  "Gemfile",
25
28
  "#{@name}.gemspec",
@@ -7,7 +7,6 @@ require "test/support/name_set"
7
7
 
8
8
  module GGem
9
9
  class SystemTests < Assert::Context
10
-
11
10
  NS_SIMPLE = GGem::NameSet::Simple
12
11
  NS_UNDER = GGem::NameSet::Underscored
13
12
  NS_HYPHEN = GGem::NameSet::HyphenatedOther
@@ -18,7 +17,8 @@ module GGem
18
17
  class GemTests < SystemTests
19
18
  desc "Gem"
20
19
 
21
- should "know its name attrs for various name styles (simple/underscored/hyphenated)" do
20
+ should "know its name attrs for various name styles "\
21
+ "(simple/underscored/hyphenated)" do
22
22
  [NS_SIMPLE, NS_UNDER, NS_HYPHEN].each do |ns|
23
23
  assert_gem_name_set(ns.new)
24
24
  end
@@ -45,7 +45,8 @@ module GGem
45
45
  FileUtils.rm_rf(TMP_PATH)
46
46
  end
47
47
 
48
- should "save gems with various name styles (simple/underscored/hyphenated)" do
48
+ should "save gems with various name styles "\
49
+ "(simple/underscored/hyphenated)" do
49
50
  [NS_SIMPLE, NS_UNDER, NS_HYPHEN].each do |ns|
50
51
  init_gem = GGem::Gem.new(TMP_PATH, ns.new.variations.first)
51
52
  gem_from_save = init_gem.save!
@@ -60,10 +61,12 @@ module GGem
60
61
  def assert_gem_created(name_set)
61
62
  folders = name_set.expected_folders
62
63
  files = name_set.expected_files
63
- paths = (folders + files).collect{ |p| File.join(TMP_PATH, name_set.name, p) }
64
+ paths = (folders + files).collect do |p|
65
+ File.join(TMP_PATH, name_set.name, p)
66
+ end
64
67
 
65
68
  paths.flatten.each do |path|
66
- assert File.exists?(path), "`#{path}` does not exist"
69
+ assert File.exist?(path), "`#{path}` does not exist"
67
70
  end
68
71
  end
69
72
  end
@@ -8,7 +8,7 @@ require "ggem/cli/commands"
8
8
  require "ggem/gem"
9
9
  require "ggem/gemspec"
10
10
  require "ggem/git_repo"
11
- require "much-plugin"
11
+ require "much-mixin"
12
12
 
13
13
  class GGem::CLI
14
14
  class UnitTests < Assert::Context
@@ -147,7 +147,7 @@ class GGem::CLI
147
147
  class RunWithHelpTests < RunSetupTests
148
148
  desc "and run with the help switch"
149
149
  setup do
150
- @cli.run([ "--help" ])
150
+ @cli.run(["--help"])
151
151
  end
152
152
 
153
153
  should "output the invalid command's help" do
@@ -163,7 +163,7 @@ class GGem::CLI
163
163
  class RunWithVersionTests < RunSetupTests
164
164
  desc "and run with the version switch"
165
165
  setup do
166
- @cli.run([ "--version" ])
166
+ @cli.run(["--version"])
167
167
  end
168
168
 
169
169
  should "have output its version" do
@@ -217,8 +217,8 @@ class GGem::CLI
217
217
  end
218
218
 
219
219
  should "parse its argv on run" do
220
- assert_raises(CLIRB::HelpExit){ subject.new.run([ "--help" ]) }
221
- assert_raises(CLIRB::VersionExit){ subject.new.run([ "--version" ]) }
220
+ assert_raises(CLIRB::HelpExit){ subject.new.run(["--help"]) }
221
+ assert_raises(CLIRB::VersionExit){ subject.new.run(["--version"]) }
222
222
  end
223
223
 
224
224
  should "raise a help exit if its name is empty" do
@@ -269,7 +269,7 @@ class GGem::CLI
269
269
 
270
270
  should "take custom CLIRB build procs" do
271
271
  cmd = @command_class.new do
272
- option "test", "testing", :abbrev => "t"
272
+ option "test", "testing", abbrev: "t"
273
273
  end
274
274
  cmd.run(["-t"], @stdout, @stderr)
275
275
  assert_true cmd.clirb.opts["test"]
@@ -284,7 +284,7 @@ class GGem::CLI
284
284
  desc "GitRepoCommand"
285
285
  setup do
286
286
  @gem1_root_path = TEST_SUPPORT_PATH.join("gem1")
287
- Assert.stub(Dir, :pwd){ @gem1_root_path}
287
+ Assert.stub(Dir, :pwd){ @gem1_root_path }
288
288
 
289
289
  @command_class = Class.new{ include GitRepoCommand }
290
290
  @cmd = @command_class.new
@@ -305,9 +305,9 @@ class GGem::CLI
305
305
  end
306
306
 
307
307
  module RootPathTests
308
- include MuchPlugin
308
+ include MuchMixin
309
309
 
310
- plugin_included do
310
+ mixin_included do
311
311
  setup do
312
312
  @root_path = Factory.path
313
313
  Assert.stub(Dir, :pwd){ @root_path }
@@ -316,14 +316,16 @@ class GGem::CLI
316
316
  end
317
317
 
318
318
  module GitRepoSpyTests
319
- include MuchPlugin
319
+ include MuchMixin
320
320
 
321
- plugin_included do
321
+ mixin_included do
322
322
  include RootPathTests
323
323
 
324
324
  setup do
325
325
  @repo_spy = nil
326
- Assert.stub(GGem::GitRepo, :new){ |*args| @repo_spy = GitRepoSpy.new(*args) }
326
+ Assert.stub(GGem::GitRepo, :new) do |*args|
327
+ @repo_spy = GitRepoSpy.new(*args)
328
+ end
327
329
  end
328
330
  end
329
331
  end
@@ -383,17 +385,15 @@ class GGem::CLI
383
385
 
384
386
  should "re-raise a specific argument error on gem 'no name' errors" do
385
387
  Assert.stub(@gem_class, :new){ raise GGem::Gem::NoNameError }
386
- err = nil
387
- begin
388
- cmd = @command_class.new
389
- cmd.run([])
390
- rescue ArgumentError => err
391
- end
392
388
 
393
- assert_not_nil err
389
+ ex =
390
+ assert_that{
391
+ cmd = @command_class.new
392
+ cmd.run([])
393
+ }.raises(ArgumentError)
394
394
  exp = "GEM-NAME must be provided"
395
- assert_equal exp, err.message
396
- assert_not_empty err.backtrace
395
+ assert_equal exp, ex.message
396
+ assert_not_empty ex.backtrace
397
397
  end
398
398
  end
399
399
 
@@ -401,7 +401,7 @@ class GGem::CLI
401
401
  desc "GemspecCommand"
402
402
  setup do
403
403
  @gem1_root_path = TEST_SUPPORT_PATH.join("gem1")
404
- Assert.stub(Dir, :pwd){ @gem1_root_path}
404
+ Assert.stub(Dir, :pwd){ @gem1_root_path }
405
405
 
406
406
  @command_class = Class.new{ include GemspecCommand }
407
407
  @cmd = @command_class.new
@@ -424,25 +424,23 @@ class GGem::CLI
424
424
  root = Factory.path
425
425
  Assert.stub(Dir, :pwd){ root }
426
426
 
427
- begin
428
- cmd = @command_class.new
429
- rescue ArgumentError => err
430
- end
431
- assert_not_nil err
427
+ ex = assert_that{ @command_class.new }.raises(ArgumentError)
432
428
  exp = "There are no gemspecs at #{Dir.pwd}"
433
- assert_equal exp, err.message
429
+ assert_equal exp, ex.message
434
430
  end
435
431
  end
436
432
 
437
433
  module GemspecSpyTests
438
- include MuchPlugin
434
+ include MuchMixin
439
435
 
440
- plugin_included do
436
+ mixin_included do
441
437
  include RootPathTests
442
438
 
443
439
  setup do
444
440
  @spec_spy = nil
445
- Assert.stub(GGem::Gemspec, :new){ |*args| @spec_spy = GemspecSpy.new(*args) }
441
+ Assert.stub(GGem::Gemspec, :new) do |*args|
442
+ @spec_spy = GemspecSpy.new(*args)
443
+ end
446
444
  end
447
445
  end
448
446
  end
@@ -481,7 +479,9 @@ class GGem::CLI
481
479
  assert_true @spec_spy.run_build_cmd_called
482
480
 
483
481
  exp = ENV["DEBUG"] == "1" ? "build\nbuild cmd was run\n" : ""
484
- exp += "#{@spec_spy.name} #{@spec_spy.version} built to #{@spec_spy.gem_file}\n"
482
+ exp +=
483
+ "#{@spec_spy.name} #{@spec_spy.version} built to "\
484
+ "#{@spec_spy.gem_file}\n"
485
485
  assert_equal exp, @stdout.read
486
486
 
487
487
  ENV["DEBUG"] = nil
@@ -489,7 +489,9 @@ class GGem::CLI
489
489
 
490
490
  should "handle cmd errors when run" do
491
491
  err_msg = Factory.string
492
- Assert.stub(@spec_spy, :run_build_cmd){ raise GGem::Gemspec::CmdError, err_msg }
492
+ Assert.stub(@spec_spy, :run_build_cmd) do
493
+ raise GGem::Gemspec::CmdError, err_msg
494
+ end
493
495
 
494
496
  assert_raises(CommandExitError){ subject.run([], @stdout, @stderr) }
495
497
  assert_equal "#{err_msg}\n", @stderr.read
@@ -502,7 +504,9 @@ class GGem::CLI
502
504
  desc "InstallCommand"
503
505
  setup do
504
506
  @build_spy = nil
505
- Assert.stub(BuildCommand, :new){ |*args| @build_spy = CommandSpy.new(*args) }
507
+ Assert.stub(BuildCommand, :new) do |*args|
508
+ @build_spy = CommandSpy.new(*args)
509
+ end
506
510
 
507
511
  @command_class = InstallCommand
508
512
  @cmd = @command_class.new
@@ -529,7 +533,8 @@ class GGem::CLI
529
533
  assert @build_spy
530
534
  end
531
535
 
532
- should "run the build command and call the spec's run install cmds when run" do
536
+ should "run the build command and call the spec's run install cmds when "\
537
+ "run" do
533
538
  ENV["DEBUG"] = [nil, "1"].sample
534
539
  subject.run(@argv, @stdout, @stderr)
535
540
 
@@ -546,7 +551,9 @@ class GGem::CLI
546
551
 
547
552
  should "handle cmd errors when run" do
548
553
  err_msg = Factory.string
549
- Assert.stub(@spec_spy, :run_install_cmd){ raise GGem::Gemspec::CmdError, err_msg }
554
+ Assert.stub(@spec_spy, :run_install_cmd) do
555
+ raise GGem::Gemspec::CmdError, err_msg
556
+ end
550
557
 
551
558
  assert_raises(CommandExitError){ subject.run(@argv, @stdout, @stderr) }
552
559
  assert_equal "#{err_msg}\n", @stderr.read
@@ -559,7 +566,9 @@ class GGem::CLI
559
566
  desc "PushCommand"
560
567
  setup do
561
568
  @build_spy = nil
562
- Assert.stub(BuildCommand, :new){ |*args| @build_spy = CommandSpy.new(*args) }
569
+ Assert.stub(BuildCommand, :new) do |*args|
570
+ @build_spy = CommandSpy.new(*args)
571
+ end
563
572
 
564
573
  @command_class = PushCommand
565
574
  @cmd = @command_class.new
@@ -604,7 +613,9 @@ class GGem::CLI
604
613
 
605
614
  should "handle cmd errors when run" do
606
615
  err_msg = Factory.string
607
- Assert.stub(@spec_spy, :run_push_cmd){ raise GGem::Gemspec::CmdError, err_msg }
616
+ Assert.stub(@spec_spy, :run_push_cmd) do
617
+ raise GGem::Gemspec::CmdError, err_msg
618
+ end
608
619
 
609
620
  assert_raises(CommandExitError){ subject.run(@argv, @stdout, @stderr) }
610
621
  assert_equal "#{err_msg}\n", @stderr.read
@@ -717,7 +728,9 @@ class GGem::CLI
717
728
 
718
729
  should "remove the version tag on push errors" do
719
730
  err_msg = Factory.string
720
- Assert.stub(@repo_spy, :run_push_cmd){ raise GGem::GitRepo::CmdError, err_msg }
731
+ Assert.stub(@repo_spy, :run_push_cmd) do
732
+ raise GGem::GitRepo::CmdError, err_msg
733
+ end
721
734
 
722
735
  assert_raises(CommandExitError){ subject.run([], @stdout, @stderr) }
723
736
  assert_equal "#{err_msg}\n", @stderr.read
@@ -727,9 +740,13 @@ class GGem::CLI
727
740
  end
728
741
 
729
742
  should "handle tag removal cmd errors when run" do
730
- Assert.stub(@repo_spy, :run_push_cmd){ raise GGem::GitRepo::CmdError, Factory.string }
743
+ Assert.stub(@repo_spy, :run_push_cmd) do
744
+ raise GGem::GitRepo::CmdError, Factory.string
745
+ end
731
746
  err_msg = Factory.string
732
- Assert.stub(@repo_spy, :run_rm_tag_cmd){ raise GGem::GitRepo::CmdError, err_msg }
747
+ Assert.stub(@repo_spy, :run_rm_tag_cmd) do
748
+ raise GGem::GitRepo::CmdError, err_msg
749
+ end
733
750
 
734
751
  assert_raises(CommandExitError){ subject.run([], @stdout, @stderr) }
735
752
  assert_equal "#{err_msg}\n", @stderr.read
@@ -745,7 +762,9 @@ class GGem::CLI
745
762
  Assert.stub(TagCommand, :new){ |*args| @tag_spy = CommandSpy.new(*args) }
746
763
 
747
764
  @push_spy = nil
748
- Assert.stub(PushCommand, :new){ |*args| @push_spy = CommandSpy.new(*args) }
765
+ Assert.stub(PushCommand, :new) do |*args|
766
+ @push_spy = CommandSpy.new(*args)
767
+ end
749
768
 
750
769
  @command_class = ReleaseCommand
751
770
  @cmd = @command_class.new
@@ -757,8 +776,9 @@ class GGem::CLI
757
776
  end
758
777
 
759
778
  should "know its summary" do
760
- exp = "Tag #{@spec_spy.version_tag} and push built #{@spec_spy.gem_file_name} to " \
761
- "#{@spec_spy.push_host}"
779
+ exp =
780
+ "Tag #{@spec_spy.version_tag} and push built "\
781
+ "#{@spec_spy.gem_file_name} to #{@spec_spy.push_host}"
762
782
  assert_equal exp, subject.summary
763
783
  end
764
784
 
@@ -937,7 +957,8 @@ class GGem::CLI
937
957
 
938
958
  class GemspecSpy
939
959
  attr_reader :name, :version, :version_tag, :push_host
940
- attr_reader :run_build_cmd_called, :run_install_cmd_called, :run_push_cmd_called
960
+ attr_reader :run_build_cmd_called, :run_install_cmd_called
961
+ attr_reader :run_push_cmd_called
941
962
 
942
963
  def initialize(root_path)
943
964
  @root = Pathname.new(File.expand_path(root_path))
@@ -952,15 +973,15 @@ class GGem::CLI
952
973
  end
953
974
 
954
975
  def path
955
- @root.join("#{self.name}.gemspec")
976
+ @root.join("#{name}.gemspec")
956
977
  end
957
978
 
958
979
  def gem_file_name
959
- "#{self.name}-#{self.version}.gem"
980
+ "#{name}-#{version}.gem"
960
981
  end
961
982
 
962
983
  def gem_file
963
- File.join(GGem::Gemspec::BUILD_TO_DIRNAME, self.gem_file_name)
984
+ File.join(GGem::Gemspec::BUILD_TO_DIRNAME, gem_file_name)
964
985
  end
965
986
 
966
987
  def run_build_cmd
@@ -982,8 +1003,10 @@ class GGem::CLI
982
1003
  class GitRepoSpy
983
1004
  attr_reader :path
984
1005
  attr_reader :run_init_cmd_called
985
- attr_reader :run_validate_clean_cmd_called, :run_validate_committed_cmd_called
986
- attr_reader :run_add_version_tag_cmd_called_with, :run_rm_tag_cmd_called_with
1006
+ attr_reader :run_validate_clean_cmd_called
1007
+ attr_reader :run_validate_committed_cmd_called
1008
+ attr_reader :run_add_version_tag_cmd_called_with
1009
+ attr_reader :run_rm_tag_cmd_called_with
987
1010
  attr_reader :run_push_cmd_called
988
1011
 
989
1012
  def initialize(path)
@@ -94,18 +94,23 @@ class GGem::Gemspec
94
94
 
95
95
  setup do
96
96
  @exp_build_path = @gem1_root_path.join(subject.gem_file_name)
97
- @exp_pkg_path = @gem1_root_path.join(@gemspec_class::BUILD_TO_DIRNAME, subject.gem_file_name)
97
+ @exp_pkg_path =
98
+ @gem1_root_path.join(
99
+ @gemspec_class::BUILD_TO_DIRNAME,
100
+ subject.gem_file_name,
101
+ )
98
102
  end
99
103
  end
100
104
 
101
105
  class RunBuildCmdTests < CmdTests
102
106
  desc "`run_build_cmd`"
103
107
  setup do
104
- @exp_cmds_run = [
105
- "gem build --verbose #{subject.path}",
106
- "mkdir -p #{@exp_pkg_path.dirname}",
107
- "mv #{@exp_build_path} #{@exp_pkg_path}"
108
- ]
108
+ @exp_cmds_run =
109
+ [
110
+ "gem build --verbose #{subject.path}",
111
+ "mkdir -p #{@exp_pkg_path.dirname}",
112
+ "mv #{@exp_build_path} #{@exp_pkg_path}",
113
+ ]
109
114
  end
110
115
 
111
116
  should "run system cmds to build the gem" do
@@ -47,7 +47,7 @@ class GGem::GitRepo
47
47
  setup do
48
48
  @exp_cmds_run = [
49
49
  "cd #{@repo_path} && git init",
50
- "cd #{@repo_path} && git add --all && git add -f *.keep"
50
+ "cd #{@repo_path} && git add --all && git add -f *.keep",
51
51
  ]
52
52
  end
53
53
 
@@ -64,7 +64,7 @@ class GGem::GitRepo
64
64
  desc "`run_validate_clean_cmd`"
65
65
  setup do
66
66
  @exp_cmds_run = [
67
- "cd #{@repo_path} && git diff --exit-code"
67
+ "cd #{@repo_path} && git diff --exit-code",
68
68
  ]
69
69
  end
70
70
 
@@ -81,7 +81,7 @@ class GGem::GitRepo
81
81
  desc "`run_validate_committed_cmd`"
82
82
  setup do
83
83
  @exp_cmds_run = [
84
- "cd #{@repo_path} && git diff-index --quiet --cached HEAD"
84
+ "cd #{@repo_path} && git diff-index --quiet --cached HEAD",
85
85
  ]
86
86
  end
87
87
 
@@ -99,7 +99,7 @@ class GGem::GitRepo
99
99
  setup do
100
100
  @exp_cmds_run = [
101
101
  "cd #{@repo_path} && git push",
102
- "cd #{@repo_path} && git push --tags"
102
+ "cd #{@repo_path} && git push --tags",
103
103
  ]
104
104
  end
105
105
 
@@ -119,7 +119,7 @@ class GGem::GitRepo
119
119
  @tag = Factory.string
120
120
 
121
121
  @exp_cmds_run = [
122
- "cd #{@repo_path} && git tag -a -m \"Version #{@version}\" #{@tag}"
122
+ "cd #{@repo_path} && git tag -a -m \"Version #{@version}\" #{@tag}",
123
123
  ]
124
124
  end
125
125
 
@@ -128,7 +128,9 @@ class GGem::GitRepo
128
128
  end
129
129
 
130
130
  should "complain if any system cmds are not successful" do
131
- assert_exp_cmds_error(CmdError){ subject.run_add_version_tag_cmd(@version, @tag) }
131
+ assert_exp_cmds_error(CmdError) do
132
+ subject.run_add_version_tag_cmd(@version, @tag)
133
+ end
132
134
  end
133
135
  end
134
136
 
@@ -138,7 +140,7 @@ class GGem::GitRepo
138
140
  @tag = Factory.string
139
141
 
140
142
  @exp_cmds_run = [
141
- "cd #{@repo_path} && git tag -d #{@tag}"
143
+ "cd #{@repo_path} && git tag -d #{@tag}",
142
144
  ]
143
145
  end
144
146
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ggem
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.5
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kelly Redding
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-01-04 00:00:00.000000000 Z
12
+ date: 2021-01-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: assert
@@ -26,7 +26,21 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: 2.19.2
28
28
  - !ruby/object:Gem::Dependency
29
- name: much-plugin
29
+ name: much-style-guide
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 0.3.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 0.3.0
42
+ - !ruby/object:Gem::Dependency
43
+ name: much-mixin
30
44
  requirement: !ruby/object:Gem::Requirement
31
45
  requirements:
32
46
  - - "~>"
@@ -80,9 +94,12 @@ files:
80
94
  - lib/ggem/template_file/README.md.erb
81
95
  - lib/ggem/template_file/gemspec.erb
82
96
  - lib/ggem/template_file/gitignore.erb
97
+ - lib/ggem/template_file/l.yml.erb
83
98
  - lib/ggem/template_file/lib.rb.erb
84
99
  - lib/ggem/template_file/lib_version.rb.erb
100
+ - lib/ggem/template_file/rubocop.yml.erb
85
101
  - lib/ggem/template_file/ruby-version.erb
102
+ - lib/ggem/template_file/t.yml.erb
86
103
  - lib/ggem/template_file/test_helper.rb.erb
87
104
  - lib/ggem/template_file/test_support_factory.rb.erb
88
105
  - lib/ggem/version.rb
@@ -117,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
134
  - !ruby/object:Gem::Version
118
135
  version: '0'
119
136
  requirements: []
120
- rubygems_version: 3.1.2
137
+ rubygems_version: 3.2.4
121
138
  signing_key:
122
139
  specification_version: 4
123
140
  summary: '"Juh Gem", baby! (a gem utility CLI)'