Я использую приложение Rails 5.2. Я хочу отобразить переменные среды как группу в конечной точке.
env_controller.rb
class EnvController < ApplicationController
def index
render json: ENV.to_h
end
end
Когда я загружаю http://localhost:3000/env, я вижу следующий результат
{
"XDG_VTNR": "7",
"MANPATH": "/home/ubuntu/.nvm/versions/node/v4.6.0/share/man:/home/ubuntu/.rvm/rubies/ruby-2.6.2/share/man:/home/ubuntu/.rvm/man:/usr/lib/jvm/java-8-oracle/man:/usr/local/man:/usr/local/share/man:/usr/share/man",
"S3_SOURCE_PATH": "dev/source",
"DB_ENV_USER": "postgres",
"XDG_SESSION_ID": "c2",
"rvm_bin_path": "/home/ubuntu/.rvm/bin",
"S3_DESTINATION_PATH": "dev/destination",
"SESSION": "ubuntu",
"DB_PORT_5432_TCP_ADDR": "localhost",
"S3_REGION": "us-east-1"
}
Я хочу сгруппировать переменные среды следующим образом. Мой ожидаемый результат выглядит следующим образом
{
"S3": {
"S3_SOURCE_PATH": "reports/source",
"S3_DESTINATION_PATH": "reports/destination",
"S3_REGION": "us-east-1"
},
"DB": {
"DB_ENV_USER": "postgres",
"DB_PORT_5432_TCP_ADDR": "localhost"
},
"Others": {
"XDG_VTNR": "7",
"MANPATH": "/home/ubuntu/.nvm/versions/node/v4.6.0/share/man:/home/ubuntu/.rvm/rubies/ruby-2.6.2/share/man:/home/ubuntu/.rvm/man:/usr/lib/jvm/java-8-oracle/man:/usr/local/man:/usr/local/share/man:/usr/share/man",
"XDG_SESSION_ID": "c2",
"rvm_bin_path": "/home/ubuntu/.rvm/bin",
"SESSION": "ubuntu"
}
}
Мне определенно нужно сгруппировать "S3" и "DB". Есть больше переменных в моем приложении, которые должны быть сгруппированы следующим образом. Выше образцы.
Как я могу отобразить это, как указано выше?