Sha256: cac44ff1a7ea5b2cdee403795fb0a7964d7666465b1acd332ea0eb5b8a374ce5

Contents?: true

Size: 976 Bytes

Versions: 24

Compression:

Stored size: 976 Bytes

Contents

# frozen_string_literal: false
#
#   irb/ext/cb.rb -
#   	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
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
irb-1.11.2 lib/irb/ext/change-ws.rb
irb-1.11.1 lib/irb/ext/change-ws.rb
irb-1.11.0 lib/irb/ext/change-ws.rb
study_line-0.1.6 vendor/bundle/ruby/3.2.0/gems/irb-1.8.3/lib/irb/ext/change-ws.rb
study_line-0.1.5 vendor/bundle/ruby/3.2.0/gems/irb-1.8.3/lib/irb/ext/change-ws.rb
study_line-0.1.4 vendor/bundle/ruby/3.2.0/gems/irb-1.8.3/lib/irb/ext/change-ws.rb
study_line-0.1.3 vendor/bundle/ruby/3.2.0/gems/irb-1.8.3/lib/irb/ext/change-ws.rb
irb-1.10.1 lib/irb/ext/change-ws.rb
study_line-0.1.2 vendor/bundle/ruby/3.2.0/gems/irb-1.8.3/lib/irb/ext/change-ws.rb
study_line-0.1.1 vendor/bundle/ruby/3.2.0/gems/irb-1.8.3/lib/irb/ext/change-ws.rb
irb-1.10.0 lib/irb/ext/change-ws.rb
irb-1.9.1 lib/irb/ext/change-ws.rb
irb-1.9.0 lib/irb/ext/change-ws.rb
irb-1.8.3 lib/irb/ext/change-ws.rb
irb-1.8.2 lib/irb/ext/change-ws.rb
irb-1.8.1 lib/irb/ext/change-ws.rb
irb-1.8.0 lib/irb/ext/change-ws.rb
irb-1.7.4 lib/irb/ext/change-ws.rb
irb-1.7.3 lib/irb/ext/change-ws.rb
irb-1.7.2 lib/irb/ext/change-ws.rb