dm-enum (Enumrated models for DataMapper)

by Potapov Sergey (aka Blake)

Inspired by power_enum

Description

Allows you to cache enumeration models.

Installation

gem install dm-enum

Usage

require 'dm-core'
require 'dm-enum'

class Language
  include DataMapper::Resource
  include DataMapper::Enum

  acts_as_enumerated :name_property => :code

  property :code, String, :key => true
  property :name, String
end

# should be called in order to cache values
Language.update_enums_cache!

Language.create(:code => "ru", :name => "Russian")
Language.create(:code => "en", :name => "English")

Language[:ru] # => #<Language @code="ru" @name="Russian">
Language["en"] # => #<Language @code="en" @name="English">

Contributing to dm-enum

Copyright © 2012 Potapov Sergey. See LICENSE.txt for further details.