Writing detailed documentation helps to improve software design. Explaining the intent mitigates inconsistencies and helps other people to understand our initial idea. We'll discover why the semantic of the raised exceptions is important to write solid API interfaces.
Lotus is a complete web framework for Ruby with a strong emphasis on object oriented design and testability. If you use it, you employ less DSLs and more objects, zero monkey-patching, separation of concerns between MVC layers. Each library is designed to be small, fast and testable.
Inheriting from Ruby's classes can be harmful. Composition should be preferred over inheritance, but beware of the unexpected behaviors.
Rails is not dead. Debating about things such as the hexagonal architecture isn't an assault to the framework, but a way to evolve as a community. If they feel under attack, we have a problem. Please speak up.
All these discussions about software design are missing one detail: we are all wrong. Everyone has a vision that can be found great by some people, and deprecable by others. When it comes to talk about opinions this is the way that things work. If nobody's right, we're all wrong.