Короче говоря, данные и код должны быть разделены для здравомыслия.С точки зрения функциональности данные играют другую роль в коде.Вот почему мы храним данные в базе данных или сериализуем их в JSON и YAML.
Конфигурация из YAML - это десериализация.Он удобочитаем, свободен от проблем с языком, и если вы хотите перейти со старой кодовой базы, это намного проще, если у вас есть конфигурации в текстовом формате.YAML здесь выше JSON из-за читабельности.
Rails построен на концепции разделения слоев на основе их логической функциональности.Мол, MVC разработан по той же причине.И при необходимости у вас будет отдельный слой авторизации из трех.