lib/rio/if/file.rb in rio-0.3.7 vs lib/rio/if/file.rb in rio-0.3.8

- old
+ new

@@ -1,8 +1,8 @@ #-- # =============================================================================== -# Copyright (c) 2005, Christopher Kleckner +# Copyright (c) 2005, 2006 Christopher Kleckner # All rights reserved # # This file is part of the Rio library for ruby. # # Rio is free software; you can redistribute it and/or modify @@ -20,11 +20,11 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # =============================================================================== #++ # # To create the documentation for Rio run the command -# rake rdoc +# ruby build_doc.rb # from the distribution directory. Then point your browser at the 'doc/rdoc' directory. # # Suggested Reading # * RIO::Doc::SYNOPSIS # * RIO::Doc::INTRO @@ -50,8 +50,32 @@ # Updates modification time (mtime) and access time (atime) of a Rio. # A file is created if it doesn't exist. # def touch() target.touch(); self end + # Calls File#truncate + # + # Truncates a file referenced by a Rio to be at most +sz+ bytes long. + # Not available on all platforms. + # + # f = rio("out") + # f.print!("1234567890") + # f.size #=> 10 + # f.truncate(5) + # f.size() #=> 5 + # + # If called with no arguments, truncates the Rio at the + # value returned by Rio#pos(). + # f.read(2) + # f.truncate.size #=> 2 + # f.contents #=> "12" + # + # Returns the Rio + # + def truncate(sz=pos()) target.truncate(sz); self end + # Calls Rio#truncate(0) + # + def clear() target.clear(); self end + end end