Project

smart_core

0.01
Repository is archived
No release in over 3 years
Low commit activity in last 3 years
(in active development) A set of common abstractions
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0
~> 3.9
~> 0.17
 Project Readme

SmartCore ยท Gem Version Build Status

[ARCHIVED] The project is totally redesigned as @smart-rb

Meetup Slides: link


Installation

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);

Roadmap

  • 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;

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 '[feature_context] 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