lib/mongo_browser/models/database.rb
module MongoBrowser
module Models
class Database
attr_reader :mongo_db
def initialize(mongo_db)
@mongo_db = mongo_db
end
def name
mongo_db.name
end
alias :id :name
def count
collections.count
end
def size
info["sizeOnDisk"].to_i
end
def collection_names
mongo_db.collection_names
end
def collection(name)
Collection.new(mongo_db.collection(name))
end
def collections
collection_names.map { |name| collection(name) }
end
def stats
mongo_db.stats
end
def drop!
mongo_db.connection.drop_database(self.name)
end
private
def info
@info ||= mongo_db.connection["admin"].command(listDatabases: true)["databases"].find do |db|
db["name"] == self.name
end
end
end
end
end