Module: Mongoid::Clients::Options::ClassMethods

Defined in:
build/mongoid-master/lib/mongoid/clients/options.rb

Instance Method Summary collapse

Instance Method Details

#client_nameObject



63
64
65
# File 'build/mongoid-master/lib/mongoid/clients/options.rb', line 63

def client_name
  persistence_context.client_name
end

#collectionObject



75
76
77
# File 'build/mongoid-master/lib/mongoid/clients/options.rb', line 75

def collection
  persistence_context.collection
end

#collection_nameObject



67
68
69
# File 'build/mongoid-master/lib/mongoid/clients/options.rb', line 67

def collection_name
  persistence_context.collection_name
end

#database_nameObject



71
72
73
# File 'build/mongoid-master/lib/mongoid/clients/options.rb', line 71

def database_name
  persistence_context.database_name
end

#mongo_clientObject



79
80
81
# File 'build/mongoid-master/lib/mongoid/clients/options.rb', line 79

def mongo_client
  persistence_context.client
end

#persistence_contextObject



106
107
108
# File 'build/mongoid-master/lib/mongoid/clients/options.rb', line 106

def persistence_context
  PersistenceContext.get(self) || PersistenceContext.new(self)
end

#with(options, &block) ⇒ Object

Change the persistence context for this class during the block.

Examples:

Save the current document to a different collection.

Model.with(collection: "bands") do |m|
  m.create
end

Parameters:

  • options (Hash)

    The storage options.

Options Hash (options):

  • :collection (String | Symbol)

    The collection name.

  • :database (String | Symbol)

    The database name.

  • :client (String | Symbol)

    The client name.

Since:

  • 6.0.0



97
98
99
100
101
102
103
104
# File 'build/mongoid-master/lib/mongoid/clients/options.rb', line 97

def with(options, &block)
  original_context = PersistenceContext.get(self)
  original_cluster = persistence_context.cluster
  PersistenceContext.set(self, options)
  yield self
ensure
  PersistenceContext.clear(self, original_cluster, original_context)
end