restful_query
github.com/quirkey/restful_query
DESCRIPTION:
RestfulQuery provides a RESTful interface for easily and safely querying ActiveRecord data.
USAGE:
Rails/ActiveRecord:
# as a gem, in environment.rb
config.gem 'restful_query'
or install the plugin. In your model:
class Post < ActiveRecord::Base
can_query
end
In your controller:
class PostsController < ApplicationController
# ...
def index
@posts = Post.restful_query(params[:query])
end
# ...
end
Now you can query your model via the URL:
/posts?query[name][like]=jon&query[_sort]=created_at-desc
Sequel
Theres also a Sequel extension that works very similar to ActiveRecord::Base.can_query:
require 'sequel/extensions/restful_query'
DB[:posts].restful_query({'name' => {'like' => 'jon'}, '_sort' => 'created_at-desc'})
<Sequel::SQLite::Dataset: "SELECT * FROM `posts` WHERE (name LIKE %jon%) ORDER BY `created_at` DESC">
More!
Please see the project homepage for detailed usage and info:
code.quirkey.com/restful_query
INSTALL:
To install as a gem:
sudo gem install restful_query
or from github:
sudo gem install quirkey-restful_query -s http://gems.github.com
To install as a rails plugin
./script/plugin install git://github.com/quirkey/restful_query.git
LICENSE:
Free for use under the terms of the MIT License - see LICENSE for details