README.md in dry-data-0.2.0 vs README.md in dry-data-0.2.1
- old
+ new
@@ -1,15 +1,23 @@
-# Dry::Data <a href="https://gitter.im/dryrb/chat" target="_blank">![Join the chat at https://gitter.im/dryrb/chat](https://badges.gitter.im/Join%20Chat.svg)</a>
+[gem]: https://rubygems.org/gems/dry-data
+[travis]: https://travis-ci.org/dryrb/dry-data
+[gemnasium]: https://gemnasium.com/dryrb/dry-data
+[codeclimate]: https://codeclimate.com/github/dryrb/dry-data
+[coveralls]: https://coveralls.io/r/dryrb/dry-data
+[inchpages]: http://inch-ci.org/github/dryrb/dry-data
-<a href="https://rubygems.org/gems/dry-data" target="_blank">![Gem Version](https://badge.fury.io/rb/dry-data.svg)</a>
-<a href="https://travis-ci.org/dryrb/dry-data" target="_blank">![Build Status](https://travis-ci.org/dryrb/dry-data.svg?branch=master)</a>
-<a href="https://gemnasium.com/dryrb/dry-data" target="_blank">![Dependency Status](https://gemnasium.com/dryrb/dry-data.svg)</a>
-<a href="https://codeclimate.com/github/dryrb/dry-data" target="_blank">![Code Climate](https://codeclimate.com/github/dryrb/dry-data/badges/gpa.svg)</a>
-<a href="http://inch-ci.org/github/dryrb/dry-data" target="_blank">![Documentation Status](http://inch-ci.org/github/dryrb/dry-data.svg?branch=master&style=flat)</a>
+# dry-data [![Join the chat at https://gitter.im/dryrb/chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/dryrb/chat)
-A simple type-system for Ruby respecting ruby's built-in coercion mechanisms.
+[![Gem Version](https://badge.fury.io/rb/dry-data.svg)][gem]
+[![Build Status](https://travis-ci.org/dryrb/dry-data.svg?branch=master)][travis]
+[![Dependency Status](https://gemnasium.com/dryrb/dry-data.svg)][gemnasium]
+[![Code Climate](https://codeclimate.com/github/dryrb/dry-data/badges/gpa.svg)][codeclimate]
+[![Test Coverage](https://codeclimate.com/github/dryrb/dry-data/badges/coverage.svg)][codeclimate]
+[![Inline docs](http://inch-ci.org/github/dryrb/dry-data.svg?branch=master)][inchpages]
+A simple type system for Ruby with support for coercions.
+
## Installation
Add this line to your application's Gemfile:
```ruby
@@ -38,29 +46,48 @@
- `form` - non-strict coercion types suitable for form params
- `maybe` - accepts either a nil or something else
### Built-in Type Categories
+Non-coercible:
+
+- `nil`
+- `true`
+- `false`
+- `date`
+- `date_time`
+- `time`
+
Coercible types using kernel coercion methods:
- `coercible.string`
- `coercible.int`
- `coercible.float`
- `coercible.decimal`
- `coercible.array`
- `coercible.hash`
-Non-coercible:
+Optional strict types:
-- `nil`
-- `true`
-- `false`
-- `date`
-- `date_time`
-- `time`
+- `maybe.strict.string`
+- `maybe.strict.int`
+- `maybe.strict.float`
+- `maybe.strict.decimal`
+- `maybe.strict.array`
+- `maybe.strict.hash`
-Form-coercible types:
+Optional coercible types:
+- `maybe.coercible.string`
+- `maybe.coercible.int`
+- `maybe.coercible.float`
+- `maybe.coercible.decimal`
+- `maybe.coercible.array`
+- `maybe.coercible.hash`
+
+Coercible types suitable for form param processing:
+
+- `form.nil`
- `form.date`
- `form.date_time`
- `form.time`
- `form.true`
- `form.false`