module ActiveModel::AttributeMethods::ClassMethods
def define_call(code_generator, name, target_name, mangled_name, parameters, call_args, namespace:, as:)
def define_call(code_generator, name, target_name, mangled_name, parameters, call_args, namespace:, as:) code_generator.define_cached_method(mangled_name, as: as, namespace: namespace) do |batch| body = if CALL_COMPILABLE_REGEXP.match?(target_name) "self.#{target_name}(#{call_args.join(", ")})" else call_args.unshift(":'#{target_name}'") "send(#{call_args.join(", ")})" end batch << "def #{mangled_name}(#{parameters || ''})" << body << "end" end end