Итерировать в структуру

У меня есть этот код Ruby, который я хотел бы оптимизировать:

process_trx(['davivienda'], GATEWAY_NAME, base_params_for(:davivienda))
process_trx(['banco_de_chile'], GATEWAY_NAME, base_params_for(:banco_de_chile))
process_trx(['webpay'], GATEWAY_NAME, base_params_for(:webpay))

Я устал от этого:

FIXED_BASE_PARAMS = %w(davivienda banco_de_chile webpay)

FIXED_BASE_PARAMS.each do |factory_data|
  process_trx(['#{factory_data.to_s.pluralize.humanize}'], GATEWAY_NAME, base_params_for(:#{factory_data.to_s.pluralize.humanize}))
end

Как правильно реализовать код? Я хотел бы только правильно передать имена.

Что случилось с плюрализовать / очеловечить? Зачем вы их добавили?

Sergio Tulentsev 13.09.2018 10:08
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
2
1
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это сработает?

%i(davivienda banco_de_chile webpay).each do |factory_name|
  process_trx([factory_name.to_s], GATEWAY_NAME, base_params_for(factory_name))
end

Я неожиданно получаю keyword_end, ожидая ')' (SyntaxError)

Peter Penzov 13.09.2018 10:02

Исправлена ​​проблема с закрывающей круглой скобкой.

Aleksei Matiushkin 13.09.2018 10:06

Почему вы идете другим путем, используя %i? Использование %w будет минимальной модификацией исходного кода OP.

sawa 13.09.2018 10:15

Другие вопросы по теме