method
define_call
v7.2.3 -
Show latest stable
- Class:
ActiveModel::AttributeMethods::ClassMethods
define_call(code_generator, name, target_name, mangled_name, parameters, call_args, namespace:, as:)private
No documentation available.
# File activemodel/lib/active_model/attribute_methods.rb, line 455
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