class Mongoo::DescribeDsl

Public Class Methods

after_describe() click to toggle source
# File lib/mongoo/describe_dsl.rb, line 3
def self.after_describe
  @after_describe ||= []
end
before_describe() click to toggle source
# File lib/mongoo/describe_dsl.rb, line 7
def self.before_describe
  @before_describe ||= []
end
new(klass) click to toggle source
# File lib/mongoo/describe_dsl.rb, line 11
def initialize(klass)
  @klass = klass
end

Public Instance Methods

describe(&block) click to toggle source
# File lib/mongoo/describe_dsl.rb, line 15
def describe(&block)
  Mutex.new.synchronize do
    self.class.before_describe.uniq!
    self.class.after_describe.uniq!

    self.class.before_describe.each do |m|
      send(m)
    end

    block.call(self)

    self.class.after_describe.each do |m|
      send(m)
    end
  end
end
index(*args) click to toggle source
# File lib/mongoo/describe_dsl.rb, line 32
def index(*args)
  @klass.send(:index, *args)
end