module Mongo::Document
Public Class Methods
client()
click to toggle source
# File lib/mongo/document.rb, line 57 def client @client end
Also aliased as: connection
database_file=(file)
click to toggle source
# File lib/mongo/document.rb, line 77 def database_file=(file) config = YAML.load(File.read(file)) env = ENV['RAILS_ENV'] || ENV['RACK_ENV'] spec = config[env] establish_connection(spec) end
descendants()
click to toggle source
# File lib/mongo/document.rb, line 53 def descendants @descendants ||= [] end
establish_connection(spec)
click to toggle source
# File lib/mongo/document.rb, line 62 def establish_connection(spec) spec = spec.symbolize_keys hosts_or_uri = nil spec.delete_if do |k, v| if k == :hosts || k == :uri hosts_or_uri = v end end @client = Mongo::Client.new(hosts_or_uri, spec) descendants.each do |model| set_connection(model) end end
included(cls)
click to toggle source
# File lib/mongo/document.rb, line 47 def included(cls) cls.extend DocumentClass set_connection(cls) descendants << cls end
Private Class Methods
set_connection(cls)
click to toggle source
# File lib/mongo/document.rb, line 86 def set_connection(cls) cls.instance_variable_set(:@client, @client) if @client end