We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
#singleton_methods
#methods
1 parent 930b547 commit f3f0ca4Copy full SHA for f3f0ca4
lib/ostruct.rb
@@ -271,6 +271,29 @@ def freeze
271
super
272
end
273
274
+ def singleton_methods(*) # :nodoc:
275
+ (super + @table.keys.flat_map {|k| [k, :"#{k}="] }).uniq
276
+ end
277
+
278
+ def methods(*) # :nodoc:
279
280
281
282
+ def respond_to_missing?(mid, *) # :nodoc:
283
+ if (mname = mid[/.*(?==\z)/m])
284
+ @table&.key?(mname.to_sym)
285
+ elsif @table&.key?(mid)
286
+ true
287
+ else
288
+ begin
289
+ super
290
+ rescue NoMethodError => err
291
+ err.backtrace.shift
292
+ raise!
293
294
295
296
297
private def method_missing(mid, *args) # :nodoc:
298
len = args.length
299
if mname = mid[/.*(?==\z)/m]
0 commit comments