lib/property/parse_file.rb in dm-parse-0.2.0 vs lib/property/parse_file.rb in dm-parse-0.2.1

- old
+ new

@@ -2,14 +2,23 @@ class Property class ParseFile < Object def dump(value) - value && {"__type" => "File", "name" => value.to_s} + 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 && value["name"].to_s + value end end end