# File lib/couchrest/mixins/callbacks.rb, line 383 def _create_and_run_keyed_callback(klass, kind, key, obj, &blk) @_keyed_callbacks ||= {} @_keyed_callbacks[[kind, key]] ||= begin str = self.send("_#{kind}_callbacks").compile(key, :object => obj, :terminator => self.send("_#{kind}_terminator")) self.class_eval "def _run__\#{klass.split(\"::\").last}__\#{kind}__\#{key}__callbacks\n\#{str}\nend\n", __FILE__, __LINE__ + 1 true end obj.send("_run__#{klass.split("::").last}__#{kind}__#{key}__callbacks", &blk) end