Project

mini_gauge

0.0
No commit activity in last 3 years
No release in over 3 years
longer description of your gem
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

mini_gauge¶ ↑

Mini Gauge is a project based off of railroad to provide nice Graphviz documentation for a Ruby on Rails project. It was created to solve a few internal concerns with railroad, namely:

  • It loads within the project environment, so any customizations or models available in the environment are available for documentation

  • It comes with support for defining which models and relations appear, instead of everything on one graph

  • It supports instances of objects becoming graphviz objects, with data included

When documenting a large project with 134 models and counting, railroad was useful but too large. Additionally, we needed to show both the relations between the classes and what specific instances looked like before and after an operation.

MiniGauge is loaded within the application and extends ActiveRecord to build a Graphviz dot format document, and to append an instance or class and relations to the document. It comes with a sample rakefile to show how to build documentation on a per-class basis, but can be expanded to document extended relations or instances.

This gem includes rake tasks designed to be run from within a rails application. To enable them, create or find an existing rakefile from your project and add the following line:

Dir["#{Gem.searcher.find('mini_gauge').full_gem_path}/lib/tasks/*.rake"].each { |ext| load ext }

Then from the console run

doc:mini_gauge:graph

to produce a set of dot source files and graphs in doc/graphs

Mini gauge is currently in use internally as a library module, this gem is currently under development as a port of the internal library.

See more about Railroad at railroad.rubyforge.org/

Note on Patches/Pull Requests¶ ↑

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 ASEE. See LICENSE for details.