Skip to content

jqr/typed_serialize

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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