diff options
Diffstat (limited to 'lib/mogilefs')
-rw-r--r-- | lib/mogilefs/mogilefs.rb | 3 | ||||
-rw-r--r-- | lib/mogilefs/new_file/common.rb | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/mogilefs/mogilefs.rb b/lib/mogilefs/mogilefs.rb index 76325cb..7503bba 100644 --- a/lib/mogilefs/mogilefs.rb +++ b/lib/mogilefs/mogilefs.rb @@ -257,12 +257,13 @@ class MogileFS::MogileFS < MogileFS::Client case args when Hash opts[:domain] = args[:domain] + open_args = args[:create_open_args] klass = args[:class] and "default" != klass and opts[:class] = klass when String opts[:class] = args if "default" != args end opts[:domain] ||= @domain - res = @backend.create_open(opts) + res = @backend.create_open(open_args ? open_args.merge(opts) : opts) dests = if dev_count = res['dev_count'] # multi_dest succeeded (1..dev_count.to_i).map { |i| [res["devid_#{i}"], res["path_#{i}"]] } diff --git a/lib/mogilefs/new_file/common.rb b/lib/mogilefs/new_file/common.rb index 1d2b1a0..b901f67 100644 --- a/lib/mogilefs/new_file/common.rb +++ b/lib/mogilefs/new_file/common.rb @@ -35,6 +35,8 @@ module MogileFS::NewFile::Common end def create_close(devid, uri, bytes_uploaded) + close_args = @opts[:create_close_args] + dest_info = @opts[:info] ||= {} dest_info["fid"] = @opts[:fid].to_i dest_info["key"] = @opts[:key] @@ -62,7 +64,7 @@ module MogileFS::NewFile::Common # twice will hurt us... backend.noop - backend.create_close(dest_info) + backend.create_close(close_args ? close_args.merge(dest_info) : dest_info) # make this look like file_info + get_uris dest_info.delete(:checksumverify) |