У меня есть собственный класс, но я хочу иметь возможность передать его в Arel и позволить ему разрешить его запрашиваемый ] часть.
module Custom class Item attr_accessor :name def initialize(name) self.name = name end end end custom_item = Custom::Item.new("Bill") User.where(:name => custom_item)
есть ли что-нибудь, что я могу определить в custom_item, чтобы он понял, что Арел хочет от него имя?
В настоящее время я использую обходной путь:
module Arel module Visitors class ToSql def visit_Custom_Item o "'#{o.name}'" end end end end