def serialize(opts={})
      raise GoogleAccountNotSpecifiedError unless self.google_account.present?
      type = self.template_type || :html
      json_hash = {}
      json_hash[type] = self.setup_template(opts.delete(:template_variables).merge({template_name: opts.delete(:template_name) }))
      json_hash = json_hash.merge(self.menu_items_hash)
      json_hash.merge(opts)
      self.to_json = json_hash
      self.client = Glass::Client.create(self)
      return self
    end
def serialize(opts={})
      raise GoogleAccountNotSpecifiedError unless self.google_account.present?
      type = self.template_type || :html
      json_hash = {}
      json_hash[type] = self.setup_template(opts.delete(:template_variables).merge({template_name: opts.delete(:template_name) }))
      json_hash = json_hash.merge(self.menu_items_hash)
      json_hash.merge(opts)
      self.to_json = json_hash
      self.client = Glass::Client.create(self)
      return self
    end
this method will instantiate instance variables
 in the erb template with the values you specify
 in a hash parameter under the key [:template_variables]
 For example,
 @google_account = GoogleAccount.first
 @timeline_object =  Glass::TimelineItem.new(google_account_id: @google_account.id)
 @timeline_object.serialize({template_variables: {content: "this is the content
                                                            i've pushed to glass"}})

 would render this erb template:
 <article>
   <%= @content %>
 </article>
 into this:
 '<article> \n    this is the content i've pushed to glass \n  </article>'


 an html serialization of your timeline object, which glass
 requests you send with your push.