module HangingMethods::ClassMethods
Public Instance Methods
add_hanging_method(hanging_method_name, options = {})
click to toggle source
# File lib/hanging_methods.rb, line 6 def add_hanging_method(hanging_method_name, options = {}) unknown_keys = options.keys - [:after_invocation] raise ArgumentError, "Unknown keys: #{unknown_keys.join(',')}" unless unknown_keys.empty? add_hanging_method_options(hanging_method_name, options) define_method(hanging_method_name) do ::HangingMethods::MethodCallNotifier.new do |*method_name_and_args, &block| add_hanging_method_invocation(hanging_method_name, method_name_and_args, block) end end end
add_hanging_method_options(hanging_method_name, options)
click to toggle source
# File lib/hanging_methods.rb, line 19 def add_hanging_method_options(hanging_method_name, options) hanging_method_options(hanging_method_name).merge!(options) end
hanging_method_options(hanging_method_name)
click to toggle source
# File lib/hanging_methods.rb, line 23 def hanging_method_options(hanging_method_name) @hanging_method_options ||= {} @hanging_method_options[hanging_method_name] ||= {} end