About the Book
The book covers many ideas that potentially may be completely new to many Rubyists, including:
- Blending FP with OO - see how immutability can help you, how stateless functional objects can be used, what tools you can leverage to support this style
- Organizing your code using an IoC container and composing objects using DI
- Encapsulating data-access in a simple persistence layer using ROM
- Exposing domain-specific structures via ROM repositories
- Handling data manipulation using a separate layer using ROM commands
- Clean view layer with logic-less templates
- Dealing with complex business transactions through simple, functional object composition
ROM is a persistence and mapping toolkit and it gives a more functional approach to dealing with the databases. It's not an object relational mapper since it focuses on the data and mapping to domain specific data-structures rather than trying to solve the impedence mismatch and map to domain mutable objects. The book shows how to use ROM effectively, explains how it reduces complexity and makes development much simpler.
Roda is a routing tree web framework toolkit. It is built in a similar way to ROM - a small core, extendible through plugins. This book shows how easy it is to assemble a custom, full-stack framework built from smaller components that Roda provides. This flexibility gives us an opportunity to organize the code in all kinds of ways and the book shows one of such ways.
About the Author
Piotr Solnica is a software consultant and an OSS developer. He spent over 10 years building web applications, including 8+ years of experience with Ruby and Rails, helping clients from all over the world to turn their ideas into working software. As a former DataMapper core team member and the creator of Ruby Object Mapper (ROM) project he's been working a lot on Ruby libraries that deal with persistence and data mapping.