Skip to content
This repository has been archived by the owner on Apr 19, 2019. It is now read-only.

Commit

Permalink
add irb option for the cli script
Browse files Browse the repository at this point in the history
  • Loading branch information
technoweenie committed Aug 23, 2010
1 parent 48b143c commit 8c62541
Showing 1 changed file with 37 additions and 3 deletions.
40 changes: 37 additions & 3 deletions bin/gollum
Expand Up @@ -14,9 +14,7 @@ Options:
HELP

require 'optparse'

require 'rubygems'
require 'gollum/frontend/app'

exec = {}
options = {}
Expand All @@ -31,11 +29,47 @@ opts = OptionParser.new do |opts|
puts "Gollum " + Gollum::VERSION
exit 0
end

opts.on("--irb", "Start an irb process with gollum loaded for the current wiki.") do
options['irb'] = true
end
end

# Read command line options into `options` hash
opts.parse!

$path = ARGV[0] || Dir.pwd

Precious::App.run!(options)
if options['irb']
require 'irb'
# http://jameskilton.com/2009/04/02/embedding-irb-into-your-ruby-application/
module IRB # :nodoc:
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

require 'gollum'
wiki = Gollum::Wiki.new $path
IRB.start_session binding
else
require 'gollum/frontend/app'
Precious::App.run!(options)
end

0 comments on commit 8c62541

Please sign in to comment.