SmartCore · Gem Version Build Status Coverage Status

In active development.


Installation

gem 'smart_core'
bundle install
# --- or ---
gem install smart_core
require 'smart_core'

Completed abstractions:

  • Operation Object (aka Service Object) (SmartCore::Operation)

    • attribute definition DSL (param, option, params, options);
    • yieldable result object abstraction (Success, Failure, #success?, #failure?);
    • yieldable #call (and .call);
    • inheritance works as expected :);
    • no dependencies;
  • Validation Object (SmartCore::Validator)

    • support for nested validations;
    • inheritance works as expected :);
    • command-style DSL;
    • thread-safe;
    • no dependencies;

Operation Object

class Service < SmartCore::Operation
  # soon...
end

Validation Object

class Validator < SmartCore::Validator
  # soon...
end

Contributing

  • Fork it ( https://github.com/0exp/smart_core/fork )
  • Create your feature branch (git checkout -b feature/my-new-feature)
  • Commit your changes (git commit -am 'Add some feature')
  • Push to the branch (git push origin feature/my-new-feature)
  • Create new Pull Request

License

Released under MIT License.

Authors

Rustam Ibragimov