[ActiveRecord] Add custom types to store_accessor

Right now one can use the attributes API for custom types, but it doesn’t work with store attributes. The following method would fix that:

store_accessor :preferences, :show_avatar, :boolean, default: true


I’ve implemented a concern with this logic for a project I’m working on, and it works great.

Do you think it would be a nice addition to Rails?

Hey Tiago!

IMO, the feature could be a great addition to Rails. And the number of times it has been proposed kinda proves it:

There is also another gem with a bit different API (https://github.com/byroot/activerecord-typedstore).

store_accessor :preferences, :show_avatar, :boolean, default: true

This API looks a bit confusing: how to distinguish between boolean as attribute name and as a type? I mean, the following code is valid in Rails:

store_accessor :preferences, :show_avatar, :boolean