Class: MongoidOccurrenceViews::CreateMongodbView

Inherits:
Object
  • Object
show all
Defined in:
lib/mongoid_occurrence_views/create_mongodb_view.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, collection:, pipeline:) ⇒ CreateMongodbView

Returns a new instance of CreateMongodbView.



3
4
5
6
7
# File 'lib/mongoid_occurrence_views/create_mongodb_view.rb', line 3

def initialize(name:, collection:, pipeline:)
  @name = name
  @collection = collection
  @pipeline = pipeline
end

Class Method Details

.call(*args) ⇒ Object



9
10
11
# File 'lib/mongoid_occurrence_views/create_mongodb_view.rb', line 9

def self.call(*args)
  new(*args).call
end

Instance Method Details

#callObject



13
14
15
16
17
18
19
# File 'lib/mongoid_occurrence_views/create_mongodb_view.rb', line 13

def call
  Mongoid.clients.each do |client_name, _|
    client = Mongoid.client(client_name)
    next if client.collections.map(&:name).include?(name)
    client.command(create: name, viewOn: collection, pipeline: pipeline)
  end
end