Encapsulating Business Transactions With Transflow

It’s a known fact that when you deal with a big problem it’s good to split it into smaller problems, solve them in isolation using separate components and use an integration layer to combine them into a single unit. Unfortunately it’s easier said than done. In an OO language like Ruby there are countless approaches you can take to tackle complex scenarios in your application. Objects accumulating state, which gets mutated as a result of some business transaction, is already a complex thing to deal with....

August 17, 2015 · 5 min · Piotr Solnica

Importing Data With ROM and Transproc

Importing data into a database can be a complicated task. This process can be quite painful as you need to deal with data transformation, filling in missing information, specifying validation rules, handling errors and so on. Without proper tools to solve this problem it can become more complicated than it should be. In my current project at work I’m dealing with exactly that problem - we’re importing data from YAML documents into a PostgreSQL database....

July 15, 2015 · 9 min · Piotr Solnica

New Transproc Released

Transproc is a small library I wrote a couple of months back. It’s been growing nicely and yesterday its 0.3.0 version was released which redefined how it works and what it really is. I’m exicited about this project as it’s been used in ROM to implement its Mapper component and turned out to be very powerful and flexible while remaining simple. In this post I’d like to show you what transproc really is and how it can be used with other libraries....

July 13, 2015 · 3 min · Piotr Solnica

Introducing Transproc - functional data transformations for Ruby

Data mapping, or how I prefer to call it - data transformations, is something I’ve tackled in a couple of projects already. First, in DataMapper ORM with its Property API. Then in Virtus, a project that started as an extraction of DataMapper Property API to a separate gem. Then Virtus evolved into something more powerful and quite a lot of people really enjoy using it until this day. The approach used in Virtus and many other libraries similar to Virtus is typical OO design....

April 16, 2015 · 4 min · Piotr Solnica

Introducing Yesql for Ruby using ROM

Last week we released a new beta version of ROM and you’ll be able to read more about it on the official blog later this week. Today I’d like to tell you a little bit about a new adapter that I built for ROM that’s based on Yesql from the Clojure world. When I was working on ROM I was paying attention to other languages too searching for inspiration and Yesql was one of my favorite discoveries....

March 2, 2015 · 5 min · Piotr 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....

November 24, 2014 · 4 min · Piotr 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....

October 23, 2014 · 3 min · Piotr Solnica

Help Us Build ROM

Many people have been asking me how they can help us build ROM. This was the hardest question I’ve heard next to “when will it be ready?”. My usual reply was suggesting to join our IRC channel and talk but it really isn’t a good answer as it’s difficult and time consuming to talk about same things all over again that’s why I decided to finally put together this post and explain what’s going on and how you can help....

May 17, 2014 · 3 min · Piotr Solnica

Taking a Break From OSS

Last two years have been pretty intensive for me. I became a husband, a father, a co-founder of Powow and during that time I tried to contribute as much as I could to OSS. I was mostly focused on Virtus and Ruby Object Mapper which consumed a lot of my time and energy. I thought I could go on but I was mistaken. I’ve burned out and decided to take a break from my OSS activities and focus on my family and daily work....

October 17, 2013 · 2 min · Piotr Solnica

Virtus - Attributes For Your Plain Ruby Objects

I’m happy to announce the first release of Virtus gem. It is an extraction of DataMapper Property API with various tweaks and improvements. If you like how properties work in DataMapper and would like to use such functionality in your plain ruby objects then you should give Virtus a try. It is an early release but I would not expect many API changes before 1.0.0 since the code is based on the stable DataMapper API and I’m quite happy with it....

June 6, 2011 · 4 min · Piotr Solnica