Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jsonapi-resources

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsonapi-resources

  • 0.11.0.beta2
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

JSONAPI::Resources Gem Version Build Status Code Climate

Join the chat at https://gitter.im/cerebris/jsonapi-resources

JSONAPI::Resources, or "JR", provides a framework for developing an API server that complies with the JSON:API specification.

Like JSON:API itself, JR's design is focused on the resources served by an API. JR needs little more than a definition of your resources, including their attributes and relationships, to make your server compliant with JSON API.

JR is designed to work with Rails 5.1+, and provides custom routes, controllers, and serializers. JR's resources may be backed by ActiveRecord models or by custom objects.

Documentation

Full documentation can be found at http://jsonapi-resources.com, including the v0.10 alpha Guide specific to this version.

Demo App

We have a simple demo app, called Peeps, available to show how JR is used.

Client Libraries

JSON:API maintains a (non-verified) listing of client libraries which should be compatible with JSON:API compliant server implementations such as JR.

Installation

Add JR to your application's Gemfile:

gem 'jsonapi-resources'

And then execute:

bundle

Or install it yourself as:

gem install jsonapi-resources

For further usage see the v0.10 alpha Guide

Development

There is a docker compose setup that can be used for testing your code against the supported versions of ruby and against PostgreSQL, MYSQL, and SQLite databases.

First build the docker image:

docker compose build

Be sure to rebuild after making code changes. It should be fast after the initial build.

Running the tests

The default command will run everything (it may take a while):

docker compose run tests

To test just one database against the latest ruby:

docker compose run tests ./test_mysql
docker compose run tests ./test_postgresql
docker compose run tests ./test_sqlite

To test a version of ruby against all databases:

docker compose run tests ./test_ruby 2.7.7

The tests by default run against the latest rails version. To override that you can set the RAILS_VERSION environment variable:

docker compose run -e RAILS_VERSION=6.1.1 tests ./test_postgresql

Contributing

  1. Submit an issue describing any new features you wish it add or the bug you intend to fix
  2. Fork it ( http://github.com/cerebris/jsonapi-resources/fork )
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Run the full test suite (rake test)
  5. Fix any failing tests
  6. Commit your changes (git commit -am 'Add some feature')
  7. Push to the branch (git push origin my-new-feature)
  8. Create a new Pull Request

Did you find a bug?

  • Ensure the bug was not already reported by searching on GitHub under Issues.

  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

  • If possible, use the relevant bug report templates to create the issue. Simply copy the content of the appropriate template into a .rb file, make the necessary changes to demonstrate the issue, and paste the content into the issue description or attach as a file:

License

Copyright 2014-2023 Cerebris Corporation. MIT License (see LICENSE for details).

FAQs

Package last updated on 26 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc