Skip to content

jqr/typed_serialize

Repository files navigation

Typed Serialize

Typed serialize makes sure your serialized attribute is always the specified type. This is especially nice for serialized hashes and new models.

Example

class User < ActiveRecord::Base
  typed_serialize :settings, Hash
end

User.new.settings        # => {}

u = User.new
u.settings[:theme] = 1
u.settings               # => { :theme => 1 }

Define serialized attributes

Avalaible only for Hash columns!!!

class User < ActiveRecord::Base
  typed_serialize :settings, Hash

  serialized_accessor :settings, :photo, :city, :nickname

end

u = User.new
u.photo = '/home/photos/me.png'
u.photo
=> '/home/photos/me.png'
u.settings
=>{:photo=>'/home/photos/me.png'}

or even better

class User < ActiveRecord::Base
  typed_serialize :settings, Hash, :photo, :city, :nickname

end

u = User.new(:city=>'NY')
u.city
=> 'NY'

Also avalaible serialized_reader and serialized_writer.

Install

As a Rails plugin:

./script/plugin install git://github.com/jqr/typed_serialize.git

Prefer gems? Add this to your environment.rb and run the following command.

config.gem 'typed_serialize'

$ rake gems:install

Docs

rdoc.info/projects/jqr/typed_serialize

Contributors

  • Toby Matejovsky (toby.matejovsky@gmail.com)

  • Sergey Pchelincev (jalkoby91@gmail.com)

Homepage

github.com/jqr/typed_serialize

License

Copyright © 2008 Elijah Miller <elijah.miller@gmail.com>, released under the MIT license

About

Typed serialize makes sure your serialized attribute is always the specified type.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages