Project

gem_of

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Puppet common tools and setup, for testing, building and documenting ruby projects
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies
 Project Readme

gem_of

Gem testing gems, rake tasks

Gemfiles are typically used solely for gems in development and testing. Are you tired of copypastaing the same Gems and rake tasks around to various projects, only to have to update them all later?

use the gem_of gems!

we bring you:

  • rake, rototiller, rspec, rubocop, simplecov, yardstick, markdown, rubycritic, and coveralls for all your dev and unit testing needs.
  • beaker for your system testing needs, AND we ensure the bundle will install consistently across ruby versions by pinning old dependencies that don't seem to like following semver rules.

later we'll supply a bunch of canned rake tasks to bring this all together from the CLI or CI (see our Rakefile).

currently installed gems

dev and unit testing

  • coveralls: "Coveralls is a web service to help you track your code coverage over time, and ensure that all your new code is fully covered."
  • markdown: "A lightweight markup language with plain text formatting syntax."
  • rake: "A make-like build utility for Ruby."
  • rototiller: "A Rake helper library for command-oriented tasks."
  • rspec: "Behaviour Driven Development for Ruby."
  • rubocop: "A Ruby static code analyzer, based on the community Ruby style guide."
  • simplecov: "Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites."
  • yardstick: "A tool for verifying YARD documentation coverage."

system testing

  • beaker: "Beaker is a test harness focused on acceptance testing via interactions between multiple (virtual) machines."
  • beaker-hostgenerator: "Beaker Host Generator is a command line utility designed to generate beaker host config files using a compact command line SUT specification."

locally install this gem

If you are using gem_of for its super-sweet opinion on dependency management for gem development and testing, you can't just add gem_of in your Gemfile, because we need to use it to form your Gemfile. So you can either install it locally (as below), or use gem_of as a submodule.

gem install --local gem_of

or (use as a submodule):

clone git@github.com:puppetlabs/gem_of.git
cd gem_of
bundle install
bundle exec rake gem:build
bundle exec rake gem:install:local

you should probably pin your submodule version to a tag of a released,stable version of gem_of.

In your Gemfile

require 'gem_of'

eval(GemOf::Gems.new, binding)

In your Rakefile

gem_of distributes itself into your Gemfile, so if it's installed locally, as above, then the bundle for your other project will have it, and the rake tasks:

require "gem_of/rake_tasks"

GemOf::RakeTasks.new