Module: MongoMapper::Plugins::Scopes::ClassMethods

Defined in:
lib/mongo_mapper/plugins/scopes.rb

Instance Method Summary collapse

Instance Method Details

#scope(name, scope_options = {}) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/mongo_mapper/plugins/scopes.rb', line 12

def scope(name, scope_options={})
  scopes[name] = lambda do |*args|
    result = scope_options.is_a?(Proc) ? scope_options.call(*args) : scope_options
    result = self.query(result) if result.is_a?(Hash)
    self.query.merge(result)
  end
  singleton_class.send :define_method, name, &scopes[name]
end

#scopesObject



21
22
23
# File 'lib/mongo_mapper/plugins/scopes.rb', line 21

def scopes
  self._scopes || self._scopes = {}
end