Sha256: 4e4070de3bf2c7e423f74f848c40f1e02f8c8d7c34606d8689e72088e9da3936
Contents?: true
Size: 1.45 KB
Versions: 4
Compression:
Stored size: 1.45 KB
Contents
# # irb/ext/cb.rb - # $Release Version: 0.9.6$ # $Revision$ # by Keiju ISHITSUKA(keiju@ruby-lang.org) # # -- # # # module IRB # :nodoc: class Context # Inherited from +TOPLEVEL_BINDING+. def home_workspace if defined? @home_workspace @home_workspace else @home_workspace = @workspace end end # Changes the current workspace to given object or binding. # # If the optional argument is omitted, the workspace will be # #home_workspace which is inherited from +TOPLEVEL_BINDING+ or the main # object, <code>IRB.conf[:MAIN_CONTEXT]</code> when irb was initialized. # # See IRB::WorkSpace.new for more information. def change_workspace(*_main) if _main.empty? @workspace = home_workspace return main end @workspace = WorkSpace.new(_main[0]) if !(class<<main;ancestors;end).include?(ExtendCommandBundle) main.extend ExtendCommandBundle end end # def change_binding(*_main) # back = @workspace # @workspace = WorkSpace.new(*_main) # unless _main.empty? # begin # main.extend ExtendCommandBundle # rescue # print "can't change binding to: ", main.inspect, "\n" # @workspace = back # return nil # end # end # @irb_level += 1 # begin # catch(:SU_EXIT) do # @irb.eval_input # end # ensure # @irb_level -= 1 # @workspace = back # end # end # alias change_workspace change_binding end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rubysl-irb-2.1.1 | lib/irb/ext/change-ws.rb |
rubysl-irb-2.1.0 | lib/irb/ext/change-ws.rb |
rubysl-irb-2.0.4 | lib/irb/ext/change-ws.rb |
rubysl-irb-2.0.3 | lib/irb/ext/change-ws.rb |