Reader small image

You're reading from  Layered Design for Ruby on Rails Applications

Product typeBook
Published inAug 2023
Reading LevelIntermediate
PublisherPackt
ISBN-139781801813785
Edition1st Edition
Languages
Right arrow
Author (1)
Vladimir Dementyev
Vladimir Dementyev
author image
Vladimir Dementyev

Vladimir Dementyev has been working on web applications for more than 10 years and launched his first Ruby on Rails project back in 2014. Since then, he has been working on a dozen of Rails web applications, used by hundreds of millions of customers, monolithic or component-based, following the Rails way or trying to swim against the current. He has been an active member of Rails open-source community since 2015, becoming a regular Rails contributor, a RailsConf speaker, and the author of dozens of gems, including AnyCable, TestProf, and Action Policy to name a few. For his work on the Ruby Next project, the author got the Fukuoka Ruby Award for outstanding performance in 2021. Currently, he's leading the backend developers' team at Evil Martians, helping dozens of web projects around the world build better software.
Read more about Vladimir Dementyev

Right arrow

Active Model – the hidden gem behind Active Record

Active Model has been extracted from Active Record in Rails 3.0 (released in 2010). The primary goal of this extraction was to untie Active Record from Action Pack, to make controllers and views uncoupled from the persistence layer: the database. Thus, Active Model became a building block for the M in Rails MVC, covering both persistent and non-persistent models.

Let’s take a closer look at this Rails component and learn how it could be helpful beyond Active Record.

Active Model as an interface

Although usually invisible to developers, Active Model contributes a lot to Rails’ productivity. Many Rails helpers, such as #redirect_to, #link_to, and so on, rely on the Active Model interface. In Ruby, when we say interface, we imply duck typing.

If it quacks like a duck, then it must be a duck

Duck typing is a technique of writing code based on the assumption that an object responds to a given method without...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Layered Design for Ruby on Rails Applications
Published in: Aug 2023Publisher: PacktISBN-13: 9781801813785

Author (1)

author image
Vladimir Dementyev

Vladimir Dementyev has been working on web applications for more than 10 years and launched his first Ruby on Rails project back in 2014. Since then, he has been working on a dozen of Rails web applications, used by hundreds of millions of customers, monolithic or component-based, following the Rails way or trying to swim against the current. He has been an active member of Rails open-source community since 2015, becoming a regular Rails contributor, a RailsConf speaker, and the author of dozens of gems, including AnyCable, TestProf, and Action Policy to name a few. For his work on the Ruby Next project, the author got the Fukuoka Ruby Award for outstanding performance in 2021. Currently, he's leading the backend developers' team at Evil Martians, helping dozens of web projects around the world build better software.
Read more about Vladimir Dementyev