Skip to content
This repository has been archived by the owner on Jun 28, 2022. It is now read-only.
/ smart_core Public archive

[ARCHIVED] [[The project is totally redesigned as @smart-rb https://github.com/smart-rb]] Powerful set of common abstractions: Service Object (Operation), IoC Container (Dependency Container), Validation Object, Initialization DSL (and more..) (in active development)

License

Notifications You must be signed in to change notification settings

0exp/smart_core

Repository files navigation

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

About

[ARCHIVED] [[The project is totally redesigned as @smart-rb https://github.com/smart-rb]] Powerful set of common abstractions: Service Object (Operation), IoC Container (Dependency Container), Validation Object, Initialization DSL (and more..) (in active development)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published