迭代到结构

时间:2018-09-13 07:45:26

标签: ruby

我有要优化的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

实现代码的正确方法是什么?我只想正确传递名称。

1 个答案:

答案 0 :(得分:3)

这项工作可以吗?

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