#!/usr/bin/env ruby # Copyright (C) 2009-2013 MongoDB, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. org_argv = ARGV.dup ARGV.clear $LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib') require 'mongo' include Mongo host = org_argv[0] || ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost' port = org_argv[1] || ENV['MONGO_RUBY_DRIVER_PORT'] || MongoClient::DEFAULT_PORT dbnm = org_argv[2] || ENV['MONGO_RUBY_DRIVER_DB'] || 'ruby-mongo-console' puts "Connecting to #{host}:#{port} (CLIENT) on with database #{dbnm} (DB)" CLIENT = MongoClient.new(host, port) DB = CLIENT.db(dbnm) # try pry if available, fall back to irb begin require 'pry' CONSOLE_CLASS = Pry rescue LoadError require 'irb' CONSOLE_CLASS = IRB end puts "Starting #{CONSOLE_CLASS.name} session..." CONSOLE_CLASS.start(__FILE__)