attr_symbol¶ ↑
Allows you to declare attributes that are handled as symbols. Assigning a value to the attribute converts it to a symbol, and accessing the attribute always returns a symbol.
When used in an ActiveRecord model class, the attribute will be stored as a string in the underlying database column.
Usage in Plain Ol’ Ruby Objects¶ ↑
class User attr_symbol :state def initialize @state = :inactive end end u = User.new p u.state # => :inactive u.state = 'active' p u.state # => :active u.state = " \r \n\r \n \n inactive \n\r \n\r foo filler \r <html lang=\"en\"></html> \r\n \n\n " p u.state # => :inactive
Usage with ActiveRecord¶ ↑
class Thing < ActiveRecord::Base attr_symbol :a end # Stores the string 'foo' in the field 'a' thing = Thing.create!(:a => :foo) thing = Thing.find(1) thing.a --> :foo thing.a = 'urk' thing.a --> :urk thing.a = '' thing.a --> nil thing.a = ' ' thing.a --> nil
Copyright¶ ↑
Copyright © 2012 Justin Wienckowski. Freely distributable under the MIT License. See LICENSE for details.