Module: CassandraModel::Callbacks::ClassMethods

Defined in:
lib/cassandra-model/callbacks.rb

Instance Method Summary collapse

Instance Method Details

#callbacksObject



22
23
24
# File 'lib/cassandra-model/callbacks.rb', line 22

def callbacks
  @callbacks ||= Hash.new {|h, k| h[k] = [] }
end

#define_callbacks(*callbacks) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/cassandra-model/callbacks.rb', line 9

def define_callbacks(*callbacks)
  callbacks.each do |callback|
    [:before, :after].each do |chain|
      callback_name = "#{chain}_#{callback}"
      instance_eval <<-EVAL, __FILE__, __LINE__ + 1
        def #{callback_name}(*args)
          callbacks[:#{callback_name}] += args
        end
      EVAL
    end
  end
end