Как получить список всех одного типа?
Как, например, список всех атрибутов String? Есть ли простое решение Virtus или мне нужно катиться самостоятельно?Как получить список всех атрибутов Virtus одного типа?
def my_model
include Virtus.model
attribute :a, Integer
attribute :b, Integer
attribute :c, String
attribute :d, String
attribute :w, Float
attribute :j, Float
end
Я хотел бы по существу сделать my_model.something = [:c, :d]
ИЛИ есть ли другой способ, чтобы получить все строки атрибутов в виде списка?
Моя конечная цель - уметь распределять атрибуты в различные проверки на основе типа.
Это идеальный ответ. Очень хочу, чтобы я мог дать вам бесконечные голоса. Могу ли я спросить, насколько хороша практика использования метода? Мне просто интересно, потому что мои другие разработчики довольно хардкорны о коде, который входит в приложение. Это довольно распространено, чтобы использовать его? –
Я использую его больше как DRY-решение. Я предложил его, так как вы хотите запросить разные классы, но, честно говоря, в вашем конкретном случае было бы очень сложно использовать его, поскольку вам нужно убедиться, что имя метода имеет имя класса ruby. И, как всегда, обзоры кода - это лучшее, что нужно делать при работе с другими разработчиками, пока вы делаете это вместе. – miligraf