[ARCHIVED] The project is totally redesigned as @smart-rb
Meetup Slides: link
gem 'smart_core'
bundle install
# --- or ---
gem install smart_core
require 'smart_core'
- 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 ( 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
Released under MIT License.