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