<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: compression code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 25 Jul 2008 08:17:59 GMT</pubDate>
    <description>DZone Snippets: compression code</description>
    <item>
      <title>Compress your ActiveRecord sessions</title>
      <link>http://snippets.dzone.com/posts/show/3924</link>
      <description>Using ActiveRecordStore and your sessions are getting too big?  Try this!&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# in environment.rb or some file you require&lt;br /&gt;require 'zlib'&lt;br /&gt;CGI::Session::ActiveRecordStore::Session.class_eval {&lt;br /&gt;  class &lt;&lt; self&lt;br /&gt;    def marshal_with_compression(data)&lt;br /&gt;      Zlib::Deflate.deflate(marshal_without_compression(data))&lt;br /&gt;    end&lt;br /&gt;    def unmarshal_with_compression(data)&lt;br /&gt;      unmarshal_without_compression(Zlib::Inflate.inflate(data))&lt;br /&gt;    end&lt;br /&gt;    alias_method_chain :marshal, :compression&lt;br /&gt;    alias_method_chain :unmarshal, :compression&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# in migration&lt;br /&gt;def self.up&lt;br /&gt;  change_column :sessions, :data, :binary&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def self.down&lt;br /&gt;  change_column :sessions, :data, :text&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Fri, 27 Apr 2007 16:11:46 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3924</guid>
      <author>seancribbs (Sean Cribbs)</author>
    </item>
  </channel>
</rss>
