Painless Rails scope
Painless controllers
- Principles of hierarchical organization
- Renegade version of REST
- Resources: regular, modelless and virtual
- Bounded contexts in practice
- Avoiding respond_to
- Hierachy of ApplicationControllers
- Nuances of complex routing
- Flash messages 2.0
Painless models & business logic organization
- Typical Rails problems
- Domain models
- Multi-layered architecture
- Modularity
- Service layer
- Mutators
- Repositories
- Forms
- Presenters
- Value objects
- Handling defaults, data cleanup and virtual attributes
- State machines in practice
- Null objects
- The big picture
- "Types of work" to handle
- "Where to put this code" algorithm
- Principles of hierarchical organization. Aggregation Root.
- How to treat concerns
- What is wrong with service objects
Painless testing & interaction with external services
- Side effects separation
- Code coverage
- Black-box testing vs white-box testing
- Types of tests
- Fixtures
- Stubs vs mocks
- Webmock vs VCR vs stubs
- Service locator pattern
- Error-tracking