class MethodOverrides
Public Class Methods
new()
click to toggle source
# File lib/everyday-cli-utils/override.rb, line 2 def initialize @overrides = {} end
register_override(s, s2, method_name, &block)
click to toggle source
# File lib/everyday-cli-utils/override.rb, line 20 def register_override(s, s2, method_name, &block) s.class_eval { MethodOverrides.store_true_override(s, s2, method_name) s.create_method(method_name.to_sym, &block) } end
store_true_override(s, s2, method_name)
click to toggle source
# File lib/everyday-cli-utils/override.rb, line 27 def store_true_override(s, s2, method_name) original_method = s.instance_method(method_name.to_sym) s2.true_overrides ||= MethodOverrides.new s2.true_overrides.store_override(method_name.to_sym, original_method) end
Public Instance Methods
empty?(method_name)
click to toggle source
# File lib/everyday-cli-utils/override.rb, line 6 def empty?(method_name) @overrides[method_name].nil? || @overrides[method_name].empty? end
get(obj)
click to toggle source
# File lib/everyday-cli-utils/override.rb, line 15 def get(obj) OverridesInstance.new(@overrides, obj) end
store_override(method_name, method)
click to toggle source
# File lib/everyday-cli-utils/override.rb, line 10 def store_override(method_name, method) @overrides[method_name] ||= [] @overrides[method_name] << method end