Permalink
Browse files

Fixes multiple conditions

  • Loading branch information...
wycats committed Feb 28, 2009
1 parent c16c7a8 commit 9510070f7859d00b1e47b62c1e06dbf21fca1b9b
@@ -17,11 +17,11 @@ def process_action
module ClassMethods
def _normalize_callback_options(options)
if only = options[:only]
- only = Array(only).map {|o| "action_name == :#{o}"}.join(" && ")
+ only = Array(only).map {|o| "action_name == :#{o}"}.join(" || ")
options[:per_key] = {:if => only}
end
if except = options[:except]
- except = Array(except).map {|e| "action_name == :#{e}"}.join(" && ")
+ except = Array(except).map {|e| "action_name == :#{e}"}.join(" || ")
options[:per_key] = {:unless => except}
end
end
@@ -349,7 +349,7 @@ module ClassMethods
# The _run_save_callbacks method can optionally take a key, which
# will be used to compile an optimized callback method for each
# key. See #define_callbacks for more information.
- def _define_runner(symbol, str, options)
+ def _define_runner(symbol, str, options)
str = <<-RUBY_EVAL
def _run_#{symbol}_callbacks(key = nil)
if key
@@ -373,7 +373,7 @@ 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 <<-RUBY_EVAL, __FILE__, __LINE__ + 1
def _run__#{klass.split("::").last}__#{kind}__#{key}__callbacks
#{str}

0 comments on commit 9510070

Please sign in to comment.