= Overview 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. * Allows for common settings that you can apply 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] test skeletons. * Adds commonly needed README, CHANGELOG, LICENSE, etc. template files. = Requirements 1. Basic understanding of gem building. 2. A UNIX-based system. 3. {Ruby 1.9.x}[http://www.ruby-lang.org] 4. Bundler[https://github.com/carlhuda/bundler] = Setup Type the following from the command line to install: gem install gemsmith You can configure common settings for future gem builds by creating the following file: ~/.gemsmith/settings.yml ...using the following settings (for example): --- :author_name: Brooke Kuhlmann :author_email: brooke@redalchemist.com :author_url: http://www.redalchemist.com :company_name: Red Alchemist If no options are configured, then the defaults are as follows: gem_platform: Gem::Platform::RUBY author_name: author_email: author_url: https://www.unknown.com gem_url: company_name: company_url: year: ruby_version: 1.9.0 rails_version: 3.1.0 post_install_message: nil = Usage From the command line, type: gemsmith help gemsmith -c, [create=GEM_NAME] # Create new gem. gemsmith -e, [edit] # Edit gem settings in default editor (assumes $EDITOR environment variable). gemsmith -h, [help] # Show this message. 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 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 into the pkg directory rake install # Build and install -.gem into system gems rake release # Create tag v0.1.1 and build and push -.gem to Rubygems = Best Practices 1. 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/]. = Company {Red Alchemist}[http://www.redalchemist.com] = Author {Brooke Kuhlmann}[http://www.redalchemist.com] = License Copyright (c) 2011 {Red Alchemist}[http://www.redalchemist.com]. Read the LICENSE for details. = History Read the CHANGELOG for details.