2020-10-10 14:16:11 +02:00
|
|
|
# typed: false
|
2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-06-04 11:05:02 -05:00
|
|
|
class Module
|
|
|
|
def attr_rw(*attrs)
|
2015-08-03 13:09:07 +01:00
|
|
|
file, line, = caller.first.split(":")
|
2013-12-12 14:16:43 -06:00
|
|
|
line = line.to_i
|
|
|
|
|
2013-06-04 11:05:02 -05:00
|
|
|
attrs.each do |attr|
|
2013-12-12 14:16:43 -06:00
|
|
|
module_eval <<-EOS, file, line
|
2020-11-10 00:28:45 +11:00
|
|
|
def #{attr}(val=nil) # def prefix(val=nil)
|
|
|
|
@#{attr} ||= nil # @prefix ||= nil
|
|
|
|
return @#{attr} if val.nil? # return @prefix if val.nil?
|
|
|
|
@#{attr} = val # @prefix = val
|
|
|
|
end # end
|
2013-06-04 11:05:02 -05:00
|
|
|
EOS
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|