This document describes the process of creating and managing a Ruby gem.
bundle gem mygem cd mygem
Update mygem.gemspec, specifically the summary, description, and homepage attributes.
Update README.md to describe desired functionality, and include the following sections at the bottom:
## Contributing Browse existing [issues](https://github.com/ORNAME/REPONAME/issues) or create a new issue to communicate bugs, desired features, etc. After forking the repo and pushing your changes, create a pull request referencing the applicable issue(s). ### Developing After checking out the repo, run `bin/setup` to install dependencies. ### Testing Run `rake rspec` or `bundle exec rspec spec/` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. ### Releasing To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## [License](LICENSE.txt)
Make the library do what you said it would do. Revise README.md as necessary.
The gem generation process configures much of the rspec test suite for you.
Create one or more rspec tests (spec/myclass_spec.rb) using the following template:
require 'spec_helper' Module Mygem RSpec.describe Myclass do describe '#all' do it "does some stuff" do expect(true) end end end end
bundle exec rspec spec/
Revise mygem.gemspec to include the following development dependencies:
spec.add_development_dependency "pry", "~> 0.10"
To facilitate debugging inside tests, revise spec/spec_helper.rb to include:
To use pry instead of IRB as the default console, revise bin/console to include:
require 'pry' Pry.start
Start the console.
If debugging in a rails console, revise the rails application’s Gemfile to include:
gem 'mygem', '~> 0.0.1', :path => '../mygem'
Write comments above public-facing methods according to the YARD specification.
Revise mygem.gemspec to include the following development dependency:
spec.add_development_dependency "yard" spec.add_development_dependency "redcarpet" spec.add_development_dependency "github-markup"
Add a .yardopts file to include the following configuration options:
After installing with
bundle install, run
bundle exec yard doc to parse comments and/or
bundle exec yard server to view documentation at localhost:8808.
Edit gem version in lib/mygem/version.rb.
bundle exec rake release to auto-generate git tag and push to github and rubygems.