Sha256: deb9630981e171f7dec6380cdc907a18f2ebd66475c25140c80295c0e1ba2384

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

= 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}[mailto:cmeiklejohn@swipely.com] from {Swipely, Inc.}[http://www.swipely.com].

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
materializer-0.0.1 README.rdoc