lib/nanoc/base/entities/context.rb in nanoc-4.8.18 vs lib/nanoc/base/entities/context.rb in nanoc-4.8.19
- old
+ new
@@ -49,10 +49,18 @@
end
end
def respond_to_missing?(method, include_all)
ivar_name = '@' + method.to_s
- instance_variable_defined?(ivar_name) || super
+
+ valid_ivar_name =
+ if defined?(Contracts)
+ ivar_name =~ /\A@[A-Za-z_]+\z/
+ else
+ true # probably good enough
+ end
+
+ (valid_ivar_name && instance_variable_defined?(ivar_name)) || super
end
def include(mod)
metaclass = class << self; self; end
metaclass.instance_eval { include(mod) }