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