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
connection()
Alias for: client
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