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