Sha256: 8d1cc539b86241dc09d6df724ab9855dd075d2696549793381dab1adebdd568a

Contents?: true

Size: 820 Bytes

Versions: 5

Compression:

Stored size: 820 Bytes

Contents

  class Module
    def namespace
      Module::constants.each do |c|
        tc = eval("::#{c}")
        next if tc == self
        begin
          const_set c, tc.dup
        rescue
          begin
            const_set c, tc.clone
          rescue
            #puts "Can't copy #{c}"
          end
        end
      end
      module_eval %{
        #class Object
        #  include self::Kernel
        #end
        include Kernel
      }
    end
  end


  class X
    namespace

    module Kernel
      module_function
      def p( x )
        puts "#=> #{x.inspect}"
      end
    end

    class String
      def upcase
        "#{self}!!!!!"
      end
    end

    def show
      p self.class.ancestors
      p "Hello" # literals don't work
      p String.new("Hello").upcase
    end

  end

  x = X.new
  x.show

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
facets-1.4.1 forge/more/world.rb
facets-1.4.2 forge/more/world.rb
facets-1.4.3 forge/more/world.rb
facets-1.4.4 forge/more/world.rb
facets-1.4.5 snip/more/world.rb