fluke/devops-service/db/mongo/connectors/base.rb
2015-09-21 20:27:43 +03:00

39 lines
1.1 KiB
Ruby

require "exceptions/record_not_found"
require "exceptions/invalid_record"
require "exceptions/invalid_command"
require "exceptions/invalid_privileges"
module Connectors
class Base
# если хотим создавать индексы при старте приложения, нужно сначала создать коллекцию
def initialize db
names = db.collection_names
unless names.include?(self.collection_name)
db.create_collection(self.collection_name)
puts "Collection '#{self.collection_name}' has been created"
end
self.collection = db.collection(self.collection_name)
end
def create_indexes
end
def collection_name
raise "owerride me"
end
# Yes, we can implement connectors without attr_accessor, storing collection directly
# in instance variable like
# @collection = db.collection('users')
#
# But with latter approach included modules should know about instance variables of
# base classes.
# Also, debugging "No method error" is simplier than seeking missing instance var.
private
attr_accessor :collection
end
end