class Mongocore::Filters
Attributes
after[RW]
Accessors
before[RW]
Accessors
klass[RW]
Accessors
validate[RW]
Accessors
Public Class Methods
new(klass)
click to toggle source
Init
# File lib/mongocore/filters.rb, line 12 def initialize(klass) # Save model class @klass = klass # The before filters @before = Hash.new{|h, k| h[k] = []} # Add timestamp filters if enabled @before[:save] << :timestamps if Mongocore.timestamps # The after filters @after = Hash.new{|h, k| h[k] = []} # The validators @validate = [] end
Public Instance Methods
call(k, m)
click to toggle source
Execute a proc or a method
# File lib/mongocore/filters.rb, line 40 def call(k, m) k.is_a?(Proc) ? m.instance_eval(&k) : m.send(k) end
run(m, f, key = nil)
click to toggle source
Available filters are :save, :delete
# File lib/mongocore/filters.rb, line 35 def run(m, f, key = nil) send(f)[key].each{|k| call(k, m)} end
valid?(m)
click to toggle source
Valid?
# File lib/mongocore/filters.rb, line 30 def valid?(m) @validate.each{|k| call(k, m)}; m.errors.empty? end