lib/rio/iomode.rb in rio-0.3.8 vs lib/rio/iomode.rb in rio-0.3.9

- old
+ new

@@ -1,8 +1,8 @@ #-- # =============================================================================== -# Copyright (c) 2005, 2006 Christopher Kleckner +# Copyright (c) 2005,2006,2007 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 @@ -21,20 +21,19 @@ # =============================================================================== #++ # # To create the documentation for Rio run the command # ruby build_doc.rb -# from the distribution directory. Then point your browser at the 'doc/rdoc' directory. +# from the distribution directory. # # Suggested Reading # * RIO::Doc::SYNOPSIS # * RIO::Doc::INTRO # * RIO::Doc::HOWTO +# * RIO::Doc::EXAMPLES # * RIO::Rio # -# <b>Rio is pre-alpha software. -# The documented interface and behavior is subject to change without notice.</b> require 'rio/abstract_method' @@ -79,19 +78,32 @@ module Mode module StrMethods def primarily_read?() @mode[0,1] == 'r' end def primarily_write?() @mode[0,1] == 'w' or primarily_append? end def primarily_append?() @mode[0,1] == 'a' end - def allows_both?() - @mode[1,1] == '+' - end + def allows_both?() @mode[-1,1] == '+' end def creates?() primarily_append? || primarily_write? end end class Str < Base include StrMethods end end module Mode class Int < Base + def primarily_read?() +# (@mode&File::RDONLY || (@mode&File::RDWR && ~(@mode&File::TRUNC))) + end + def primarily_write?() +# @mode&File::WRONLY || (@mode&File::RDWR && @mode&File::TRUNC) || primarily_append? + end + def primarily_append?() +# @mode&File::APPEND + end + def allows_both?() +# @mode[1,-1] == '+' + end + def creates?() + # primarily_append? || primarily_write? + end end end end