Sha256: 935f629d0f7b1301875074fcef2b5613577709fcf2048695e1b4509b186567a4

Contents?: true

Size: 658 Bytes

Versions: 2

Compression:

Stored size: 658 Bytes

Contents

require 'dm-core'

module CarrierWave
  module DataMapper

    include CarrierWave::Mount

    ##
    # See +CarrierWave::Mount#mount_uploader+ for documentation
    #
    def mount_uploader(column, uploader, options={}, &block)
      super

      alias_method :read_uploader, :attribute_get
      alias_method :write_uploader, :attribute_set

      after :save do
        send("store_#{column}!")
      end

      before :save do
        send("write_#{column}_identifier")
      end

      after :destroy do
        send("remove_#{column}!")
      end
    end

  end # DataMapper
end # CarrierWave

DataMapper::Model.send(:include, CarrierWave::DataMapper)

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
jnicklas-carrierwave-0.3.0 lib/carrierwave/orm/datamapper.rb
carrierwave-0.3.0 lib/carrierwave/orm/datamapper.rb