Sha256: 17bfeff1d7fa1c05d5756699b07285f708bd12c8e3e126a2ae05a5292e063135

Contents?: true

Size: 624 Bytes

Versions: 1

Compression:

Stored size: 624 Bytes

Contents

module DataMapper
  class Property

    class ParseFile < Object

      def dump(value)
        if value.is_a?(Hash)
          value.merge("__type" => "File")
        elsif value.respond_to?(:original_filename) && value.respond_to?(:read)
          adapter       = model.repository.adapter
          filename      = value.original_filename
          content       = value.read
          content_type  = MIME::Types.type_for(filename).first
          dump adapter.upload_file(filename, content, content_type)
        else
          nil
        end
      end

      def load(value)
        value
      end

    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dm-parse-0.2.2 lib/property/parse_file.rb