Я пытаюсь вызвать один класс в другом классе, который находится в другом модуле.
require 'json'
require 'pry'
module Parsers
class JiraParser
def initialize(event)
@event = JSON.parse(event)
end
def call
reporter_email = parse_reporter_email
::Slack::GetUserId.new(reporter_email).call
end
private
attr_reader :event
def parse_reporter_email
event.dig('issue', 'reporter', 'emailAddress')
end
end
end
Parsers::JiraParser.new(event).call
структура кода:
source__
|-parsers__
| |_ jira_parser.rb
|
|-slack____
|_ get_user_id.rb
Когда я пытаюсь вызвать это класс в консоли я получаю сообщение об ошибке:
неинициализированная константа Slack (NameError)
Поэтому я подумал, что мне просто нужно добавить require "slack/get_user_id"
, но я вместо этого получил другую ошибку:
require ': невозможно загрузить такой файл - slack / get_user_id (LoadError)
Я что-то пропустил?
EDIT :
$LOAD_PATH
=> ["/Users/usr/.rvm/rubies/ruby-2.5.0/lib/ruby/gems/2.5.0/gems/did_you_mean-1.2.0/lib",
"/Users/usr/.rvm/gems/ruby-2.5.0/gems/coderay-1.1.2/lib",
"/Users/usr/.rvm/gems/ruby-2.5.0/gems/method_source-0.9.2/lib",
"/Users/usr/.rvm/gems/ruby-2.5.0/gems/pry-0.12.2/lib",
"/Users/usr/.rvm/gems/ruby-2.5.0/gems/json-2.2.0/lib",
"/Users/usr/.rvm/gems/ruby-2.5.0/extensions/x86_64-darwin-18/2.6.0-static/json-2.2.0",
"/Users/usr/.rvm/gems/ruby-2.5.0/gems/pry-rails-0.3.9/lib",
"/Users/usr/.rbenv/versions/2.6.1/lib/ruby/site_ruby/2.6.0",
"/Users/usr/.rbenv/versions/2.6.1/lib/ruby/site_ruby/2.6.0/x86_64-darwin18",
"/Users/usr/.rbenv/versions/2.6.1/lib/ruby/site_ruby",
"/Users/usr/.rbenv/versions/2.6.1/lib/ruby/vendor_ruby/2.6.0",
"/Users/usr/.rbenv/versions/2.6.1/lib/ruby/vendor_ruby/2.6.0/x86_64-darwin18",
"/Users/usr/.rbenv/versions/2.6.1/lib/ruby/vendor_ruby",
"/Users/usr/.rbenv/versions/2.6.1/lib/ruby/2.6.0",
"/Users/usr/.rbenv/versions/2.6.1/lib/ruby/2.6.0/x86_64-darwin18"]