Странная ошибка загрузки пользовательского рубинового камня

У меня есть собственный гем, и я сталкиваюсь с действительно странной ошибкой загрузки, когда я устанавливаю его как гем и пытаюсь потребовать его в irb.

Все отлично работает с моими тестами rspec внутри папки проекта. Это происходит только при использовании его в качестве настоящего драгоценного камня в irb.

Файл вызывает исключение LoadError по адресу(/lib/mws/api/order_response.rb)на самом деле существует. Я пытался переименовать файл и обновить файл, который требует этого (/lib/mws.rb).. Я попытался воссоздать файл, думая, что, возможно, возникла проблема с разрешениями. Ничего не работает.

Если я закомментирую строку запроса для этого конкретного файла, все будет работать. В файле нет ничего особенного. Есть еще 4 файла, почти идентичных ему(*_response.rb).

Я чувствую, что принимаю сумасшедшие таблетки. Должно быть, я что-то упускаю из виду, но я точно этого не вижу.

След:

chris@Samus:~$ irb
1.9.3p194 :001 > require 'mws'
LoadError: cannot load such file -- mws/api/order_response
    from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/chris/.rvm/gems/ruby-1.9.3-p194/gems/mws-0.1.18/lib/mws.rb:14:in `<top (required)>'
    from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
    from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
    from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
    from (irb):1
    from /Users/chris/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'

Файл с требованиями(/lib/mws.rb)

require 'mws/base'
require 'mws/connection'
require 'mws/utility'

require 'mws/api/seller'
require 'mws/api/product'
require 'mws/api/order'
require 'mws/api/report'

require 'mws/api/general_response'
require 'mws/api/product_response'
require 'mws/api/report_response'
require 'mws/api/seller_response'
require 'mws/api/order_response' # <--- the offending line

module MWS
  # @see Base#initialize MWS::Base for instantiation details.
  # @return [Base] returns MWS::Base object.
  def self.new(merchant_id, access_key, secret_key)
    MWS::Base.new(merchant_id, access_key, secret_key)
  end
end

# The below is for documentation generation purposes.

# MWS is a wrapper for the Amazon Marketplace Web Service (MWS) API.
module MWS
  # API handles all the Amazon MWS API specific stuff.
  module API
  end
  # Utilities contains various functions needed throughout MWS. Utilities is a mixin to multiple classes.
  module Utilities
  end
end

Файл, который мне нужен(/lib/mws/api/order_response.rb):

module MWS
  module API

    # Class for parsing Amazon's XML responses into managable objects.
    class OrderResponse

      # Include GeneralResponse instance methods as class methods
      extend GeneralResponse

    end
  end
end

И моя файловая структура

enter image description here

5
задан Chris Cummings 16 July 2012 в 06:33
поделиться