gemsmith 6.1.0 → 6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9329b2e9dca4bc7a89b0f35efe95087229a87005
4
- data.tar.gz: 34077b66b9fa3b699307768ba60ba9afa13cfbc8
3
+ metadata.gz: 78f200738db26103b3c22eb26ebbe8fee20a87ff
4
+ data.tar.gz: 526f1f4e024c68ec73c621fd7417836e6bc7f52c
5
5
  SHA512:
6
- metadata.gz: 9e49338d46f9adb532cf3d74df1e8190283d88777f6eb1fc2a63378fde3f10cb2f1bfdd8b4689daff9a988fcf7b256585460436829f0d667003823e7d56d347d
7
- data.tar.gz: a74bb88641c78e1c4c49de6dff0660de1ad8cbe0faf53a6a70700c82d13d0102b537bdc7716f155af6fe1fa7f0766a9189defee614e1c4a380406d21f66f8a2b
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)](http://travis-ci.org/bkuhlmann/gemsmith)
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
- - Supports common settings to be applied when creating new gems.
41
- - Supports [Thor](https://github.com/wycats/thor) command line interface (CLI) functionality.
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](http://travis-ci.org).
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](http://www.ruby-lang.org)
62
- 0. [RubyGems](http://rubygems.org)
63
- 0. [Bundler](https://github.com/carlhuda/bundler)
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] # Edit Gemsmith settings in default editor.
138
- gemsmith -h, [--help=HELP] # Show this message or get help for a command.
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] # Show Gemsmith 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 within the project via Bundler (i.e. rake -T):
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
- Run `bundle exec rake` to run everything (includes all specs and code quality checks).
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 been replaced with the `--bin/-b` create option.
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 helping to prevent you
195
- from publishing a gem with missing changes.
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. Should you not want to sign your tags, use `bundle exec rake release` which is the same as
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
- - [Ruby Gems](http://guides.rubygems.org/security/#building_gems)
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
 
@@ -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"
@@ -10,7 +10,7 @@ module Gemsmith
10
10
  end
11
11
 
12
12
  def self.version
13
- "6.1.0"
13
+ "6.2.0"
14
14
  end
15
15
 
16
16
  def self.version_label
@@ -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)](http://travis-ci.org/<%= config.fetch :github_user %>/<%= config.fetch(:gem).fetch(:name) %>)
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 http://www.my-website.com/gem-public.pem)
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.1.0
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
@@ -1,3 +0,0 @@
1
- 9�~i�+�n@���(�4J�a�(�8f�x\[d���^[�x�F+�����"}6BK��p�O
2
- M�G���RGĖ4*X���
3
- �^�n�T(�Pw;��+x*�_���������pP-r&�s��-��:/�v�p��Z/<�`{R�#����Fa��}���Cܘ
data.tar.gz.sig DELETED
@@ -1,3 +0,0 @@
1
- H3B2�б���qw������ܐ�Aq�N� ���Zir'����d�n����ì��/�x [ܫ^s���!C�g�K�NF v��~
2
- ����s�e��孉0`�'�
3
- �(��23&%[�P�� ���@��� �����E`�n4g��∬=I{Ro��a��+ʙ؏9�K�mP����͠lG/:v��\�#���/���'��F�D����nb�h��=a)�H�������o���4׉
metadata.gz.sig DELETED
Binary file