Hexx 2

== Addons

* Hexx::Service#transactions declared.
  The method runs validations and rescues from Hexx::Service::Invalid and StandardError exceptions.

* Hexx::Service.allowed_params defines corresponding attribute for any allowed key.
  allowed_params :name # => declares the :name virtual attribute with #name and #name=.

* Hexx::Service#messages returns an array of service messages.
* Hexx::Service#add_message adds a Hexx::Service::Message to array of #messages.
* Hexx::Service::Invalid (ex- Hexx::ServiceInvalid) #messages. Returns an array of Hexx::Service::Message objects.
* Hexx::Message.from extracts an array of Hexx::Service::Message objects from service instance errors.

== Changes

* Hexx::Models should be extracted not included.
* Hexx::Service#run doesn't rescues from any errors. All that staff moved to Hexx::Service#transaction.
* Hexx::UseCase renamed to Hexx::Service.
* Hexx::ServiceInvalid namespaced: Hexx::Service::Invalid.
* Hexx::Message namespaced: Hexx::Service::Message.

== Deletions

* Hexx::RuntimeError exception.
* Hexx::NotFoundError exception.
* Hexx::UseCaseInvalid exception.

* Hexx::Settings.

* ActiveRecord coersion by Hexx::Service::Models.attr_coerced extracted to the 'hexx-rails' gem.
* Hexx::Rake extracted to the 'hexx-rails' gem.
* Generators extracted to the 'hexx-rails' gem.

== Version

Changed to 2.0.0