Module: Amp

Defined in:
lib/amp.rb,
lib/amp.rb,
lib/amp.rb,
lib/amp/help/help.rb,
lib/amp/graphs/copies.rb,
lib/amp/support/match.rb,
lib/amp/commands/hooks.rb,
lib/amp/support/amp_ui.rb,
lib/amp/support/logger.rb,
lib/amp/encoding/base85.rb,
lib/amp/graphs/ancestor.rb,
lib/amp/server/amp_user.rb,
lib/amp/support/openers.rb,
lib/amp/commands/command.rb,
lib/amp/commands/command.rb,
lib/amp/encoding/difflib.rb,
lib/amp/support/multi_io.rb,
lib/amp/commands/dispatch.rb,
lib/amp/server/http_server.rb,
lib/amp/support/amp_config.rb,
lib/amp/templates/template.rb,
lib/amp/templates/template.rb,
lib/amp/encoding/binary_diff.rb,
lib/amp/extensions/lighthouse.rb,
lib/amp/repository/repository.rb,
lib/amp/commands/command_support.rb,
lib/amp/server/fancy_http_server.rb,
lib/amp/support/mercurial/ignore.rb,
lib/amp/repository/git/repository.rb,
lib/amp/repository/generic_repo_picker.rb,
lib/amp/repository/mercurial/repository.rb,
lib/amp/repository/mercurial/revlogs/node.rb,
lib/amp/repository/mercurial/revlogs/index.rb,
lib/amp/repository/mercurial/revlogs/revlog.rb,
lib/amp/repository/git/repo_format/changeset.rb,
lib/amp/repository/mercurial/merging/merge_ui.rb,
lib/amp/repository/mercurial/repo_format/lock.rb,
lib/amp/repository/mercurial/revlogs/file_log.rb,
lib/amp/repository/mercurial/revlogs/manifest.rb,
lib/amp/repository/abstract/abstract_changeset.rb,
lib/amp/repository/mercurial/repo_format/store.rb,
lib/amp/repository/mercurial/revlogs/changelog.rb,
lib/amp/repository/abstract/abstract_local_repo.rb,
lib/amp/repository/git/repo_format/staging_area.rb,
lib/amp/repository/mercurial/repo_format/journal.rb,
lib/amp/repository/mercurial/revlogs/changegroup.rb,
lib/amp/repository/abstract/abstract_staging_area.rb,
lib/amp/repository/git/repo_format/versioned_file.rb,
lib/amp/repository/mercurial/merging/simple_merge.rb,
lib/amp/repository/mercurial/repo_format/changeset.rb,
lib/amp/repository/mercurial/repo_format/dir_state.rb,
lib/amp/repository/mercurial/repo_format/updatable.rb,
lib/amp/repository/abstract/abstract_versioned_file.rb,
lib/amp/repository/mercurial/revlogs/bundle_revlogs.rb,
lib/amp/repository/mercurial/revlogs/revlog_support.rb,
lib/amp/repository/mercurial/revlogs/versioned_file.rb,
lib/amp/repository/abstract/common_methods/changeset.rb,
lib/amp/repository/git/repositories/local_repository.rb,
lib/amp/repository/mercurial/encoding/mercurial_diff.rb,
lib/amp/repository/mercurial/repo_format/merge_state.rb,
lib/amp/repository/mercurial/repo_format/tag_manager.rb,
lib/amp/repository/abstract/common_methods/local_repo.rb,
lib/amp/repository/mercurial/repo_format/staging_area.rb,
lib/amp/repository/mercurial/repo_format/verification.rb,
lib/amp/repository/abstract/common_methods/staging_area.rb,
lib/amp/repository/mercurial/repo_format/branch_manager.rb,
lib/amp/repository/abstract/common_methods/versioned_file.rb,
lib/amp/repository/mercurial/repositories/local_repository.rb,
lib/amp/repository/mercurial/repositories/bundle_repository.rb,
lib/amp/repository/mercurial/encoding/pure_ruby/ruby_mercurial_patch.rb,
ext/amp/mercurial_patch/mpatch.c,
lib/amp/repository/mercurial/repositories/http_repository.rb,
lib/amp/support/support.rb

Overview

Amp

Defined Under Namespace

Modules: Bundles, CommandSupport, Diffs, Encoding, Git, Graphs, Help, KernelMethods, Mercurial, Merges, Repositories, Servers, Support, UI Classes: AmpConfig, Command, Dispatch, Hook, LighthouseHook, Match, Opener, StandardErrorReporter, UIMenu

Constant Summary collapse

CODE_ROOT =

The root directory of this application

File.expand_path File.dirname(__FILE__)
EXT_ROOT =
File.expand_path File.join(File.dirname(__FILE__), "..", "ext")
VERSION =
'0.5.3'
VERSION_TITLE =

the next one should totally be "Suomalaisen Susijengi"

"John Locke"

Class Method Summary collapse

Class Method Details

.new_irb_session(bndng) ⇒ Object



216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# File 'lib/amp.rb', line 216

def self.new_irb_session(bndng)
  require 'irb'
  
  # Alter IRB appropriately
  # http://jameskilton.com/2009/04/02/embedding-irb-into-your-ruby-application/
  ::IRB.class_eval do
    def self.start_session(binding)
      unless @__initialized
        args = ARGV
        ARGV.replace(ARGV.dup)
        IRB.setup(nil)
        ARGV.replace(args)
        @__initialized = true
      end

      workspace = WorkSpace.new(binding)

      irb = Irb.new(workspace)

      @CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC]
      @CONF[:MAIN_CONTEXT] = irb.context

      catch(:IRB_EXIT) do
        irb.eval_input
      end
    end
  end
  
  IRB::start_session bndng
end