English dictionary with notifications so you won't forget what you're studying!
Click here for more info about the app
The app that quizzes and scores you on your vocabulary!
Click here for more info about the app

My First Ruby Gem: Hashed_Attributes


I just wrote and released my first Ruby Gem, Hashed Attributes https://rubygems.org/gems/hashed_attributes. It is a very simple ActiveRecord extension for saving variables through a serialized hash. The Gem will let you declare getter and setter methods that use a hash to store assigned data. For instance, instead of doing something like

@user.preferences[:favorite_color] = 'orange'
you can do
@user.favorite_color = 'orange'
The value for favorite color will be kept in a serialized hash.

Setup in the model is very straight forward. The first argument is the column name you want to use followed by a list of methods used as keys on the hash.

Example model

class Person < ActiveRecord::Base hashed_attributes :preferences, :favorite_color, :theme, :plan # etc... end

ActiveRecord is required to use this gem. Additionally, you need to add a column in your database.

Sample migration

create_table :people do |t| t.text :preferences end

To install

gem install hashed_attributes
Or place in your Rails Gemfile

gem 'hashed_attributes'

The project code is hosted on Github: https://github.com/bseanvt/hashed_attributes and https://rubygems.org/gems/hashed_attributes

Releasing this gem was a lot of fun and I'm looking forward to writing more gems!

Tagged w/ #gems #github #hashed_attributes #open source #rubgems.org #rubygemsruby gems