ApiQueries
Manage you api using api_q
method.
Installation
Add this line to your application's Gemfile:
gem 'api_queries'
And then execute:
$ bundle
Or install it yourself as:
$ gem install api_queries
Usage
Add this to the model you want to add an api queries.
include ApiQueries
Optional Parameters:
active_only [1, 0]
page [1 ~ n]
-
column_date
(Default isupdated_at
)
Get data filtered by date:
after
before
from
to
Available Queries:
q=count
q=last_updated_at
Example:
# models/product.rb
class Product < ActiveRecord::Base
include ApiQueries
end
# Get active products(assuming you have a status column)
Product.api_q(active_only: 1)
# Get active products and go to page 2
Product.api_q(active_only: 1, page: 2)
# Get all dates using from and to
# Date format should be: YYYY-MM-DDTHH:MM:SSZ
Product.api_q(from: '2016-01-01T12:00:00Z', to: '2016-01-31T12:00:00Z')
# Count all products
Product.api_q(q: 'count')
# Get last updated_at
Product.api_q(q: 'last_updated_at')
You can catch exception ApiQueries::Errors::UnknownColumn
in your api_controller.rb
if the value of column_date
is invalid or does not exist. Example below:
# api_controller.rb
rescue_from ApiQueries::Errors::UnknownColumn, with: render_unknown_column_error
def render_unknown_column_error
render json: { errors: 'Your error message' }, status: 422
end
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/denmarkmeralpis/api_queries. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.