Sha256: 21eadeb2d2c397d8499f68388431900ae0ddcafcb3cc3eb72138fa396c8177c0

Contents?: true

Size: 556 Bytes

Versions: 1

Compression:

Stored size: 556 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
          adapter.upload_file(filename, content).merge("__type" => "File")
        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.1 lib/property/parse_file.rb