gemsmith 16.1.0 → 16.2.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +3 -1
- data/README.adoc +10 -15
- data/gemsmith.gemspec +2 -2
- data/lib/gemsmith/templates/%project_name%/%project_name%.gemspec.erb +3 -0
- data/lib/gemsmith/templates/%project_name%/lib/%project_path%/cli/parsers/core.rb.erb +8 -3
- data/lib/gemsmith/templates/%project_name%/lib/%project_path%/cli/shell.rb.erb +3 -1
- data/lib/gemsmith/templates/%project_name%/lib/%project_path%/container.rb.erb +2 -0
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac0feae9681ea0c70f0057b6f147ad41055cc6b590455c820c6f262d3f480ad2
|
4
|
+
data.tar.gz: bc9a92fcd0b894ccbc7bf4d0bc8d67027daae68d69f8655857eb51315dce671d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a79b7e75db67d9c0ca46deac367dc9f0ec82ca8dfc4a05c184f92d2383654b1aa1ffe7ba3406ae4f3e336de6807fda6edf0f2284cc032eaacccf19d36b86659f
|
7
|
+
data.tar.gz: 1c125eedee89a2bea26145075cc419fdd54e563ab84ee01c993ce7506e3616a26a79b7d4a31463e2c8c7719eeefebd6d9afc9dec221cdfeefb821e31178f2ee2
|
checksums.yaml.gz.sig
CHANGED
data/README.adoc
CHANGED
@@ -4,13 +4,6 @@
|
|
4
4
|
|
5
5
|
= Gemsmith
|
6
6
|
|
7
|
-
[link=http://badge.fury.io/rb/gemsmith]
|
8
|
-
image::https://badge.fury.io/rb/gemsmith.svg[Gem Version]
|
9
|
-
[link=https://www.alchemists.io/projects/code_quality]
|
10
|
-
image::https://img.shields.io/badge/code_style-alchemists-brightgreen.svg[Alchemists Style Guide]
|
11
|
-
[link=https://circleci.com/gh/bkuhlmann/gemsmith]
|
12
|
-
image::https://circleci.com/gh/bkuhlmann/gemsmith.svg?style=svg[Circle CI Status]
|
13
|
-
|
14
7
|
Gemsmith is a command line interface for smithing Ruby gems. Perfect for when you need a
|
15
8
|
professional and robust tool beyond link:https://bundler.io[Bundler]'s basic gem skeletons. While
|
16
9
|
Bundler is great for creating your first gem, you'll quickly outgrow Bundler when creating and
|
@@ -156,15 +149,17 @@ gemsmith --publish
|
|
156
149
|
gemsmith --publish demo
|
157
150
|
----
|
158
151
|
|
159
|
-
Security is important
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
YubiKey
|
152
|
+
Security is important which requires a GPG key for signing your Git tags and
|
153
|
+
link:https://www.alchemists.io/articles/ruby_gems_multi_factor_authentication/[RubyGems Multi-Factor
|
154
|
+
Authentication] for publishing to RubyGems. Both of which are enabled by default. You'll want to
|
155
|
+
read through the linked article which delves into how Gemsmith automatically makes use of your
|
156
|
+
YubiKey to authenticate with RubyGems. Spending the time to set this up will allow Gemsmith to use
|
157
|
+
of your YubiKey for effortless and secure publishing of new versions of your gems so I highly
|
158
|
+
recommend doing this.
|
165
159
|
|
166
|
-
As
|
167
|
-
|
160
|
+
As with installing a gem, Gemsmith can be used to publish existing gems which were not built by
|
161
|
+
Gemsmith too. As long as your gem has a `*.gemspec` file with a valid version, Gemsmith will be able
|
162
|
+
to publish it.
|
168
163
|
|
169
164
|
=== Edit
|
170
165
|
|
data/gemsmith.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "gemsmith"
|
5
|
-
spec.version = "16.
|
5
|
+
spec.version = "16.2.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://www.alchemists.io/projects/gemsmith"
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_dependency "milestoner", "~> 13.0"
|
28
28
|
spec.add_dependency "pastel", "~> 0.8"
|
29
29
|
spec.add_dependency "refinements", "~> 9.1"
|
30
|
-
spec.add_dependency "rubysmith", "~> 1.
|
30
|
+
spec.add_dependency "rubysmith", "~> 1.3"
|
31
31
|
spec.add_dependency "runcom", "~> 8.2"
|
32
32
|
spec.add_dependency "spek", "~> 0.0"
|
33
33
|
spec.add_dependency "versionaire", "~> 10.0"
|
@@ -34,6 +34,9 @@ Gem::Specification.new do |spec|
|
|
34
34
|
<% if configuration.build_cli %>
|
35
35
|
spec.add_dependency "runcom", "~> 8.2"
|
36
36
|
<% end %>
|
37
|
+
<% if configuration.build_cli %>
|
38
|
+
spec.add_dependency "spek", "~> 0.0"
|
39
|
+
<% end %>
|
37
40
|
<% if configuration.build_zeitwerk %>
|
38
41
|
spec.add_dependency "zeitwerk", "~> 2.5"
|
39
42
|
<% end %>
|
@@ -9,13 +9,16 @@ require "refinements/structs"
|
|
9
9
|
|
10
10
|
def self.call(...) = new(...).call
|
11
11
|
|
12
|
-
def initialize configuration = Container[:configuration],
|
12
|
+
def initialize configuration = Container[:configuration],
|
13
|
+
client: Parser::CLIENT,
|
14
|
+
container: Container
|
13
15
|
@configuration = configuration
|
14
16
|
@client = client
|
17
|
+
@container = container
|
15
18
|
end
|
16
19
|
|
17
20
|
def call arguments = []
|
18
|
-
client.banner =
|
21
|
+
client.banner = specification.labeled_summary
|
19
22
|
client.separator "\nUSAGE:\n"
|
20
23
|
collate
|
21
24
|
client.parse arguments
|
@@ -24,7 +27,7 @@ require "refinements/structs"
|
|
24
27
|
|
25
28
|
private
|
26
29
|
|
27
|
-
attr_reader :configuration, :client
|
30
|
+
attr_reader :configuration, :client, :container
|
28
31
|
|
29
32
|
def collate = private_methods.sort.grep(/add_/).each { |method| __send__ method }
|
30
33
|
|
@@ -48,6 +51,8 @@ require "refinements/structs"
|
|
48
51
|
configuration.merge! action_help: true
|
49
52
|
end
|
50
53
|
end
|
54
|
+
|
55
|
+
def specification = container[__method__]
|
51
56
|
end
|
52
57
|
end
|
53
58
|
end
|
@@ -23,7 +23,7 @@
|
|
23
23
|
def perform configuration
|
24
24
|
case configuration
|
25
25
|
in action_config: Symbol => action then config action
|
26
|
-
in action_version: true then logger.info {
|
26
|
+
in action_version: true then logger.info { specification.labeled_version }
|
27
27
|
else usage
|
28
28
|
end
|
29
29
|
end
|
@@ -32,6 +32,8 @@
|
|
32
32
|
|
33
33
|
def usage = logger.unknown { parser.to_s }
|
34
34
|
|
35
|
+
def specification = container[__method__]
|
36
|
+
|
35
37
|
def logger = container[__method__]
|
36
38
|
end
|
37
39
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require "dry-container"
|
2
2
|
require "logger"
|
3
3
|
require "pastel"
|
4
|
+
require "spek"
|
4
5
|
|
5
6
|
<% namespace do %>
|
6
7
|
# Provides a global gem container for injection into other objects.
|
@@ -8,6 +9,7 @@ require "pastel"
|
|
8
9
|
extend Dry::Container::Mixin
|
9
10
|
|
10
11
|
register(:configuration) { Configuration::Loader.call }
|
12
|
+
register(:specification) { Spek::Loader.call "#{__dir__}/<%= Array.new(2 + configuration.project_levels, "../").join %><%= configuration.project_name %>.gemspec" }
|
11
13
|
register(:colorizer) { Pastel.new enabled: $stdout.tty? }
|
12
14
|
register(:kernel) { Kernel }
|
13
15
|
|
data.tar.gz.sig
CHANGED
Binary file
|
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: 16.
|
4
|
+
version: 16.2.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: 2022-
|
31
|
+
date: 2022-02-06 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: dry-container
|
@@ -106,14 +106,14 @@ dependencies:
|
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '1.
|
109
|
+
version: '1.3'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '1.
|
116
|
+
version: '1.3'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
118
|
name: runcom
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
metadata.gz.sig
CHANGED
Binary file
|