Sinja is a Sinatra extension for quickly building RESTful, {json:api}-compliant web services, leveraging the excellent JSONAPI::Serializers gem for payload serialization. It enhances Sinatra's DSL to enable resource-, relationship-, and role-centric API development, and it configures Sinatra with the proper settings, MIME-types, filters, conditions, and error-handling. There are many parsing (deserializing), rendering (serializing), and other "JSON API" libraries available for Ruby, but relatively few that attempt to correctly implement the entire {json:api} server specification, including routing, request header and query parameter checking, and relationship side-loading. Sinja lets you focus on the business logic of your applications without worrying about the specification, and without pulling in a heavy framework like Rails. It's lightweight, ORM-agnostic, and Ember.js-friendly!

Required Ruby Version

>= 2.3.0

Authors

Mike Pastore

Versions

  1. 1.3.0
    1. source

      1. 1.3.0 source October 27, 2017 (39.5 KB)
  2. 1.2.5
    1. source

      1. 1.2.5 source March 08, 2017 (38.5 KB)
  3. 1.2.4
    1. source

      1. 1.2.4 source February 13, 2017 (38 KB)
  4. 1.2.3
    1. source

      1. 1.2.3 source January 11, 2017 (37 KB)
  5. 1.2.2
    1. source

      1. 1.2.2 source December 18, 2016 (36.5 KB)
Show all versions (19 total)

SHA 256 checksum