diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-12-08 16:57:08 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-12-08 16:57:08 -0800 |
commit | f62e34251c1101b0fcdddea35dfa3f73c416a3ba (patch) | |
tree | d0b151e94add4b5955c590009d07deb54a9b142e /lib/mogilefs/put.rb | |
parent | 50f9287610725257bf64781a2008398ff6ceeacb (diff) | |
download | mogilefs-client-f62e34251c1101b0fcdddea35dfa3f73c416a3ba.tar.gz |
Putting this into the MogileFS::Put::* namespace will make it easier to document.
Diffstat (limited to 'lib/mogilefs/put.rb')
-rw-r--r-- | lib/mogilefs/put.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/mogilefs/put.rb b/lib/mogilefs/put.rb new file mode 100644 index 0000000..3f13df2 --- /dev/null +++ b/lib/mogilefs/put.rb @@ -0,0 +1,29 @@ +# -*- encoding: binary -*- +module MogileFS::Put + + def self.[](largefile) + case largefile + when nil, false + MogileFS::HTTPFile + when :stream + Stream + when :content_range + ContentRange + when :tempfile + Tempfile + else + raise ArgumentError, "largefile: #{largefile.inspect} not understood" + end + end + + def self.const_missing(name) + case name + when :Stream, :ContentRange, :Tempfile + file = name.to_s.gsub(/([a-z])([A-Z])/, '\1_\2').downcase + require "mogilefs/put/#{file}" + const_get(name) + else + super(name) + end + end +end |