Sha256: c4b035014a79fd0afaf9e32498b15aef6a197561da278cae8528e8c3b5fec21f
Contents?: true
Size: 1.46 KB
Versions: 5
Compression:
Stored size: 1.46 KB
Contents
#require 'singleton' require 'delegate' require 'raspberry/new/binding' class TopLevelClass < DelegateClass(TOPLEVEL_BINDING.self.class) #include Singleton # doesn't seem to work with delegate class << self private :new def instance @singleton ||= new end end def initialize() super(TOPLEVEL_BINDING.self) end def binding() TOPLEVEL_BINDING end #def method_missing(sym, *args, &blk) # TOPLEVEL_BINDING.self.send(sym, *args, &blk) #end end module Kernel # perhaps just call this top() ? def toplevel() TopLevelClass.instance end end # assign constant TOPLEVEL = TopLevelClass.instance ###### ##### #### ###### ## ## ## ## ## #### ## ## ## ## ## ## ## ##### #### ## =begin test require 'test/unit' a = "a" @x = "x" class TC_TopLevel < Test::Unit::TestCase def test_compare assert_equal( TOPLEVEL_BINDING.self , TOPLEVEL_BINDING.self ) assert_equal( toplevel , toplevel ) assert_equal( TOPLEVEL , TOPLEVEL ) assert_equal( TOPLEVEL , toplevel ) assert_instance_of( TopLevel, toplevel ) assert_eqaul( Object, toplevel.class ) end def test_instance assert_nothing_raised do @t = toplevel end end def test_local_vars assert_equal(['a'], toplevel.local_variables) end def test_instance_vars assert_equal(['@x'], toplevel.self.instance_variables) end end =end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
facets-1.4.1 | forge/more/toplevel.rb |
facets-1.4.2 | forge/more/toplevel.rb |
facets-1.4.3 | forge/more/toplevel.rb |
facets-1.4.4 | forge/more/toplevel.rb |
facets-1.4.5 | snip/more/toplevel.rb |