Make Rails controllers look like Sinatra.
Heavily inspired by Carl Lerche's "Astaire".
The lambda inside Rails routes was taken from Jose Valim's gist.
class ShowoffController < ApplicationController
include Sinatrify::DSL
get "/greet" do
render :text => "Hello!"
end
end- Dress your Rails controller in a classy Sinatra suit
- High test coverage
- Integration tests for every major Rails release
Add it to the Gemfile
gem "sinatrify"Bundle it with bundle.
Sinatrify doesn't include its DSL into controllers automatically. You should do so manually for each controller, like in the above example.
Mount your sinatrified controller somewhere
# in config/routes.rb
mount lambda { |env| ShowoffController.call(env) } => "/api"lambda is used here so your code gets reloaded in development.
Works on Rails >3.0 only.
Check out the example_app folder.
Run rake test for specs and rake appraise for features.
Pull requests welcome!