Sha256: 4ed6e0bba892912daca2dc184a23bf58ae9f433819c48c76d5595f5eaf874f13
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
# RiderKick This gem provides helper interfaces and classes to assist in the construction of application with Clean Architecture, as described in [Robert Martin's seminal book](https://www.amazon.com/gp/product/0134494164). ## Installation Add this line to your application's Gemfile: ```ruby gem 'rider-kick' ``` And then execute: $ bundle install $ bundle binstubs rider-kick ## Philosophy The intention of this gem is to help you build applications that are built from the use case down, and decisions about I/O can be deferred until the last possible moment. ## Clean Architecture This structure provides helper interfaces and classes to assist in the construction of application with Clean Architecture, as described in Robert Martin's seminal book. ``` - app - services - api - ... - domains - entities (Contract Response) - builder - repositories (Business logic) - use_cases (Just Usecase) - utils (Class Reusable) ``` ## Screaming architecture - use cases as an organisational principle Uncle Bob suggests that your source code organisation should allow developers to easily find a listing of all use cases your application provides. Here's an example of how this might look in a this application. ``` - app - domains - core ... - usecase - retail_customer_opens_bank_account.rb - retail_customer_makes_deposit.rb - ... ``` Note that the use case name contains: - the user role - the action - the (sometimes implied) subject ```ruby [user role][action][subject].rb # retail_customer_opens_bank_account.rb # admin_fetch_info.rb [specific usecase] # fetch_info.rb [generic usecase] every role can access it ```
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rider-kick-0.0.1 | README.md |