These rubygems look very cool:
I'm starting with sinatra_resource:
gem install sinatra_resource Building native extensions. This could take a while... Successfully installed mongo-0.18.3 Successfully installed mongo_mapper-0.7.0 Successfully installed mongo_ext-0.18.3 Successfully installed query_string_filter-0.1.4 Successfully installed sinatra_resource-0.4.15 Successfully installed polyglot-0.3.0 6 gems installed
I'm trying out sinatra_resource, and while it looks really interesting, I'm having a tough time cracking the nut.
When I try to run the example datacatalog, I hit this error:
/var/lib/gems/1.9.1/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:91:in `const_missing': wrong number of arguments (0 for 1) (ArgumentError) from /var/www/dev/sinatra_resource/lib/builder.rb:186:in `block in build_helpers' from /var/lib/gems/1.9.1/gems/sinatra-1.0.a/lib/sinatra/base.rb:893:in `class_eval' from /var/lib/gems/1.9.1/gems/sinatra-1.0.a/lib/sinatra/base.rb:893:in `helpers' from /var/www/dev/sinatra_resource/lib/builder.rb:185:in `build_helpers' from /var/www/dev/sinatra_resource/lib/builder.rb:31:in `build' from /var/www/dev/sinatra_resource/lib/resource.rb:59:in `build' from /var/www/dev/sinatra_resource/examples/datacatalog/resources/categories.rb:62:in `<module:DataCatalog>' from /var/www/dev/sinatra_resource/examples/datacatalog/resources/categories.rb:1:in `<top (required)>' from /var/lib/gems/1.9.1/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require' from /var/lib/gems/1.9.1/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require' from /var/lib/gems/1.9.1/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `block in require' from /var/lib/gems/1.9.1/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in' from /var/lib/gems/1.9.1/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' from /var/www/dev/sinatra_resource/examples/datacatalog/app.rb:16:in `block in <top (required)>' from /var/www/dev/sinatra_resource/examples/datacatalog/app.rb:16:in `each' from /var/www/dev/sinatra_resource/examples/datacatalog/app.rb:16:in `<top (required)>' from config.ru:2:in `require' from config.ru:2:in `<main>'
First things first: 'require mongo_adapter', not 'require dm-mongo-adapter'.
After that misstep, things went smoothly! It seems to have the awesome characteristics of most datamapper tools I've used.