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