2023-08-08 13:54:59 -07:00
|
|
|
# typed: strict
|
2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-06-26 07:30:28 +02:00
|
|
|
module Predicable
|
2023-08-08 13:54:59 -07:00
|
|
|
sig { params(attrs: Symbol).void }
|
2017-06-26 07:30:28 +02:00
|
|
|
def attr_predicate(*attrs)
|
|
|
|
attrs.each do |attr|
|
|
|
|
define_method attr do
|
|
|
|
instance_variable_get("@#{attr.to_s.sub(/\?$/, "")}") == true
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|