diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-12-09 16:23:48 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-12-10 00:24:03 +0000 |
commit | 7f153071e40b1242ad0aa46c81ec0e927b9fc890 (patch) | |
tree | 91d2063af5f2f261d003273c4b5885912c9c14e7 | |
parent | 5326214033b4f26ec426a0313c164f5de0225207 (diff) | |
download | mogilefs-client-7f153071e40b1242ad0aa46c81ec0e927b9fc890.tar.gz |
This should make documentation easier
-rw-r--r-- | lib/mogilefs.rb | 1 | ||||
-rw-r--r-- | lib/mogilefs/http_file.rb | 4 | ||||
-rw-r--r-- | lib/mogilefs/mogilefs.rb | 8 | ||||
-rw-r--r-- | lib/mogilefs/new_file.rb (renamed from lib/mogilefs/put.rb) | 19 | ||||
-rw-r--r-- | lib/mogilefs/new_file/common.rb (renamed from lib/mogilefs/new_file_common.rb) | 2 | ||||
-rw-r--r-- | lib/mogilefs/new_file/content_range.rb (renamed from lib/mogilefs/put/content_range.rb) | 9 | ||||
-rw-r--r-- | lib/mogilefs/new_file/stream.rb (renamed from lib/mogilefs/put/stream.rb) | 9 | ||||
-rw-r--r-- | lib/mogilefs/new_file/tempfile.rb (renamed from lib/mogilefs/put/tempfile.rb) | 2 | ||||
-rw-r--r-- | lib/mogilefs/new_file/writer.rb (renamed from lib/mogilefs/new_file_writer.rb) | 2 | ||||
-rw-r--r-- | test/test_mogstored_rack.rb | 4 |
10 files changed, 28 insertions, 32 deletions
diff --git a/lib/mogilefs.rb b/lib/mogilefs.rb index ad0d6fb..ba6ca95 100644 --- a/lib/mogilefs.rb +++ b/lib/mogilefs.rb @@ -76,6 +76,5 @@ require 'mogilefs/http_file' require 'mogilefs/http_reader' require 'mogilefs/client' require 'mogilefs/bigfile' -require 'mogilefs/put' require 'mogilefs/mogilefs' require 'mogilefs/version' # generated by ./GIT-VERSION-GEN diff --git a/lib/mogilefs/http_file.rb b/lib/mogilefs/http_file.rb index b2d5620..8784f68 100644 --- a/lib/mogilefs/http_file.rb +++ b/lib/mogilefs/http_file.rb @@ -1,7 +1,7 @@ # -*- encoding: binary -*- # here are internal implementation details, do not use them in your code require 'stringio' -require 'mogilefs/new_file_common' +require 'mogilefs/new_file' ## # HTTPFile wraps up the new file operations for storing files onto an HTTP @@ -11,7 +11,7 @@ require 'mogilefs/new_file_common' # create a new file using MogileFS::MogileFS.new_file. # class MogileFS::HTTPFile < StringIO - include MogileFS::NewFileCommon + include MogileFS::NewFile::Common ## # The big_io name in case we have file > 256M diff --git a/lib/mogilefs/mogilefs.rb b/lib/mogilefs/mogilefs.rb index c93d1a3..b192605 100644 --- a/lib/mogilefs/mogilefs.rb +++ b/lib/mogilefs/mogilefs.rb @@ -129,6 +129,12 @@ class MogileFS::MogileFS < MogileFS::Client # Consider using store_file instead of this method for large files. # This requires a block passed to it and operates like File.open. # This atomically replaces existing data stored as +key+ when + # + # +args+ may contain the following options: + # * :content_length => Integer + # * :largefile => [ :stream, :content_range, :tempfile ] + # (see # MogileFS::NewFile) + # * :content_md5 => String, Proc, or :trailer def new_file(key, args = nil, bytes = nil) # :yields: file raise MogileFS::ReadOnlyError if readonly? opts = { :key => key, :multi_dest => 1 } @@ -161,7 +167,7 @@ class MogileFS::MogileFS < MogileFS::Client case (dests[0][1] rescue nil) when %r{\Ahttp://} - http_file = MogileFS::Put[opts[:largefile]].new(dests, opts) + http_file = MogileFS::NewFile[opts[:largefile]].new(dests, opts) if block_given? yield http_file return http_file.commit # calls create_close diff --git a/lib/mogilefs/put.rb b/lib/mogilefs/new_file.rb index 3f13df2..e99a023 100644 --- a/lib/mogilefs/put.rb +++ b/lib/mogilefs/new_file.rb @@ -1,7 +1,9 @@ # -*- encoding: binary -*- -module MogileFS::Put +module MogileFS::NewFile - def self.[](largefile) + # avoiding autoload for new code since it's going away in Ruby... + def self.[](largefile) # :nodoc: + require "mogilefs/new_file/#{largefile}" if Symbol === largefile case largefile when nil, false MogileFS::HTTPFile @@ -15,15 +17,6 @@ module MogileFS::Put 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 + +require 'mogilefs/new_file/common' diff --git a/lib/mogilefs/new_file_common.rb b/lib/mogilefs/new_file/common.rb index 9db6aec..38d0fd3 100644 --- a/lib/mogilefs/new_file_common.rb +++ b/lib/mogilefs/new_file/common.rb @@ -5,7 +5,7 @@ require 'uri' require 'digest/md5' require 'mogilefs/chunker' -module MogileFS::NewFileCommon +module MogileFS::NewFile::Common # :stopdoc: class RetryableError < MogileFS::Error; end class EmptyResponseError < RetryableError; end diff --git a/lib/mogilefs/put/content_range.rb b/lib/mogilefs/new_file/content_range.rb index e44a8e2..5893980 100644 --- a/lib/mogilefs/put/content_range.rb +++ b/lib/mogilefs/new_file/content_range.rb @@ -7,13 +7,12 @@ rescue LoadError 'net-http-persistent required for :largefile => :content_range', [] end -require 'mogilefs/new_file_common' -require 'mogilefs/new_file_writer' +require 'mogilefs/new_file/writer' # an IO-like object -class MogileFS::Put::ContentRange - include MogileFS::NewFileWriter - include MogileFS::NewFileCommon +class MogileFS::NewFile::ContentRange + include MogileFS::NewFile::Writer + include MogileFS::NewFile::Common NHP = Net::HTTP::Persistent.new('mogilefs') attr_reader :md5 diff --git a/lib/mogilefs/put/stream.rb b/lib/mogilefs/new_file/stream.rb index 590a24f..b2253f0 100644 --- a/lib/mogilefs/put/stream.rb +++ b/lib/mogilefs/new_file/stream.rb @@ -1,15 +1,14 @@ # -*- encoding: binary -*- # here are internal implementation details, do not use them in your code -require 'mogilefs/new_file_common' -require 'mogilefs/new_file_writer' +require 'mogilefs/new_file/writer' -class MogileFS::Put::Stream +class MogileFS::NewFile::Stream attr_reader :to_io attr_reader :md5 - include MogileFS::NewFileWriter - include MogileFS::NewFileCommon + include MogileFS::NewFile::Writer + include MogileFS::NewFile::Common def initialize(dests, opts) @opts = opts diff --git a/lib/mogilefs/put/tempfile.rb b/lib/mogilefs/new_file/tempfile.rb index 8082f95..ecec02e 100644 --- a/lib/mogilefs/put/tempfile.rb +++ b/lib/mogilefs/new_file/tempfile.rb @@ -3,7 +3,7 @@ require 'tempfile' require 'mogilefs/http_file' -class MogileFS::Put::Tempfile < Tempfile +class MogileFS::NewFile::Tempfile < Tempfile def initialize(*args) @mogilefs_httpfile_args = args super("mogilefs-client") diff --git a/lib/mogilefs/new_file_writer.rb b/lib/mogilefs/new_file/writer.rb index 9b90df4..994545b 100644 --- a/lib/mogilefs/new_file_writer.rb +++ b/lib/mogilefs/new_file/writer.rb @@ -1,7 +1,7 @@ # -*- encoding: binary -*- # here are internal implementation details, do not use them in your code # -module MogileFS::NewFileWriter +module MogileFS::NewFile::Writer def puts(*args) args.each do |obj| write(obj) diff --git a/test/test_mogstored_rack.rb b/test/test_mogstored_rack.rb index ea45e46..de27c53 100644 --- a/test/test_mogstored_rack.rb +++ b/test/test_mogstored_rack.rb @@ -38,14 +38,14 @@ class TestMogstoredRack < Test::Unit::TestCase add_host_device_domain client = MogileFS::MogileFS.new :hosts => @hosts, :domain => @domain client.new_file("chunky", :largefile => :stream) do |io| - assert_instance_of MogileFS::Put::Stream, io + assert_instance_of MogileFS::NewFile::Stream, io assert_equal(5, io.write("HELLO")) assert_nil io.md5 end assert_equal "HELLO", client.get_file_data("chunky") io = client.new_file("puts", :largefile => :stream) - assert_instance_of MogileFS::Put::Stream, io + assert_instance_of MogileFS::NewFile::Stream, io assert_equal io, IO.select(nil, [io])[1][0], "IO.select-able" assert_nil(io.puts("PUTS!")) |