README.md in gemsmith-7.3.0 vs README.md in gemsmith-7.4.0
- old
+ new
@@ -24,12 +24,11 @@
- [Security](#security)
- [Git Signing Key](#git-signing-key)
- [Gem Certificates](#gem-certificates)
- [Private Gem Servers](#private-gem-servers)
- [Gem Specification Metadata](#gem-specification-metadata)
- - [RubyGems Credentials](#rubygems-credentials)
- - [Generating Credentials](#generating-credentials)
+ - [Gem Credentials](#gem-credentials)
- [Promotion](#promotion)
- [Versioning](#versioning)
- [Code of Conduct](#code-of-conduct)
- [Contributions](#contributions)
- [License](#license)
@@ -41,11 +40,10 @@
# Features
- Builds a gem skeleton with enhanced Bundler functionality.
- Uses [Milestoner](https://github.com/bkuhlmann/milestoner) for consistent project/gem versioning.
- Uses [Tocer](https://github.com/bkuhlmann/tocer) for README table of contents generation.
-- Uses common settings and a structured layout for building new gems.
- Supports [Thor](https://github.com/erikhuda/thor).
- Supports [Ruby on Rails](http://rubyonrails.org).
- Supports [Pry](http://pryrepl.org).
- Supports [Guard](https://github.com/guard/guard).
- Supports [RSpec](http://rspec.info).
@@ -53,14 +51,16 @@
- Supports [GitHub](https://github.com).
- Supports [Code Climate](https://codeclimate.com).
- Supports [Gemnasium](https://gemnasium.com).
- Supports [Travis CI](https://travis-ci.org).
- Supports [Patreon](https://www.patreon.com).
-- Adds commonly needed [README](README.md), [CHANGELOG](CHANGELOG.md), [CONTRIBUTING](CONTRIBUTING.md),
+- Supports common settings and a structured layout for building new gems.
+- Supports publishing to public or private gem servers.
+- Provides commonly needed [README](README.md), [CHANGELOG](CHANGELOG.md), [CONTRIBUTING](CONTRIBUTING.md),
[CODE OF CONDUCT](CODE_OF_CONDUCT.md), [LICENSE](LICENSE.md), etc. documentation.
-- Provides the ability to open the source code of any gem within your favorite editor.
-- Provides the ability to read the documentation of any gem within your default browser.
+- Provides the ability to view source code of any gem within your favorite editor.
+- Provides the ability to view the documentation of any gem within your default browser.
# Screencasts
[![asciicast](https://asciinema.org/a/30728.png)](https://asciinema.org/a/30728)
@@ -293,49 +293,24 @@
- `allowed_push_key`: Provides a reference (look up) to the key defined the RubyGems credentials file so that sensitive
credentials are not used within your gemspec.
- `allowed_push_host`: Provides the URL of the private gem server to push your gem to.
-## RubyGems Credentials
+## Gem Credentials
-The "example_key" defined within the gem specification, mentioned above, *must* be defined withing your
-`~/.gem/credentials` file and should look like this:
+With your gem specification metadata established, you are ready to publish your gem to a public or private server. If
+this is your first time publishing a gem and no gem credentials have been configured, you'll be prompted for them. This
+gem will ask you for your login and password during gem publish. Gem credentials will are stored in the
+`~/.gem/credentials` file as defined by RubyGems. *This will only happen once.* Afterwards, future gem publishing will
+your stored credentials instead. Multiple credentials can be stored in the `~/.gem/credentials` file. Example:
---
- :example_key: "Basic dXNlcjpwYXNzd29yZA=="
-
-The "example_key" *must* be a symbol (hence the double colons) due to RubyGems requirements.
-
-## Generating Credentials
-
-RubyGems uses an `Authorization` HTTP header when pushing a gem to a remote server. This can be an API key, HTTP Basic
-Auth, etc. When pushing a gem to RubyGems, you'll want to use the API key associated with your account. If that is the
-case, you're credentials would contain the following:
-
- ---
:rubygems_api_key: 2a0b460650e67d9b85a60e183defa376
-
-For a server that might use HTTP Basic auth, you can generate the key value by launching IRB and running the following:
-
- require "net/http"
- Net::HTTP::Get.new("http://gems.example.com").basic_auth "user", "password"
-
-The URL is arbitrary but the user and password should be your account credentials. The output, from running the code
-above, should look like the following:
-
- ["Basic dXNlcjpwYXNzd29yZA=="]
-
-You can then add this value to your credentials file like so:
-
- ---
:example_key: "Basic dXNlcjpwYXNzd29yZA=="
-You can add multiple accounts to your RubyGems credentials (there is no limit to the number of accounts you might need
-to have access to). Example:
-
- ---
- :rubygems_api_key: 2a0b460650e67d9b85a60e183defa376
- :example_key: "Basic dXNlcjpwYXNzd29yZA=="
+Should you need delete a credential (due to a bad login/password for example), you can open the `~/.gem/credentials` in
+your default editor and remove the line(s) you don't need. Upon next publish of your gem, this gem will prompt you for
+new credentials.
# Promotion
Once your gem is released, you might want to let the world know about your accomplishment: