# File lib/dragonfly/data_storage/file_data_store.rb, line 17 def store(temp_object, opts={}) meta = opts[:meta] || {} relative_path = if opts[:path] opts[:path] else filename = meta[:name] || temp_object.original_filename || 'file' relative_path = relative_path_for(filename) end begin path = absolute(relative_path) until !File.exist?(path) path = disambiguate(path) end prepare_path(path) temp_object.to_file(path).close store_meta_data(path, meta) if store_meta rescue Errno::EACCES => e raise UnableToStore, e.message end relative(path) end