From db97ff2dce26be9ecd3d141d7529c028655ffee2 Mon Sep 17 00:00:00 2001 From: Douglas Eichelberger Date: Sun, 31 Dec 2023 11:29:57 -0800 Subject: [PATCH] Use define_method instead --- Library/Homebrew/attrable.rb | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/Library/Homebrew/attrable.rb b/Library/Homebrew/attrable.rb index b15c59ca76..b081e7d1fe 100644 --- a/Library/Homebrew/attrable.rb +++ b/Library/Homebrew/attrable.rb @@ -14,19 +14,9 @@ module Attrable sig { params(attrs: Symbol).void } def attr_rw(*attrs) attrs.each do |attr| - module_eval <<-EOS, __FILE__, __LINE__+1 - def #{attr}(val=nil) # def prefix(val=nil) - if val.nil? # if val.nil? - if instance_variable_defined?(:@#{attr}) # if instance_variable_defined?(:@prefix) - return @#{attr} # return @prefix - else # else - return nil # return nil - end # end - end # end - # - @#{attr} = val # @prefix = val - end # end - EOS + define_method attr do |val = nil| + val.nil? ? instance_variable_get(:"@#{attr}") : instance_variable_set(:"@#{attr}", val) + end end end end