January 18, 2009


Introduction / Motivation

The problem with the existing tools for building gems, like hoe and newgem, is they generate a whole host of files which are hard to maintain. Tools like gemify and gemhub on the other hand are to simplified and work only for very small gems which follow the imposed conventions.

The solution would be to make a tool which doesn’t generate unneeded files and uses a simple configuration format like YAML. Enter GM.

GM is a framework for building gems in a clean and simple way. It uses YAML as its configuration format and generates only the absolute minimum needed to get you going. GM is also designed to be extendable in (almost) every way.


How to use GM

Install GM

sudo gem install simonmenke-gm

Global configuration

Put the following snippet in ~/.gmrc

author:
  name:  [Your Name Here]
  email: [Your Email Here]
github:
  username: [Your GitHub Username Here]

Create a gem

gm create name_of_your_gem

Gem configuration

Put the following snippet in the Gmfile of your gem.

general:
  name:     [The Gem Name]
  version:  [The Gem Version]
  summary:  [A Summary]
  homepage: [The Homepage Of The Gem]
dependencies:
  - [Name Of Gem]  [Version Requirement (>= 1.0.0)]

Write code

I can’t help you here ;)

Build or install your gem

gm build
gm install

Dump a .gemspec file for GitHub

gm spec

Known problems with GM

  1. The gm command may conflict with the gm tool from GraphicsMagick. To bypass this use gem-make instead of gm.

Please post any bug reports or feature requests here

Milkshakes for everyone

----------------------------------------------------------------------------------------------------h3. I'm tired of Custom CMS systems!I...… Continue reading

Database agnostic Snapshots

Published on September 28, 2009

Navigate between tabs like in TextMate

Published on April 26, 2009