class Mongar::Mongo

Attributes

name[R]

Public Class Methods

databases() click to toggle source
# File lib/mongar/mongo.rb, line 9
def databases
  @databases ||= {}
end
new(args = {}) click to toggle source
# File lib/mongar/mongo.rb, line 14
def initialize(args = {})
  args.each do |key, value|
    instance_variable_set(:"@#{key}", value)
  end
  
  @host ||= '127.0.0.1'
  @port ||= 27017
  @status_collection ||= 'statuses'
end

Public Instance Methods

connection() click to toggle source
# File lib/mongar/mongo.rb, line 32
def connection
  ::Mongo::Connection.new(host, port)
end
connection!() click to toggle source
# File lib/mongar/mongo.rb, line 36
def connection!
  connection or raise StandardError, "Could not establish '#{name}' MongoDB connection for #{database} at #{host}:#{port}"
end
db() click to toggle source
# File lib/mongar/mongo.rb, line 40
def db
  return @db unless @db.nil?
  @db = connection!.db(database.to_s)
  unless self.user.nil?
    db = self.auth_database.nil? ? @db : connection!.db(self.auth_database)
    mechanism = self.auth_mechanism || 'SCRAM-SHA-1'
    db.authenticate(user, password, :mechanism => mechanism)
  end
  @db
end
status_collection_accessor() click to toggle source
# File lib/mongar/mongo.rb, line 51
def status_collection_accessor
  db[status_collection]
end
time_on_server() click to toggle source
# File lib/mongar/mongo.rb, line 55
def time_on_server
  db.eval("return new Date()")
end