Ditch Your ORM

I’ve been promoting a functional approach in Ruby for a while now and even though it includes many different techniques and patterns, there’s this one idea, one fundamental idea that changes everything - immutability. But what does it even mean in Ruby? To freeze everything? That would be too slow, so no. Immutability-oriented design means that you avoid interfaces that can change your objects. Yes, there are plenty of methods in Ruby to mutate something, but when you are designing your object interfaces, you can design them in a way that your objects won’t change. ...

September 18, 2015 · 7 min · Peter Solnica

About the new ROM release and what happens next

Last month I wrote about rebooting ROM project and today I’m very happy that after almost 300 commits I pushed Ruby Object Mapper 0.3.0 to rubygems.org. It’s a big milestone as the project enters a new path and ships with a complete support for SQL databases thanks to Sequel. More official and less personal announcement is right here. In this post I’d like to give you more insight into what’s happening with the project and how its development is going to be organized and why. Let me start by saying that I’m very inspired by recent posts on Rubinius blog. Brian mentioned a couple of things I’ve been thinking about myself for a long time and it was amazing for me to read such a beautifuly written articles that talk about diversity in OSS community and the nature of building and releasing software. If you somehow missed those posts I highly recommend reading them. ...

November 24, 2014 · 4 min · Peter Solnica

Ruby Object Mapper Reboot

Rewrite is done. You can read more about it here. I’d like to let you know that after a couple years of work and a lot of thinking I decided to “reboot” ROM project. This decision was not easy and it has a lot of implications but it’s going to be awesome. Here’s why. New philosophy, similar goals If you’ve been following the project you know that the effort started as the next major version of DataMapper and then was renamed to ROM. There were a couple of big features we always wanted to have like a common interface for accessing different types of databases through a library called Axiom. Axiom is an amazing piece of software unfortunately nobody had the time to finish it which effectively blocked evolution of ROM itself. Another problem was that it required a multi-layered architecture to make all the pieces work together which is just a lot of complexity. ...

October 23, 2014 · 3 min · Peter Solnica

A Closer Look at How Ruby Object Mapper Works

Last Friday we finally released the first version of Ruby Object Mapper. It’s a big step for the project as we’ve established foundation of the whole system. There are many missing features, crucial ones, like support for RDBMS, server-side generated keys or a full-blown Unit of Work but…we’ll be adding those in the upcoming future releases. With the foundation in place it’ll be much easier for us to continue working on ROM so you should see frequent releases from now on with important additions. ...

August 26, 2013 · 6 min · Peter Solnica

Ruby DataMapper Status

UPDATE: DataMapper 2 was renamed to Ruby Object Mapper (ROM). For more info check out rom-rb.org In my recent post I gave you a brief overview of what I think about the state of Ruby ORMs. Since I’m involved in the development of DataMapper project I want to write a little more lines of text to give you a good overview of the current state of DataMapper project and how the future version 2.0 is going to look like. ...

January 10, 2012 · 8 min · Peter Solnica

The State of Ruby ORM

UPDATE: DataMapper 2 was renamed to Ruby Object Mapper (ROM). For more info check out rom-rb.org We have a lot of different Object-Relational Mapper implementations in Ruby (and a ton and a half of Mongo mappers ;)) and it’s probably a good thing. It seems like the only ORM that really matters right now is ActiveRecord although in “the background” we still have DataMapper and Sequel with growing communities. So I’m wondering…what’s the state of these ORMs? This post is my brain-dump on the subject with a potential to start a disccusion about the future of Ruby ORMs. This is a huge subject but I’ll keep it short. ...

November 29, 2011 · 7 min · Peter Solnica