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
2025
2026
 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..