Add composable validations
Move included definition from eval to ClassMethods
Change fixture class for consistency

Change ComposedValidationsTestWithExtraAttributes to
ComposedValidationsWithExtraAttributesTest
Add tests for nested composed validations
Add API Docs
Update README
Use send for including in other class/module

For Ruby 2.0 compatibility. In Ruby 2.1.0, Module#include was changed to
a public method because it was often used this way.
(https://bugs.ruby-lang.org/issues/8846)
Change since in API docs to x.x.x
Change examples in README

Reverted complete example, renamed "Validations in modules" to "Composable validations", simplified composable validations example.
Change example in included API Docs

Use example that is also used in the README
Use class_eval + include instead of send :include
Document and test decorated composable validations

Example:

  require 'lotus/validations'

  module CommonValidations
    include Lotus::Validations

    attribute :email,    presence: true, format: /.../
    attribute :password, presence: true
  end

  # A valid signin requires:
  #  * email (presence and format)
  #  * password (presence)
  class Signin
    include CommonValidations
  end

  # A valid signup requires:
  #  * email (presence and format)
  #  * password (presence and confirmation)
  class Signin
    include CommonValidations

    # Decorates the validations defined in CommonValidations, by
    # requiring a password confirmation too.
    attribute :password, confirmation: true
  end
Ensure that decorated validations preserve don't override the previous set of rules. Thanks to @rhynix
Expose #attributes as public method
Validations#attributes prevents information escape
Merge pull request #23 from lotus/expose-attributes

Expose #attributes as public method
Depend on lotus-utils 0.3.x
Retrieve only whitelisted attributes
Merge branch 'whitelisted-attributes'
Refactoring: extract attributes and attribute responsibilities