неинициализированная константа Syke :: Core RubyGem - PullRequest
0 голосов
/ 01 октября 2018

Я создаю RubyGem для генерации тестовых данных и столкнулся с проблемой при ее создании.У меня есть основной syke.rb файл, который был сгенерирован из начальной сборки gem.

require "syke/version"
require "syke/internet"

mydir = __dir__

require 'i18n'

I18n.load_path += Dir[File.join(mydir, 'locales', '**/*.yml')]
I18n.available_locales = [:en]

module Syke
  class Core
    class << self
      def get(key)
        I18n.t("syke.#{key}")
      end
    end
  end
end

Я пытаюсь получить значения из файла .yml, поэтому в моем файле internet.rb есть следующее:

module Syke
  class Internet < Core
    class << self
      def email
        get('internet.domain')
      end
    end
  end
end 

В настоящее время я получаю эту ошибку при попытке протестировать приложение с помощью rspec:

NameError: неинициализированная константа Syke :: Core

Iу меня есть интернет-класс, наследующий класс Core под модулем Syke, поэтому я не понимаю, почему я получаю это сообщение об ошибке.У кого-нибудь есть идеи?Благодарю.

1 Ответ

0 голосов
/ 02 октября 2018

Проблема в том, что ваш require "syke/internet" равен до , который вы определили Syke::Core.

Лично я бы перенес определение Syke::Core в его собственный файл, который выможет потребоваться либо в основном файле syke.rb (до подключения к Интернету), либо в самом файле internet.rb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...