def self.init
config_ru = ENV['CONFIG_RU']
rack_app = Rack::Builder.parse_file(config_ru).first
$rack = Rack::Shell::Session.new(rack_app)
rcfile = File.expand_path("~/.rackshrc")
eval(File.read(rcfile)) if File.exists?(rcfile)
rcfile = File.expand_path(File.join(File.dirname(config_ru), ".rackshrc"))
eval(File.read(rcfile)) if File.exists?(rcfile)
unless ENV['RACKSH_SKIP_INTRO']
if STDOUT.tty? && ENV['TERM'] != 'dumb'
env_color = ($rack.env == 'production' ? "\e[31m\e[1m" : "\e[36m\e[1m")
puts "\e[32m\e[1mRack\e[0m\e[33m\e[1m::\e[0m\e[32m\e[1mShell\e[0m v#{VERSION} started in #{env_color}#{$rack.env}\e[0m environment."
else
puts "Rack::Shell v#{VERSION} started in #{$rack.env} environment."
end
@reloaded = true
end
rescue Errno::ENOENT => e
if e.message =~ /config\.ru$/
puts "Rack::Shell couldn't find #{config_ru}"
exit(1)
else
raise e
end
end