В приложении Rails 5.1 у меня есть объект запроса (PORO) с именем CoolProducts
.
class CoolProducts
def self.call(relation = Product.all)
...
# return an instance of Product::ActiveRecord_Relation
end
end
Теперь мне нужно ограничить количество найденных Product
с учетом того, что name
соответствует string
.
Следующие работы
CoolProducts.call.where("name ILIKE ?", "%#{string}%")
Однако я хотел бы инкапсулировать соответствующий логин в классе CoolProducts
, что позволяет сделать что-то вроде
CoolProducts.call.including_in_name(string)
Но я не уверен, с чего начать.Есть идеи?