Sha256: c4cf837b568220d7b2b8af66bb8d08c717610ef8e1afecf4ae77c482cf961d51

Contents?: true

Size: 601 Bytes

Versions: 4

Compression:

Stored size: 601 Bytes

Contents

require 'dragonfly-activerecord'
require 'active_record'
require 'zlib'
require 'base64'

module Dragonfly::ActiveRecord
  class Chunk < ActiveRecord::Base
    self.table_name = 'storage_chunks'

    belongs_to :file, class_name: 'Dragonfly::ActiveRecord::File', inverse_of: :chunks

    validates_presence_of :file
    validates_presence_of :encoded_data

    def data=(raw_data)
      compressed_data = Zlib::Deflate.deflate(raw_data)
      self.encoded_data = Base64.encode64(compressed_data)
    end

    def data
      Zlib::Inflate.inflate Base64.decode64(self.encoded_data)
    end  
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dragonfly-activerecord-1.0.0 lib/dragonfly-activerecord/chunk.rb
dragonfly-activerecord-0.1.0 lib/dragonfly-activerecord/chunk.rb
dragonfly-activerecord-0.0.2 lib/dragonfly-activerecord/chunk.rb
dragonfly-activerecord-0.0.1 lib/dragonfly-activerecord/chunk.rb