Method: Mollusk::Filterable#filter
- Defined in:
- lib/mollusk/filterable.rb
#filter(name, callback) ⇒ Object
26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mollusk/filterable.rb', line 26 def filter(name, callback) _mollusk_collection_module.send :define_method, name, &callback define_singleton_method(name) do collection = self == _mollusk_base_class ? all : self results = collection.instance_exec(&callback) mod = _mollusk_collection_module (class << results; self end).send :include, mod results end end |