README.rdoc in gemsmith-1.5.0 vs README.rdoc in gemsmith-2.0.0
- old
+ new
@@ -1,30 +1,35 @@
= Overview
-{<img src="https://secure.travis-ci.org/bkuhlmann/gemsmith.png" />}[http://travis-ci.org/bkuhlmann/gemsmith]
+{<img src="https://badge.fury.io/rb/gemsmith.png" alt="Gem Version" />}[http://badge.fury.io/rb/gemsmith]
+{<img src="https://codeclimate.com/github/bkuhlmann/gemsmith.png" alt="Code Climate GPA" />}[https://codeclimate.com/github/bkuhlmann/gemsmith]
+{<img src="https://secure.travis-ci.org/bkuhlmann/gemsmith.png" alt="Travis CI Status" />}[http://travis-ci.org/bkuhlmann/gemsmith]
Gemsmith allows you to easily craft new gems via the command line with custom settings (if desired). If you are
a fan of Bundler[https://github.com/carlhuda/bundler], then you'll appreciate the additional capabilities of this
gem. Gemsmith is essentially an enhanced version of Bundler's gem building capabilities.
= Features
* Builds a gem skeleton with Bundler functionality in mind.
* Supports common settings that can be applied to new gem creations.
* Supports binary skeletons with Thor[https://github.com/wycats/thor] command line functionality.
-* Supports {Ruby on Rails}[http://rubyonrails.org] skeletons.
-* Supports RSpec[http://rspec.info] skeletons.
+* Supports {Ruby on Rails}[http://rubyonrails.org].
+* Supports RSpec[http://rspec.info].
+* Supports Pry[http://pryrepl.org].
+* Supports Guard[https://github.com/guard/guard].
+* Supports {Code Climate}[https://codeclimate.com].
* Supports {Travis CI}[http://travis-ci.org] skeletons.
* Adds commonly needed README, CHANGELOG, LICENSE, etc. template files.
* Provides the ability to open any installed gem within your favorite editor.
= Requirements
1. A UNIX-based system.
-2. {Ruby 1.9.x}[http://www.ruby-lang.org]
-3. RubyGems[http://rubygems.org]
-4. Bundler[https://github.com/carlhuda/bundler]
+2. {Ruby 2.0.x}[http://www.ruby-lang.org].
+3. RubyGems[http://rubygems.org].
+4. Bundler[https://github.com/carlhuda/bundler].
= Setup
Type the following from the command line to install:
@@ -51,11 +56,11 @@
gem_url: <author URL>
company_name: <author name>
company_url: <author URL>
github_user: <github user>
year: <current year>
- ruby_version: 1.9.0
+ ruby_version: 2.0.0
rails_version: 3.2.0
= Usage
From the command line, type: gemsmith help
@@ -66,16 +71,22 @@
gemsmith -o, [open=NAME] # Opens gem in default editor (assumes $EDITOR environment variable).
gemsmith -v, [version] # Show version.
For more gem creation options, type: gemsmith help create
- -b, [--bin] # Add binary support.
- -r, [--rails] # Add Rails support.
- -s, [--rspec] # Add RSpec support.
- # Default: true
- -t, [--travis] # Add Travis CI support.
- # Default: true
+ -b, [--bin] # Add binary support.
+ -r, [--rails] # Add Rails support.
+ -p, [--pry] # Add Pry support.
+ # Default: true
+ -g, [--guard] # Add Guard support.
+ # Default: true
+ -s, [--rspec] # Add RSpec support.
+ # Default: true
+ -t, [--travis] # Add Travis CI support.
+ # Default: true
+ -c, [--code-climate] # Add Code Climate support.
+ # Default: true
Also, don't forget that once you have created your gem skeleton, the following rake tasks are also
available to you via Bundler (i.e. rake -T):
rake build # Build <gem>-<version>.gem into the pkg directory
@@ -85,22 +96,29 @@
= Best Practices
1. {Best Practices While Cutting Gems}[http://rubysource.com/crafting-rubies-best-practices-while-cutting-gems].
2. {Ruby on Rails Gem Packaging}[http://weblog.rubyonrails.org/2009/9/1/gem-packaging-best-practices].
3. {Why You Should Use a BSD Style License}[http://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html].
-4. Ensure the RUBYOPT env variable includes the -w option. {Details}[http://avdi.org/devblog/2011/06/23/how-ruby-helps-you-fix-your-broken-code].
+4. Add -w to the RUBYOPT environment variable when testing. {Details}[http://avdi.org/devblog/2011/06/23/how-ruby-helps-you-fix-your-broken-code].
+== When To Include a Railtie (quoted from {Crafting Rails Applications}[http://pragprog.com/book/jvrails/crafting-rails-applications] - Page 93 by José Valim)
+
+* "Your gem needs to perform a given task while or after the Rails application is initialized."
+* "Your gem needs to change a configuration value, such as setting a generator."
+* "Your gem must provide Rake tasks and generators in nondefault locations (the default location for the former is lib/tasks and lib/gen- erators or lib/rails/generators for the latter)."
+* "You want your gem to provide configuration options to the appli- cation, such as config.my_gem.key = :value."
+
= Tests
To test, do the following:
1. cd to the gem root.
2. bundle install
3. bundle exec rspec spec
= Contributions
-Please log all feedback/issues via {GitHub Issues}[https://github.com/bkuhlmann/gemsmith/issues]. Thanks.
+Read CONTRIBUTING for details.
= Credits
Developed by {Brooke Kuhlmann}[http://www.redalchemist.com] at {Red Alchemist}[http://www.redalchemist.com]