Я бы не стал хранить имена методов в базе данных; это затрудняет рефакторинг и может привести к сумасшедшему поведению, если вы когда-нибудь получите недопустимые значения в этом столбце.
Вместо этого просто сохраните format
строковый столбец, который читается ("rss", "json" и т. Д.). Тогда вы можете использовать один метод в вашей модели, например:
def pull_data
case format
when 'json'
...
when 'rss'
...
else
raise 'Invalid format'
end
end
Если вы хотите разбить свою логику получения данных на отдельные методы, вы можете вызвать их из этого pull_data
метода.