Формат Favour над строкой #% rubocop - PullRequest
0 голосов
/ 21 сентября 2018
request_url ||= URI_FORMATS[:home_page] % {
          base_uri:     AppConfig.test_api['base_url'],
          end_point:    AppConfig.test_api['end_points']['home_page'],
          client_id:    AppConfig.test_api['client_id'],
        }

Я получаю формат Favor over String #% rubocop error для этого.Любая идея, как решить эту проблему.Я только что выяснил причину ошибки здесь

https://quynhcodes.wordpress.com/2017/03/29/string-interpolation-in-ruby/

Но я не использую здесь никакой интерполяции строк.

Так, как мы можем решить эту проблему .?

1 Ответ

0 голосов
/ 21 сентября 2018

Прежде всего, речь идет не о интерполяции строк, а о форматировании строк. Руководство по стилю Rubocop Rubyop гласит:

Не используйте sprintf и его псевдоним format по сравнению с довольно загадочным String#% методом.

Это будет означать изменение

request_url ||= URI_FORMATS[:home_page] % {
  base_uri:  AppConfig.test_api['base_url'],
  end_point: AppConfig.test_api['end_points']['home_page'],
  client_id: AppConfig.test_api['client_id'],
}

на

request_url ||= format(
  URI_FORMATS[:home_page],
  base_uri:  AppConfig.test_api['base_url'],
  end_point: AppConfig.test_api['end_points']['home_page'],
  client_id: AppConfig.test_api['client_id'],
)
...