lib/rio/context.rb in rio-0.3.8 vs lib/rio/context.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>
module RIO
module Cx #:nodoc: all
class Vars
@@ -45,10 +44,21 @@
def initialize_copy(*args)
super
@values = @values.clone
@explicit = @explicit.clone
end
+ BEQUEATH_KEYS = %w[chomp strip rename closeoneof closeoncopy]
+ #BEQUEATH_KEYS = %w[chomp strip rename]
+ def bequeath(oldcx)
+ keys = BEQUEATH_KEYS
+ ncx = oldcx.clone
+ #ncx = Vars.new
+ keys.each { |key|
+ ncx.set_(key,@values[key]) if @values.has_key?(key)
+ }
+ ncx
+ end
def delete(key)
@values.delete(key)
@explicit.delete(key)
end
def get_keystate(key)
@@ -97,36 +107,11 @@
}
str += strs.join(',')
str +='>'
str
end
- def bequeath()
- keys = %w[chomp strip closeoneof rename]
- q = {}
- p = {}
- ncx = Vars.new(q,p)
- keys.each { |key|
- ncx.set_(key,@values[key]) if @values.has_key?(key)
- }
- ncx
- end
- def bequeath0()
- q = @values.clone()
- p = @explicit.clone()
- keys = ['dirs_args','all']
- keys.each { |key|
- q.delete(key)
- p.delete(key)
- }
- Vars.new(q,p)
- end
+
extend Forwardable
def_instance_delegators(:@values,:[],:has_key?,:values_at,:keys)
end
end
-# module Cx
-# def init_cx
-# @cx = Vars.new
-# end
-#
-# end
end