class MongoidOccurrenceViews::CreateMongodbView

Attributes

collection[R]
name[R]
pipeline[R]

Public Class Methods

call(*args) click to toggle source
# File lib/mongoid_occurrence_views/create_mongodb_view.rb, line 9
def self.call(*args)
  new(*args).call
end
new(name:, collection:, pipeline:) click to toggle source
# File lib/mongoid_occurrence_views/create_mongodb_view.rb, line 3
def initialize(name:, collection:, pipeline:)
  @name = name
  @collection = collection
  @pipeline = pipeline
end

Public Instance Methods

call() click to toggle source
# 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