gemsmith 6.1.0 → 6.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +44 -27
- data/lib/gemsmith/cli.rb +3 -3
- data/lib/gemsmith/identity.rb +1 -1
- data/lib/gemsmith/templates/%gem_name%/README.md.tt +3 -2
- metadata +3 -25
- checksums.yaml.gz.sig +0 -3
- data.tar.gz.sig +0 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78f200738db26103b3c22eb26ebbe8fee20a87ff
|
4
|
+
data.tar.gz: 526f1f4e024c68ec73c621fd7417836e6bc7f52c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e9470682da74ef0758b4c2e7069e795c3604357b1f876211e1797a32735a5fb6846d09fe1be0384f71c94251357c3d7cdeaf59489c263c714dcdb6fdede4286
|
7
|
+
data.tar.gz: 980c3b30a186b60011ba34b0adb5b05bdb850dd6ab725fe8b11851c8cdc3ac01f1bc1b843a1303f0f5eed444571409af18156021b54dec9a7b4ebe3eb99ae89f
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
[![Code Climate GPA](https://codeclimate.com/github/bkuhlmann/gemsmith.svg)](https://codeclimate.com/github/bkuhlmann/gemsmith)
|
5
5
|
[![Code Climate Coverage](https://codeclimate.com/github/bkuhlmann/gemsmith/coverage.svg)](https://codeclimate.com/github/bkuhlmann/gemsmith)
|
6
6
|
[![Gemnasium Status](https://gemnasium.com/bkuhlmann/gemsmith.svg)](https://gemnasium.com/bkuhlmann/gemsmith)
|
7
|
-
[![Travis CI Status](https://secure.travis-ci.org/bkuhlmann/gemsmith.svg)](
|
7
|
+
[![Travis CI Status](https://secure.travis-ci.org/bkuhlmann/gemsmith.svg)](https://travis-ci.org/bkuhlmann/gemsmith)
|
8
8
|
[![Patreon](https://img.shields.io/badge/patreon-donate-brightgreen.svg)](https://www.patreon.com/bkuhlmann)
|
9
9
|
|
10
10
|
A command line interface for smithing new Ruby gems.
|
@@ -37,8 +37,10 @@ A command line interface for smithing new Ruby gems.
|
|
37
37
|
# Features
|
38
38
|
|
39
39
|
- Builds a gem skeleton with enhanced Bundler functionality.
|
40
|
-
-
|
41
|
-
-
|
40
|
+
- Uses [Milestoner](https://github.com/bkuhlmann/milestoner) for consistent project/gem versioning.
|
41
|
+
- Uses [Tocer](https://github.com/bkuhlmann/tocer) for README table of contents generation.
|
42
|
+
- Uses common settings and a structured layout for building new gems.
|
43
|
+
- Supports [Thor](https://github.com/erikhuda/thor).
|
42
44
|
- Supports [Ruby on Rails](http://rubyonrails.org).
|
43
45
|
- Supports [Pry](http://pryrepl.org).
|
44
46
|
- Supports [Guard](https://github.com/guard/guard).
|
@@ -46,21 +48,21 @@ A command line interface for smithing new Ruby gems.
|
|
46
48
|
- Supports [Rubocop](https://github.com/bbatsov/rubocop).
|
47
49
|
- Supports [Code Climate](https://codeclimate.com).
|
48
50
|
- Supports [Gemnasium](https://gemnasium.com).
|
49
|
-
- Supports [Travis CI](
|
51
|
+
- Supports [Travis CI](https://travis-ci.org).
|
50
52
|
- Supports [Patreon](https://www.patreon.com).
|
51
|
-
- Provides the ability to open the source code of any gem within your favorite editor.
|
52
|
-
- Provides the ability to read the documentation of any gem within your default browser.
|
53
53
|
- Adds commonly needed [README](README.md), [CHANGELOG](CHANGELOG.md), [CONTRIBUTING](CONTRIBUTING.md),
|
54
54
|
[CODE OF CONDUCT](CODE_OF_CONDUCT.md), [LICENSE](LICENSE.md), etc. documentation.
|
55
|
+
- Provides the ability to open the source code of any gem within your favorite editor.
|
56
|
+
- Provides the ability to read the documentation of any gem within your default browser.
|
55
57
|
|
56
58
|
[![asciicast](https://asciinema.org/a/30728.png)](https://asciinema.org/a/30728)
|
57
59
|
|
58
60
|
# Requirements
|
59
61
|
|
60
62
|
0. A UNIX-based system
|
61
|
-
0. [MRI 2.x.x](
|
62
|
-
0. [RubyGems](
|
63
|
-
0. [Bundler](https://github.com/
|
63
|
+
0. [MRI 2.x.x](https://www.ruby-lang.org)
|
64
|
+
0. [RubyGems](https://rubygems.org)
|
65
|
+
0. [Bundler](https://github.com/bundler/bundler)
|
64
66
|
|
65
67
|
# Setup
|
66
68
|
|
@@ -133,12 +135,12 @@ necessary.
|
|
133
135
|
|
134
136
|
From the command line, type: `gemsmith --help`
|
135
137
|
|
136
|
-
gemsmith -c, [create=CREATE] # Create new gem.
|
137
|
-
gemsmith -e, [--edit]
|
138
|
-
gemsmith -h, [--help=HELP]
|
139
|
-
gemsmith -o, [open=OPEN] # Open a gem in default editor.
|
140
|
-
gemsmith -r, [read=READ] # Open a gem in default browser.
|
141
|
-
gemsmith -v, [--version]
|
138
|
+
gemsmith -c, [--create=CREATE] # Create new gem.
|
139
|
+
gemsmith -e, [--edit] # Edit Gemsmith settings in default editor.
|
140
|
+
gemsmith -h, [--help=HELP] # Show this message or get help for a command.
|
141
|
+
gemsmith -o, [--open=OPEN] # Open a gem in default editor.
|
142
|
+
gemsmith -r, [--read=READ] # Open a gem in default browser.
|
143
|
+
gemsmith -v, [--version] # Show Gemsmith version.
|
142
144
|
|
143
145
|
For more gem creation options, type: `gemsmith --help --create`
|
144
146
|
|
@@ -165,7 +167,7 @@ For more gem creation options, type: `gemsmith --help --create`
|
|
165
167
|
|
166
168
|
## Rake
|
167
169
|
|
168
|
-
Once a gem skeleton has been created, the following tasks are available
|
170
|
+
Once a gem skeleton has been created, the following tasks are available (i.e. `bundle exec rake -T`):
|
169
171
|
|
170
172
|
rake build # Build gemsmith-6.0.0.gem into the pkg directory
|
171
173
|
rake clean # Clean gem artifacts
|
@@ -178,7 +180,27 @@ Once a gem skeleton has been created, the following tasks are available within t
|
|
178
180
|
rake rubocop:auto_correct # Auto-correct RuboCop offenses
|
179
181
|
rake spec # Run RSpec code examples
|
180
182
|
|
181
|
-
|
183
|
+
Out of all Rake tasks listed above, the following are provided by [Bundler](http://bundler.io) and enhanced by
|
184
|
+
Gemsmith:
|
185
|
+
|
186
|
+
rake build - Cleans and regenerates the README table of contents in addition to building the gem.
|
187
|
+
rake install - Inherits the `build` modifications mentioned above.
|
188
|
+
rake install:local - Inherits the `build` modifications mentioned above.
|
189
|
+
rake release - Inherits the `build` modifications mentioned above.
|
190
|
+
|
191
|
+
When building/testing your gem locally, a typical workflow is:
|
192
|
+
|
193
|
+
0. `gem uninstall <your gem name>`
|
194
|
+
0. `bundle exec rake install`
|
195
|
+
0. Test your gem locally.
|
196
|
+
0. Repeat until satisfied.
|
197
|
+
|
198
|
+
When satified with your gem, builds are green, and ready to publish, run:
|
199
|
+
|
200
|
+
bundle exec rake publish
|
201
|
+
|
202
|
+
Alternatively, you can run `bundle exec rake release` if you don't wish to sign your gem releases (i.e default Bundler
|
203
|
+
behavior) but the added security that `publish` provides is strongly recommended.
|
182
204
|
|
183
205
|
## Upgrades
|
184
206
|
|
@@ -186,13 +208,13 @@ For those upgrading from Gemsmith 5.6.0 please be aware of the following changes
|
|
186
208
|
|
187
209
|
- Move your `~/.gemsmith/settings.yml` settings to the new `~/.gemsmithrc` file. Refer to the Setup documentation
|
188
210
|
mentioned above for details.
|
189
|
-
- The `--cli/-c` create option has
|
211
|
+
- The `--cli/-c` create option has replaced the `--bin/-b` create option.
|
190
212
|
- The `--code-climate` create option shortcut is now `-C` instead of `-c`.
|
191
213
|
- [Tocer](https://github.com/bkuhlmann/tocer) has replaced [DocToc](https://github.com/thlorenz/doctoc) as a pure Ruby
|
192
214
|
implementation for generating README table of contents and removing the dependency on NPM.
|
193
215
|
- The `rake readme:toc` task has been replaced with `rake doc`.
|
194
|
-
- Using Rake to build or publish a gem will fail if uncommitted Git changes are detected
|
195
|
-
from publishing a gem
|
216
|
+
- Using Rake to build, release, or publish a gem will fail if uncommitted Git changes are detected which prevent you
|
217
|
+
from publishing a gem prematurely.
|
196
218
|
|
197
219
|
# Tests
|
198
220
|
|
@@ -228,8 +250,7 @@ Add your key to your global Git configuration in the `[user]` section. Example:
|
|
228
250
|
signingkey = <your GPG key>
|
229
251
|
|
230
252
|
Now, when publishing your gems with Gemsmith (i.e. `bundle exec rake publish`), signing of your Git tag will happen
|
231
|
-
automatically.
|
232
|
-
`bundle exec rake publish` except the Git tag is not signed.
|
253
|
+
automatically.
|
233
254
|
|
234
255
|
## Gem Certificates
|
235
256
|
|
@@ -244,7 +265,7 @@ The resulting `*.pem` key files can be referenced via the `:private_key:` and `:
|
|
244
265
|
|
245
266
|
To learn more about gem certificates, read the following:
|
246
267
|
|
247
|
-
- [
|
268
|
+
- [RubyGems](http://guides.rubygems.org/security/#building_gems)
|
248
269
|
- [A Practical Guide to Using Signed Ruby Gems - Part 1: Bundler](http://blog.meldium.com/home/2013/3/3/signed-rubygems-part)
|
249
270
|
- [A Practical Guide to Using Signed Ruby Gems - Part 2: Heroku](http://blog.meldium.com/home/2013/3/6/signed-gems-on-heroku)
|
250
271
|
|
@@ -253,11 +274,7 @@ To learn more about gem certificates, read the following:
|
|
253
274
|
Once your gem is released, you might want to let the world know about your awesomeness. Here are several resources:
|
254
275
|
|
255
276
|
- [How to Spread the Word About Your Code](https://hacks.mozilla.org/2013/05/how-to-spread-the-word-about-your-code)
|
256
|
-
- [Ruby Green News](http://greenruby.org)
|
257
|
-
- [Ruby Toolbox](https://www.ruby-toolbox.com)
|
258
277
|
- [RubyFlow](http://www.rubyflow.com)
|
259
|
-
- [The Ruby Show](http://rubyshow.com)
|
260
|
-
- [Ruby 5](https://ruby5.codeschool.com)
|
261
278
|
|
262
279
|
# Versioning
|
263
280
|
|
data/lib/gemsmith/cli.rb
CHANGED
@@ -61,7 +61,7 @@ module Gemsmith
|
|
61
61
|
@spec_aid = Aids::Spec.new
|
62
62
|
end
|
63
63
|
|
64
|
-
desc "-c, [create=CREATE]", "Create new gem."
|
64
|
+
desc "-c, [--create=CREATE]", "Create new gem."
|
65
65
|
map %w(-c --create) => :create
|
66
66
|
method_option :cli, aliases: "-c", desc: "Add CLI support.", type: :boolean, default: false
|
67
67
|
method_option :rails, aliases: "-r", desc: "Add Rails support.", type: :boolean, default: false
|
@@ -85,14 +85,14 @@ module Gemsmith
|
|
85
85
|
say
|
86
86
|
end
|
87
87
|
|
88
|
-
desc "-o, [open=OPEN]", "Open a gem in default editor."
|
88
|
+
desc "-o, [--open=OPEN]", "Open a gem in default editor."
|
89
89
|
map %w(-o --open) => :open
|
90
90
|
def open name
|
91
91
|
result = process_gem name, "open"
|
92
92
|
info("Opening: #{result}") unless result.nil? || result.empty?
|
93
93
|
end
|
94
94
|
|
95
|
-
desc "-r, [read=READ]", "Open a gem in default browser."
|
95
|
+
desc "-r, [--read=READ]", "Open a gem in default browser."
|
96
96
|
map %w(-r --read) => :read
|
97
97
|
def read name
|
98
98
|
result = process_gem name, "read"
|
data/lib/gemsmith/identity.rb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
[![Gemnasium Status](https://gemnasium.com/<%= config.fetch :github_user %>/<%= config.fetch(:gem).fetch(:name) %>.svg)](https://gemnasium.com/<%= config.fetch :github_user %>/<%= config.fetch(:gem).fetch(:name) %>)
|
10
10
|
<%- end -%>
|
11
11
|
<%- if config.fetch(:create).fetch(:travis) -%>
|
12
|
-
[![Travis CI Status](https://secure.travis-ci.org/<%= config.fetch :github_user %>/<%= config.fetch(:gem).fetch(:name) %>.svg)](
|
12
|
+
[![Travis CI Status](https://secure.travis-ci.org/<%= config.fetch :github_user %>/<%= config.fetch(:gem).fetch(:name) %>.svg)](https://travis-ci.org/<%= config.fetch :github_user %>/<%= config.fetch(:gem).fetch(:name) %>)
|
13
13
|
<%- end -%>
|
14
14
|
<%- if config.fetch(:create).fetch(:patreon) -%>
|
15
15
|
[![Patreon](https://img.shields.io/badge/patreon-donate-brightgreen.svg)](https://www.patreon.com/<%= config.fetch :github_user %>)
|
@@ -22,6 +22,7 @@
|
|
22
22
|
|
23
23
|
# Requirements
|
24
24
|
|
25
|
+
0. [MRI <%= config.fetch(:versions).fetch(:ruby) %>](https://www.ruby-lang.org)
|
25
26
|
<%- if config.fetch(:create).fetch(:rails) -%>
|
26
27
|
0. [Ruby on Rails](http://rubyonrails.org).
|
27
28
|
<%- end -%>
|
@@ -31,7 +32,7 @@
|
|
31
32
|
<%- if config.fetch(:create).fetch(:security) -%>
|
32
33
|
For a secure install, type the following (recommended):
|
33
34
|
|
34
|
-
gem cert --add <(curl -Ls
|
35
|
+
gem cert --add <(curl -Ls https://www.my-website.com/gem-public.pem)
|
35
36
|
gem install <%= config.fetch(:gem).fetch(:name) %> --trust-policy MediumSecurity
|
36
37
|
|
37
38
|
NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification while
|
metadata
CHANGED
@@ -1,36 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemsmith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZicm9v
|
14
|
-
a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
|
15
|
-
aW8wHhcNMTUwNzA1MTQ1MzExWhcNMTYwNzA0MTQ1MzExWjBBMQ8wDQYDVQQDDAZi
|
16
|
-
cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
|
17
|
-
GRYCaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzhOVcvLGBCceM
|
18
|
-
PppVpJLUKsnskWzc1VqBXmv30feKNw+MOxMQaDsIP421qwqGO/2JHY60Kuobssk+
|
19
|
-
8/wqZkVFF/FFKxoQjuhlhc+VWLm8jWgXd4N1kwO2yytscQTzxc5qXarwA+36fqVH
|
20
|
-
RhBAHhjka+HdBI+6o3CXRHJoC47iav+QpR7u/wYl3gNq6MJO3MmTKqHegEDLjRN0
|
21
|
-
FJAr3bRAwq03ZtTuAVA2bdKLGThehe1RRRtJHJ/PHpmL2c203/GTXYtG6C8ILZIp
|
22
|
-
ZroTqQ8yglCJ+3hSOmodZqSAQ0Rj7GJgtuNH81qlSrHu5sTvoZjGmEqSIhvsSJ80
|
23
|
-
wKoPdZnFAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
24
|
-
BBSUnF478a5lB4xuOBiktJdMJv6JmDAfBgNVHREEGDAWgRRicm9va2VAYWxjaGVt
|
25
|
-
aXN0cy5pbzAfBgNVHRIEGDAWgRRicm9va2VAYWxjaGVtaXN0cy5pbzANBgkqhkiG
|
26
|
-
9w0BAQUFAAOCAQEAT7KtBXWsq1KA7NOSMeFEDeSvhrgdLwCG/37pIu0rjvx9iAW4
|
27
|
-
gncxV0MccqIUtaF+lekjlXkIO+rXAVjvdha23KtpFTW90dYXp4NLPnPlSdyvYzJy
|
28
|
-
FIAaWGvujOT8xEu4umd45q5aepE8li4bR071i5Z7F0trKNVYYrxjQFmH5SSKYRT/
|
29
|
-
fXtICtAh1de3z3SOSK58IMPwjuoApYBxiqlmx0Uhla7mrzCE5+NmLPit3hLH6JFK
|
30
|
-
aSif+qBc6oHD7EQWPF5cZkzkIURuwNwPBngZGxIKaMAgRhjGFXzUMAaq++r59cS9
|
31
|
-
xTfQ4k6fglKEgpnLAXiKdo2c8Ym+X4rIKFfedQ==
|
32
|
-
-----END CERTIFICATE-----
|
33
|
-
date: 2015-11-28 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-12-03 00:00:00.000000000 Z
|
34
12
|
dependencies:
|
35
13
|
- !ruby/object:Gem::Dependency
|
36
14
|
name: thor
|
checksums.yaml.gz.sig
DELETED
data.tar.gz.sig
DELETED
metadata.gz.sig
DELETED
Binary file
|