Given that the parameters starts with `_`, the finder needs to use the same parameter name.
# File lib/active_record/dynamic_matchers.rb, line 97 def attributes_hash "{" + attribute_names.map { |name| ":#{name} => _#{name}" }.join(',') + "}" end
Extended in activerecord-deprecated_finders
# File lib/active_record/dynamic_matchers.rb, line 78 def body result end
# File lib/active_record/dynamic_matchers.rb, line 101 def finder raise NotImplementedError end
Extended in activerecord-deprecated_finders
# File lib/active_record/dynamic_matchers.rb, line 83 def result "#{finder}(#{attributes_hash})" end
The parameters in the signature may have reserved Ruby words, in order to prevent errors, we start each param name with `_`.
Extended in activerecord-deprecated_finders
# File lib/active_record/dynamic_matchers.rb, line 91 def signature attribute_names.map { |name| "_#{name}" }.join(', ') end