Skip to content

A lightweight rails plugin that automates api queries with just a single method call.

License

Notifications You must be signed in to change notification settings

denmarkmeralpis/api_queries

Repository files navigation

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

About

A lightweight rails plugin that automates api queries with just a single method call.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published