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