Improve documentation of Crepe::API#version

Include mention of the default version, as well as the expected format
of a vendor string for header-based versioning.

Signed-off-by: David Celis <me@davidcel.is>
Merge pull request #36 from davidcelis/version-docs

Improve documentation of Crepe::API#version
More documentation

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Update development environment to include Pry

Helpful for debugging!

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Happy new year

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Update links to use org

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Update to use retina badges

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Call #as_json when rendering JSON from objects responding to it

This is a common API for objects that have JSON representations, and
resolves circular reference issues with passing some ActiveRecord
models directly to `JSON.dump`.

Signed-off-by: Evan Owen <kainosnoema@gmail.com>
Add documentation

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
En-dash

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Update rescue_from docs to be more realistic

We automatically rescue from Crepe::Params-based exceptions, so no need
to suggest them in the docs.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Improve documentation for Crepe::Endpoint#head

The `head` method also takes an undocumented options hash that maps to
HTTP headers. Document this to make it more discoverable.

Signed-off-by: David Celis <me@davidcel.is>
Consistent documentation whitespace

Signed-off-by: David Celis <me@davidcel.is>
Merge pull request #41 from davidcelis/master

Improve documentation for Crepe::Endpoint#head
Update bad documentation

Rack Mount compiles expressions and constraints by path component, so
`^` and `$` should not be used.

Fixes #42.

Signed-off-by: Stephen Celis <stephen@stephencelis.com>
Terminate streaming endpoints with an empty chunk

HTTP Streams must be terminated by an empty chunk, or certain clients
will raise errors. For example, trying to `curl` a streaming endpoint
will finish with:

`curl: (18) transfer closed with outstanding read data remaining`

Ensure that streaming endpoints write an empty chunk, denoted by
"0\r\n\r\n" before closing.

Signed-off-by: David Celis <me@davidcel.is>
Merge pull request #44 from davidcelis/empty-chunks

Terminate streaming endpoints with an empty chunk
Update development dependencies

Update RSpec to version 3. This deprecates the old, monkey-patching
`should` syntax in favor of the newer `expect` syntax, which all of
Crepe's specs have been updated to use.

Additionally, update Cane and Rake.

Signed-off-by: David Celis <me@davidcel.is>
Merge pull request #45 from davidcelis/update-dependencies

Update development dependencies
Rename Util.deep_dup to avoid confusion

Active Support (and others) use deep_dup for slightly different
behavior.

Fixes #38

Signed-off-by: Stephen Celis <stephen@stephencelis.com>