Unused code in instance#method_missing?
leonelgalan opened this issue · 0 comments
leonelgalan commented
settingslogic/lib/settingslogic.rb
Line 113 in c510aff
# Called for dynamically-defined keys, and also the first key deferenced at the top-level, if load! is not used.
# Otherwise, create_accessors! (called by new) will have created actual methods for each key.
def method_missing(name, *args, &block)
key = name.to_s
return missing_key("Missing setting '#{key}' in #{@section}") unless has_key? key
value = fetch(key)
create_accessor_for(key)
value.is_a?(Hash) ? self.class.new(value, "'#{key}' section in #{@section}") : value
end
I notice the code after the return
is not covered in tests and I wasn't able to hit it on my own. Anyway I tried, private method instance
is called in the Settingslogic
class, which creates accessors for fields that do exist, for keys that don't exist the method returns.