0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
RubyBreaker is a dynamic type documentation/checking tool for Ruby. It dynamically instruments code, monitors objects during execution, performs dynamic type checking, and generates type documentation based on the profiled information. RubyBreaker helps Ruby programs "break" out of obscurities and convolutions by auto-documenting type information.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Introduction

RubyBreaker is a dynamic type documentation tool written in pure Ruby. It provides the framework for dynamically instrumenting a Ruby program to monitor objects during the execution and document the observed type information. In addition, it can perform early dynamic type checking. In other words, RubyBreaker helps Ruby programs "break" out of obscurities and convolutions by documenting the type information. The type documentation generated by RubyBreaker is also an executable Ruby code that can be used as an input to subsequent analyses.

The primary goal of RubyBreaker is to assign a type signature to every method in selected modules and classes. A type signature is written in the RubyBreaker Type Annotation Language which resembles the documentation style used in Ruby Core Library Doc. No manual code change is required. Overall, this tool should help Ruby programmers document their code more rigorously and effectively.

Currently, RubyBreaker does not

  • Auto-document block arguments (inherent)
  • Support parametric polymorphic types
  • Support RDoc or YARD output format

To contribute to the project, visit RubyBreaker's GitHub page and RubyGems page. The web version of this document and the tutorial can be found here.

Requirements

Ruby 1.9.x and TreeTop 1.x

If the most recent Ruby 1.9 is installed on the computer, it will probably work. If TreeTop is not installed, use RubyGems or download from the following URL: TreeTop

Installation

It is as simple as running the following command:

$ gem install rubybreaker