tests: speedup tests that require hitting mogstored
[ruby-mogilefs-client.git] / lib / mogilefs / put.rb
blob3f13df2b330cf712194d3b72b67a0d7d69ceca80
1 # -*- encoding: binary -*-
2 module MogileFS::Put
4   def self.[](largefile)
5     case largefile
6     when nil, false
7       MogileFS::HTTPFile
8     when :stream
9       Stream
10     when :content_range
11       ContentRange
12     when :tempfile
13       Tempfile
14     else
15       raise ArgumentError, "largefile: #{largefile.inspect} not understood"
16     end
17   end
19   def self.const_missing(name)
20     case name
21     when :Stream, :ContentRange, :Tempfile
22       file = name.to_s.gsub(/([a-z])([A-Z])/, '\1_\2').downcase
23       require "mogilefs/put/#{file}"
24       const_get(name)
25     else
26       super(name)
27     end
28   end
29 end