Sha256: 7a5e7980a696f7c85735b6e0c7f5a996275c9ff371ba71e8a1502f40d0a6143c

Contents?: true

Size: 665 Bytes

Versions: 1

Compression:

Stored size: 665 Bytes

Contents

require 'dragonfly-activerecord'
require 'dragonfly-activerecord/file'
require 'active_record'

module Dragonfly::ActiveRecord
  class Store

    # +temp_object+ should respond to +data+ and +meta+
    def write(temp_object, opts={})
      File.new.tap do |file|
        file.metadata = temp_object.meta
        file.data     = temp_object.data
        file.save!
        return file.id.to_s
      end
    end

    def read(uid)
      file = File.where(id: uid.to_i).first
      return nil if file.nil?

      file.update_column(:accessed_at, Time.now)
      [ file.data, file.metadata ]
    end

    def destroy(uid)
      File.destroy(uid.to_i)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dragonfly-activerecord-0.0.2 lib/dragonfly-activerecord/store.rb