lib/backgrounded/class_methods.rb in backgrounded-0.4.1 vs lib/backgrounded/class_methods.rb in backgrounded-0.5.0
- old
+ new
@@ -1,12 +1,17 @@
module Backgrounded
module ClassMethods
- def backgrounded(*methods)
- methods.each do |method|
+ def backgrounded(*args)
+ options = args.extract_options!
+ methods_with_options = args.inject({}) do |hash, method| hash[method] = {}; hash end
+ methods_with_options.merge! options
+ methods_with_options.each_pair do |method, options|
method_basename, punctuation = method.to_s.sub(/([?!=])$/, ''), $1
define_method "#{method_basename}_backgrounded#{punctuation}" do |*args|
Backgrounded.handler.request(self, method, *args)
end
end
+ cattr_accessor :backgrounded_options
+ self.backgrounded_options = methods_with_options
end
end
end
\ No newline at end of file