instance method
define_call
Ruby on Rails 8.1.2
Since v7.2.3 PrivateSignature
define_call(code_generator, name, target_name, mangled_name, parameters, call_args, namespace:, as:)
No documentation comment.
Parameters
-
code_generatorreq -
namereq -
target_namereq -
mangled_namereq -
parametersreq -
call_argsreq -
namespacekeyreq -
askeyreq
Source
# 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
Defined in activemodel/lib/active_model/attribute_methods.rb line 455
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::AttributeMethods::ClassMethods