about summary refs log tree commit homepage
path: root/lib/mogilefs/new_file/writer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mogilefs/new_file/writer.rb')
-rw-r--r--lib/mogilefs/new_file/writer.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/mogilefs/new_file/writer.rb b/lib/mogilefs/new_file/writer.rb
new file mode 100644
index 0000000..994545b
--- /dev/null
+++ b/lib/mogilefs/new_file/writer.rb
@@ -0,0 +1,43 @@
+# -*- encoding: binary -*-
+# here are internal implementation details, do not use them in your code
+#
+module MogileFS::NewFile::Writer
+  def puts(*args)
+    args.each do |obj|
+      write(obj)
+      write("\n")
+    end
+    nil
+  end
+
+  def putc(ch)
+    write(ch.respond_to?(:chr) ? ch.chr : ch[0])
+    ch
+  end
+
+  def print(*args)
+    args = [ $_ ] unless args[0]
+    write(args.shift)
+    args.each do |obj|
+      write(obj)
+      write($,) if $,
+    end
+    write($\) if $\
+    nil
+  end
+
+  def printf(*args)
+    write(sprintf(*args))
+    nil
+  end
+
+  def <<(str)
+    write(str)
+    self
+  end
+
+  def close
+    commit
+    nil
+  end
+end