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`