module ActiveRecord::DynamicMatchers::Finder
Public Instance Methods
Given that the parameters starts with `_`, the finder needs to use the same parameter name.
# File activerecord/lib/active_record/dynamic_matchers.rb, line 101
def attributes_hash
"{" + attribute_names.map { |name| ":#{name} => _#{name}" }.join(',') + "}"
end Extended in activerecord-deprecated_finders
# File activerecord/lib/active_record/dynamic_matchers.rb, line 82 def body result end
# File activerecord/lib/active_record/dynamic_matchers.rb, line 105 def finder raise NotImplementedError end
Extended in activerecord-deprecated_finders
# File activerecord/lib/active_record/dynamic_matchers.rb, line 87
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 activerecord/lib/active_record/dynamic_matchers.rb, line 95
def signature
attribute_names.map { |name| "_#{name}" }.join(', ')
end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.