Project

monkey-lib

0.01
No commit activity in last 3 years
No release in over 3 years
Making ruby extension frameworks pluggable.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Makes ruby extension libraries pluggable (thus not forcing such a library on the users of your library - like BigBand - but still giving you some fancy features).

TODO: Describe what it actually does. Feel free to have a look at the specs/code, should be pretty easy to understand.

Version number will soon be synchronized with BigBand.

Backends¶ ↑

Those libraries are supported as backends out of the box:

  • ActiveSupport (tested with 2.3.2 to 3.0.beta)

  • Backports (tested with 1.11.1 to 1.15.0, >= 1.13.1 required for Rubinius)

  • Extlib (tested with 0.9.13 and 0.9.14)

  • Facets (tested with 2.8.0 to 2.8.2)

Ruby versions¶ ↑

MonkeyLib has been tested and is known to work with the following Ruby implementations:

  • Ruby (MRI) 1.8.6, 1.8.7, 1.9.1, 1.9.2-preview1, also tested with trunk on regular basis

  • Ruby Enterprise Edition 2009.10, 2010.01

  • Rubinius 1.0.0-rc2 to 1.0.0-rc4, also tested with master branch on regular basis

  • JRuby 1.3.1, 1.4.0

  • MagLev 22780 to 23191 (Backports backend recommended, but all expectations pass on all backends)

  • IronRuby 0.9.3, 1.0-rc2 (only Extlib and Backports)

Currently it does not run on MacRuby, but I’m working on it.

Running the specs¶ ↑

Run specs with all backends:

rake spec

Run specs with active_support:

rake spec:active_support

Run specs with backports and using mspec instead of rspec (so it might work on incomplete ruby implementations):

SPEC_RUNNER=mspec rake spec:backports

Sometimes there are issues with running rake from the ruby implementation (maybe rake is not fully supported, or the backend detection messes with your ruby). You can use one ruby implementation to run the specs on another one. For instance, I use rvm to manage my rubies:

rvm install macruby-0.5
rvm use macruby-0.5
gem install mspec backports
rvm use default
RUBY=$rvm_path/rubies/macruby-0.5/bin/ruby SPEC_RUNNER=mspec rake spec:backports