gemsmith 15.4.0 → 15.5.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: 625d8542aacfa5608048116169fcdc2a2829be5918955e4f4ea134f87c8756d3
4
- data.tar.gz: 319f3c4476de502aee2c55c38381c95dbba2bdfc019f8cea3b10381e2f8c84c7
3
+ metadata.gz: c33c7adceafb02e3a464e242457db580d2ec5b3f335fd870266a59f2bee27521
4
+ data.tar.gz: b411cd1167a05c64bd2deae21b76d7d8b832eef9bd25ed6933b835a1be0868cb
5
5
  SHA512:
6
- metadata.gz: 8aa147cf7ab23fa70036c25378a512264a27e2c944629737d5528bf658b6271af37d6bedb06343204f0513e5185bffb22af810a69fa25432c54d24fc4456feb8
7
- data.tar.gz: 7b408b02449ab548673f736716dc706402501430507ee89436c906cf7b8396950ff94a5536c79df5104ffa165404508c054d86664c86ae7b99282c1b0a313cbf
6
+ metadata.gz: 1dc14a1685ccdeaa954f04f6a679171a66fee1b31ab7dd31d8b2daf11ec99dbc629d8fe44e82bc9b172e33bcb463a2c8b7f43d4b5bf83e828c0a0d0046ba6252
7
+ data.tar.gz: 62c5bc9460f406f6e5569140e651cfdf68f102d9b5e6e573dd19bb8edc7e7ec32094f2475287720a0e6f272a98e3fe768e27d7cc302f29a70cff69576aa32ad1
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/gemsmith.rb CHANGED
@@ -1,34 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "gemsmith/identity"
4
- require "gemsmith/credentials"
5
- require "gemsmith/errors/base"
6
- require "gemsmith/errors/requirement_conversion"
7
- require "gemsmith/errors/requirement_operator"
8
- require "gemsmith/errors/specification"
9
- require "gemsmith/gem/inspector"
10
- require "gemsmith/gem/module_formatter"
11
- require "gemsmith/gem/requirement"
12
- require "gemsmith/gem/specification"
13
- require "gemsmith/generators/base"
14
- require "gemsmith/generators/bundler"
15
- require "gemsmith/generators/bundler_audit"
16
- require "gemsmith/generators/circle_ci"
17
- require "gemsmith/generators/cli"
18
- require "gemsmith/generators/documentation"
19
- require "gemsmith/generators/gem"
20
- require "gemsmith/generators/git"
21
- require "gemsmith/generators/git_lint"
22
- require "gemsmith/generators/git_hub"
23
- require "gemsmith/generators/guard"
24
- require "gemsmith/generators/pragma"
25
- require "gemsmith/generators/engine"
26
- require "gemsmith/generators/rake"
27
- require "gemsmith/generators/reek"
28
- require "gemsmith/generators/rspec"
29
- require "gemsmith/generators/rubocop"
30
- require "gemsmith/generators/ruby"
31
- require "gemsmith/rake/builder"
32
- require "gemsmith/rake/publisher"
33
- require "gemsmith/rake/tasks"
34
- require "gemsmith/cli"
3
+ require "zeitwerk"
4
+
5
+ loader = Zeitwerk::Loader.for_gem
6
+ loader.inflector.inflect "cli" => "CLI", "circle_ci" => "CircleCI"
7
+ loader.setup
8
+
9
+ # Main namespace.
10
+ module Gemsmith
11
+ end
@@ -49,12 +49,7 @@ module Gemsmith
49
49
  end
50
50
 
51
51
  def code_quality_tasks
52
- [
53
- bundler_audit_task,
54
- git_lint_task,
55
- reek_task,
56
- rubocop_task
57
- ].compress.join " "
52
+ [bundler_audit_task, git_lint_task, reek_task, rubocop_task].compress.join " "
58
53
  end
59
54
 
60
55
  def code_quality_task
@@ -5,7 +5,7 @@ module Gemsmith
5
5
  module Identity
6
6
  NAME = "gemsmith"
7
7
  LABEL = "Gemsmith"
8
- VERSION = "15.4.0"
8
+ VERSION = "15.5.0"
9
9
  VERSION_LABEL = "#{LABEL} #{VERSION}"
10
10
  URL = "https://www.alchemists.io/projects/gemsmith"
11
11
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "milestoner"
4
4
  require "refinements/pathnames"
5
+ require "refinements/structs"
5
6
  require "gemsmith/identity"
6
7
  require "gemsmith/credentials"
7
8
  require "gemsmith/cli"
@@ -12,6 +13,7 @@ module Gemsmith
12
13
  # :reek:TooManyInstanceVariables
13
14
  class Publisher
14
15
  using Refinements::Pathnames
16
+ using Refinements::Structs
15
17
 
16
18
  def self.gem_spec_path
17
19
  Pathname.pwd.files("*.gemspec").first.to_s
@@ -22,7 +24,8 @@ module Gemsmith
22
24
  def initialize gem_spec: Gemsmith::Gem::Specification.new(self.class.gem_spec_path.to_s),
23
25
  gem_config: Gemsmith::CLI.configuration.to_h,
24
26
  credentials: Gemsmith::Credentials,
25
- publisher: Milestoner::Publisher.new,
27
+ publisher: Milestoner::Tags::Publisher.new,
28
+ milestoner_container: Milestoner::Container,
26
29
  shell: Bundler::UI::Shell.new,
27
30
  kernel: Kernel
28
31
 
@@ -30,6 +33,7 @@ module Gemsmith
30
33
  @gem_config = gem_config
31
34
  @credentials = credentials
32
35
  @publisher = publisher
36
+ @milestoner_container = milestoner_container
33
37
  @shell = shell
34
38
  @kernel = kernel
35
39
  end
@@ -44,9 +48,10 @@ module Gemsmith
44
48
  end
45
49
 
46
50
  def publish
47
- publisher.publish gem_spec.version, sign: signed?
51
+ milestoner_configuration.merge(git_tag_version: gem_spec.version, git_tag_sign: signed?)
52
+ .then { |configuration| publisher.call configuration }
48
53
  push
49
- rescue Milestoner::Errors::Base => error
54
+ rescue Milestoner::Error => error
50
55
  shell.error error.message
51
56
  end
52
57
 
@@ -56,7 +61,13 @@ module Gemsmith
56
61
 
57
62
  private
58
63
 
59
- attr_reader :gem_spec, :gem_config, :credentials, :publisher, :shell, :kernel
64
+ attr_reader :gem_spec,
65
+ :gem_config,
66
+ :credentials,
67
+ :publisher,
68
+ :milestoner_container,
69
+ :shell,
70
+ :kernel
60
71
 
61
72
  def gem_host
62
73
  gem_spec.allowed_push_host
@@ -82,6 +93,8 @@ module Gemsmith
82
93
 
83
94
  status
84
95
  end
96
+
97
+ def milestoner_configuration = milestoner_container[:configuration]
85
98
  end
86
99
  end
87
100
  end
@@ -13,7 +13,7 @@ group :code_quality do
13
13
  gem "reek", "~> 6.0"
14
14
  <%- end -%>
15
15
  <%- if config.dig(:generate, :rubocop) -%>
16
- gem "rubocop", "~> 1.10"
16
+ gem "rubocop", "~> 1.14"
17
17
  gem "rubocop-performance", "~> 1.8"
18
18
  gem "rubocop-rake", "~> 0.5"
19
19
  <%- end -%>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemsmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.4.0
4
+ version: 15.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
29
  W2A=
30
30
  -----END CERTIFICATE-----
31
- date: 2021-04-18 00:00:00.000000000 Z
31
+ date: 2021-06-06 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: git_plus
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '11.1'
53
+ version: '12.0'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '11.1'
60
+ version: '12.0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: pragmater
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '1.10'
95
+ version: '1.14'
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '1.10'
102
+ version: '1.14'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: runcom
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -156,6 +156,20 @@ dependencies:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
158
  version: '9.0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: zeitwerk
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '2.4'
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '2.4'
159
173
  description:
160
174
  email:
161
175
  - brooke@alchemists.io
@@ -261,7 +275,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
275
  - !ruby/object:Gem::Version
262
276
  version: '0'
263
277
  requirements: []
264
- rubygems_version: 3.2.16
278
+ rubygems_version: 3.2.19
265
279
  signing_key:
266
280
  specification_version: 4
267
281
  summary: A command line interface for smithing Ruby gems.
metadata.gz.sig CHANGED
Binary file