Передача хеша RoR для инициализации объекта не вызывает "неявного преобразования Symbol в Integer" - PullRequest
0 голосов
/ 26 мая 2018

Хотя я понимаю, что означает эта ошибка, я не делаю ничего плохого, что может ее вызвать.Давайте предположим, что у меня есть 2 файла:

auths_controller.rb:

def index
    config = GmailOauth::Application.credentials.google[:web].stringify_keys!
    gmail_client = Gmail::GmailClient.new(config)
end

config - это просто хэш-класс с символами, в этом примере я даже структурирую ключи, чтобы получить к ним доступ следующим образом:config ["client_id"]

Вот вывод команды "put config" в этом файле:

{"client_id" => "xxx.apps.googleusercontent.com", "project_id "=>" xxx "," auth_uri "=>" https://accounts.google.com/o/oauth2/auth", "token_uri" => "https://accounts.google.com/o/oauth2/token"," auth_provider_x509_cert_url "=>" https://www.googleapis.com/oauth2/v1/certs", "client_secret" => "xxx "}

Все хорошо, верно? Вот файл GmailClient:

module Gmail
    class GmailClient
        def initialize(config)
          puts config # this already throws the error!
          exit

Я не понимаю, почему просто передать вызов метода, я получаю ошибку" нет неявного преобразованиясимвола в целое число "

Любая помощь будет оценена

...