fbpx logo-new mail facebook Dribble Social Icon Linkedin Social Icon Twitter Social Icon Github Social Icon Instagram Social Icon Arrow_element diagonal-decor rectangle-decor search arrow circle-flat
Development

Announcing Hstore Accessor 0.9.0 and 1.0.0

Michael Crismali Tandem Alum

I'm happy to announce that we've just cut two new releases of our Hstore Accessor gem! If you're not familiar with the gem, it allows you to treat fields stored on an hstore as though they were regular columns in your database. Getters, setters and much more.

So what's new?

Both releases support ActiveRecord 4.2 in addition to versions 4.1 and 4.0. We've also wrapped up column_for_attribute and type_for_attribute so that when you ask for either value on an hstore accessor field you get back what you'd expect. Plus there are a lot more dirty tracking related methods that are supported. You can check out the complete list here.

Versions 0.9.0 and 1.0.0 are the same except that in 1.0.0 there are no longer array and hash types, which means the array scopes are now gone. We had a lot of discussions about those types leading up to this new release but in the end we decided that they were more trouble than they were worth. There’s some more information on why here.

Upgrading

Upgrading from 0.6.1 to 0.9.0 is pretty painless. Just change your time typed fields to datetime. That's it.

Upgrading from 0.6.1 to 1.0.0 is exactly the same. The only gotcha here is that there's no more array or hash type support.

So what's next?

We're looking foward to adding declarable default values and might even add migration helpers for indexes and other things that are a bit trickier when dealing with an hstore. Of course, pull requests for those and other awesome features you come up with are always welcome =)

Tandem is custom software development company with practice areas in digital strategy, human-centered design, UI/UX, and web application and custom mobile development.

Let’s do something great together

We do our best work in close collaboration with our clients. Let’s find some time for you to chat with a member of our team.

Say Hi