0.0
No commit activity in last 3 years
No release in over 3 years
Persist serialization in the model.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 3.1.0.rc4
 Project Readme

Materializer¶ ↑

Persist serialization in the model by front-loading the serialization and storing in the database as a string.

Usage¶ ↑

Using Materializer is easy!

How to include an enable it?¶ ↑

It’s easy. First, add the gem:

gem 'materializer'

Enable materializer in the models you which to maintain rendered views in.

include Materializer

Then, define one or more materialization profiles:

materialize :into => FIELD_NAME, :using => METHOD_NAME

You’ll also need to make a migration to add the column:

t.string FIELD_NAME_json

Voila!

FIELD_NAME will be populated with the JSON generated from METHOD_NAME on save. METHOD_NAME should be implemented as a serializable_hash method returning a hash.

Examples¶ ↑

Some examples on usage:

Materialize data into name_json using the name_as_json method.¶ ↑

materialize :into => :name, :using => :name_as_json

Materialize data into all_json using the as_json method.¶ ↑

materialize :into => :all, :using => :as_json

Pull in objects from other models¶ ↑

materialize :into => :all, :using => :all_as_json

def all_as_json
  { :field1 => field1, :association1 => association1.as_json } 
end

License¶ ↑

Materializer is Copyright © 2011 Christopher Meiklejohn. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About¶ ↑

The materializer gem was written by Christopher Meiklejohn from Swipely, Inc..