While trying out the latest spira and promise on 1.8.7-p334 I got:
$ SomeModel.for uri
NameError: uninitialized constant Mutex
Looks like you need a require 'thread' in promise.rb for ruby 1.8.7
I have rubygems loading as an environment option which takes care of this for me so I never found it. If you make a pull request which requires thread if Mutex is undefined I'll merge it.
require thread for Mutex in 1.8.7, closes #3
Require thread unless Mutex is defined