class Interjectable::ClassMethods::SuperclassInject

Public Instance Methods

override(value, &setter) click to toggle source
# File lib/interjectable/rspec.rb, line 41
def override(value, &setter)
  ivar = "@#{dependency}"
  klass.send(:define_method, dependency) do
    if instance_variable_defined?(ivar)
      instance_variable_get(ivar)
    else
      instance_variable_set(ivar, value != ::Interjectable::ClassMethods::BLANK ? value : instance_eval(&setter))
    end
  end
end
restore() click to toggle source
# File lib/interjectable/rspec.rb, line 52
def restore
  klass.remove_method(dependency)
end