SmartCore · Gem Version Build Status

In active development (Coming Soon: Powerful documentaion :))

Meetup Slides: link


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

Completed abstractions:

  • Service Object (Operation, Functional Object);
  • IoC Container (Dependency Container);
  • Initializer (DSL);
  • Validator (Validation Layer);


  • Value Object (SmartCore::ValueObject (DTO) (truely immutable and comparable objects 😈));
  • Schema Structure Validator (SmartCore::Schema);
  • Saga (SmartCore::Saga);
  • External Type System (SmartCore::Types);
    • Suport for Interface Type Checking (Duck-typing checker 🤔);
  • Step-like execution behavior for SmartCore::Operation (.step, SmartCore::Railway);
  • Automatic result instantiation and handling for SmartCore::Operation;


  • Fork it ( )
  • Create your feature branch (git checkout -b feature/my-new-feature)
  • Commit your changes (git commit -am '[feature_context] Add some feature')
  • Push to the branch (git push origin feature/my-new-feature)
  • Create new Pull Request


Released under MIT License.


Rustam Ibragimov