У меня есть этот метод. Я зацикливаюсь на каждом клиенте, а затем проверяю, подходит ли этот клиент условиям или нет. Я чувствую, что это действительно неэффективно. Я считаю, что метод должен возвращать значение последнего выполненного действия, но я все еще должен сделать это:
def self.terms_qualifying
qualifying_client = []
Client.all.each do |client|
qualifying_client << client if client.is_terms_eligible?
end
qualifying_client
end
Я знаю, что могу немного почистить это:
def self.terms_qualifying
qualifying_client = []
return Client.all.each do |client|
qualifying_client << client if client.is_terms_eligible?
end
end
Но я чувствую, что либо неправильно понимаю ключевую концепцию, либо просто не понимаю ее. Могу ли я сделать это более эффективным?