lib/rio/context.rb in rio-0.4.2 vs lib/rio/context.rb in rio-0.5.1

- old
+ new

@@ -1,8 +1,8 @@ #-- -# =============================================================================== -# Copyright (c) 2005,2006,2007,2008 Christopher Kleckner +# =========================================================================== +# Copyright (c) 2005-2012 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 @@ -16,25 +16,19 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Rio; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# =============================================================================== +# =========================================================================== #++ # -# To create the documentation for Rio run the command -# ruby build_doc.rb -# from the distribution directory. -# -# Suggested Reading -# * RIO::Doc::SYNOPSIS -# * RIO::Doc::INTRO -# * RIO::Doc::HOWTO -# * RIO::Doc::EXAMPLES -# * RIO::Rio -# +module RIO + module Cx + autoload :Methods,'rio/context/methods' + end +end module RIO module Cx #:nodoc: all class Vars def initialize(h=Hash.new,exp=Hash.new) @@ -80,9 +74,18 @@ @values[key] = val unless @explicit[key] end def []=(key,val) @values[key] = val @explicit[key] = true + end + def to_h + vary = {} + @values.each { |k,v| + name = k + name += '_' unless @explicit[k] + vary[name] = v + } + vary end def inspect() str = sprintf('#<Cx:0x%08x ',self.object_id) vary = {} @values.each { |k,v|