Description
Pliny helps Ruby developers write and maintain excellent APIs.
It bundles the best patterns, libraries and practices we've seen after writing a lot of APIs.
Pliny alternatives and similar gems
Based on the "API Builder" category.
Alternatively, view Pliny alternatives based on common mentions on social networks and blogs.
-
Her
Her is an ORM (Object Relational Mapper) that maps REST resources to Ruby objects. It is designed to build applications that are powered by a RESTful API instead of a database. -
Praxis
Praxis is a framework that focuses on both the design and implementation aspects of creating APIs. -
YASL
Yet Another Serialization Library - A pure Ruby auto-serialization library that works across different Ruby implementations like Opal and JRuby as an automatic alternative to YAML/Marshal. Unlike Marshal, it does not raise errors for unserializable objects, thus provides a highly productive friction-free auto-serialization experience.
Scout Monitoring - Performance metrics and, now, Logs Management Monitoring with Scout Monitoring
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Pliny or a related project?
Popular Comparisons
README
Pliny
Pliny helps Ruby developers write and maintain excellent APIs.
It bundles the best patterns, libraries and practices we've seen after writing a lot of APIs.
Resources
Getting started
Install gem:
$ gem install pliny
And initialize your new API app:
$ pliny-new myapp
$ cd myapp && bin/setup
Pliny bundles generators to help you get started:
$ bundle exec pliny-generate model artist
created model file ./lib/models/artist.rb
created migration ./db/migrate/1408995997_create_artists.rb
created test ./spec/models/artist_spec.rb
$ bundle exec pliny-generate mediator artists/creator
created mediator file ./lib/mediators/artists/creator.rb
created test ./spec/mediators/artists/creator_spec.rb
$ bundle exec pliny-generate endpoint artists
created endpoint file ./lib/endpoints/artists.rb
add the following to lib/routes.rb:
mount Endpoints::Artists
created test ./spec/endpoints/artists_spec.rb
created test ./spec/acceptance/artists_spec.rb
$ bundle exec pliny-generate migration fix_something
created migration ./db/migrate/1395873228_fix_something.rb
$ bundle exec pliny-generate schema artists
created schema file ./schema/schemata/artist.yaml
rebuilt ./schema/schema.json
To test your application:
$ bundle exec rake
Or to run a single test suite:
$ bundle exec rspec spec/acceptance/artists_spec.rb
Generators
$ bundle exec pliny-generate
Commands:
pliny-generate endpoint NAME # Generates an endpoint
pliny-generate help [COMMAND] # Describe available commands or one specific command
pliny-generate mediator NAME # Generates a mediator
pliny-generate migration NAME # Generates a migration
pliny-generate model NAME # Generates a model
pliny-generate scaffold NAME # Generates a scaffold of endpoint, model, schema and serializer
pliny-generate schema NAME # Generates a schema
pliny-generate serializer NAME # Generates a serializer
Rake tasks
Pliny adds common Rake tasks to help maintain your app:
rake db:create # Create the database
rake db:drop # Drop the database
rake db:migrate # Run database migrations
rake db:rollback # Rollback last database migration
rake db:schema:dump # Dump the database schema
rake db:schema:load # Load the database schema
rake db:schema:merge # Merges migrations into schema and removes them
rake db:seed # Seed the database with data
rake db:setup # Setup the database
rake schema # Rebuild schema.json
Commands
And provides the following commands:
$ foreman start # Starts server
$ foreman run bin/console # IRB/Pry console
$ foreman run bin/run 'puts "hello world"' # Run automated code
(hint: don't forget foreman run
in development)
Updating
Use pliny-update
to update the Pliny app in the current directory.
This not only bumps the version dependency, but also applies any changes that happened in the template app (for instance: new initializer, tweaks in the base endpoint, etc).
Development
Run tests:
$ bundle install
$ createdb pliny-gem-test
$ rake
Meta
Created by Brandur Leach and Pedro Belo.
MIT licensed.
*Note that all licence references and agreements mentioned in the Pliny README section above
are relevant to that project's source code only.