Magiq
A library for building magical query interfaces for Arel scopes
Say it like: "Ma-Jee-Que"
This is a small ad-hoc utility library that I built in 2014 for use in LCBO API. I wanted a clean, declarative way to specify query param interfaces to my API endpoints.
Ultimately, it works! But life happened and I never really got the second version out the door. Since then JSON-API has really matured and a number of libraries have been released to solve this problem and much more.
These days I'd like to just use JSONAPI::Resources
for everything, but I still
sort of find myself wanting for a better way to specifiy query interfaces.
I'd like to morph Magiq
into something that could enhance sorting and
filtering in JSONAPI::Resources
. It might remain a more generic library with
an integration gem jsonapi-resources-magiq
maybe?
Installation
You'll probably be using this in a Rails application or something similar, simply add this line to your application's Gemfile:
gem 'magiq'
And then execute:
$ bundle
Usage
app/queries/
TODO: Write usage instructions here
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then,
run `rake spec` to run the tests. You can also run `bin/console` for an
interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`.
To release a new version, update the version number in `version.rb`, and then
run `bundle exec rake release`, which will create a git tag for the version,
push git commits and tags, and push the `.gem` file to
[rubygems.org](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on GitHub at
https://github.com/heycarsten/magiq. This project is intended to be a safe,
welcoming space for collaboration, and contributors are expected to adhere to
the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
## License
The gem is available as open source under the terms of the
[MIT License](http://opensource.org/licenses/MIT).