0.0
No commit activity in last 3 years
No release in over 3 years
A lightweight rails plugin that is very useful for developers.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.12
~> 10.0
~> 3.0

Runtime

 Project Readme

Build Status Maintainability Test Coverage Gem Version

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 is updated_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.

Donate

paypal