У меня есть камень под названием private_lib
.
Файл lib/private_lib.rb
содержит следующее:
require 'private_lib/version'
require 'private_lib/handicap'
require 'private_lib/traversal_cap'
module PrivateLib
end
Файл lib/private_lib/handicap.rb
содержит следующее
# module for handicap functions
class Handicap
include TraversalCap
-- other code
end
и файл lib/private_lib/traversal_cap.rb
содержит следующее
module TraversalCap
def some_method
end
-- other code
end
У меня также есть тестовый файл spec/handicap_spec.rb
, который содержит следующее
require "spec_helper"
describe Handicap do
include TraversalCap
-- some tests that access the ```Handicap``` class
-- some tests that access directly the traversal_cap some_method.
end
Когда я запускаю rspec spec/handicap_spec
, я получаю следующую ошибку
private_lib/lib/private_lib/handicap.rb:3:in `<class:Handicap>': uninitialized constant Handicap::TraversalCap (NameError)
from private_lib/lib/private_lib/handicap.rb:2:in `<top (required)>'
Почему класс гандикапа не видит модуль traversal_cap?