README.md in pliny-0.11.0 vs README.md in pliny-0.11.1

- old
+ new

@@ -1,55 +1,37 @@ # Pliny -Opinionated template Sinatra app for writing excellent APIs in Ruby. - +[![Gem version](http://img.shields.io/gem/v/pliny.svg)](https://rubygems.org/gems/pliny) [![Build Status](https://travis-ci.org/interagent/pliny.svg?branch=master)](https://travis-ci.org/interagent/pliny) -It bundles some of the patterns we like to develop these apps: +Pliny helps Ruby developers write and maintain excellent APIs. -- Config: `ENV` wrapper for explicit defining what config vars are mandatory and optional -- Endpoints: the Sinatra equivalent of a Rails Controller -- Initializers: tiny files to configure libraries/etc (equivalent of Rails) -- Mediators: plain ruby classes to manipulate models -- Models: very thin wrappers around the database +It bundles the best patterns, libraries and practices we've seen after writing a lot of APIs. -And gems/helpers to tie these together and support operations: -- [CORS middleware](lib/pliny/middleware/cors.rb) to allow JS developers to consume your API -- [Rollbar](https://www.rollbar.com/) for tracking exceptions -- [Log helper](spec/log_spec.rb) that logs in [data format](https://www.youtube.com/watch?v=rpmc-wHFUBs) [to stdout](https://adam.heroku.com/past/2011/4/1/logs_are_streams_not_files) -- [Mediators](http://brandur.org/mediator) to help encapsulate more complex interactions -- [Rspec](https://github.com/rspec/rspec) for lean and fast testing -- [Puma](http://puma.io/) as the web server, [configured for optimal performance on Heroku](lib/template/config/puma.rb) -- [Rack-test](https://github.com/brynary/rack-test) to test the API endpoints -- [Request IDs](lib/pliny/middleware/request_id.rb) -- [RequestStore](http://brandur.org/antipatterns), thread safe option to store data with the current request -- [Sequel](http://sequel.jeremyevans.net/) for ORM -- [Sequel-PG](https://github.com/jeremyevans/sequel_pg) to talk to the world's most advanced open source database -- [Versioning](lib/pliny/middleware/versioning.rb) to allow versioning your API in the HTTP Accept header +## Resources -## Getting started +- [Documentation](https://github.com/interagent/pliny/wiki) +- [Mailing list](https://groups.google.com/group/pliny-talk) -First make sure the following is installed: -* [Postgres](http://www.postgresql.org/) - * The [uuid-ossp](http://www.postgresql.org/docs/9.3/static/uuid-ossp.html) module for Postgres +## Getting started -Then install the gem: +Install gem: ```bash $ gem install pliny ``` -And initialize a new app: +And initialize your new API app: ```bash $ pliny-new myapp $ cd myapp && bin/setup ``` -Pliny also bundles [some generators](#generators) to help you get started: +Pliny bundles [generators](#generators) to help you get started: ```bash $ bundle exec pliny-generate model artist created model file ./lib/models/artist.rb created migration ./db/migrate/1408995997_create_artists.rb @@ -104,17 +86,17 @@ pliny-generate serializer NAME # Generates a serializer ``` ### Rake tasks -Pliny comes with several rake tasks: +Pliny adds common Rake tasks to help maintain your app: ```bash rake db:create # Create the database rake db:drop # Drop the database rake db:migrate # Run database migrations -rake db:rollback # Rollback the database +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 @@ -150,5 +132,7 @@ ``` ## Meta Created by Brandur Leach and Pedro Belo. + +MIT licensed.