Tengo una joya personalizada y me encuentro con un LoadError realmente extraño cuando lo instalo como una gema e intento de requerirlo en irb.Weird LoadError en joya de rubí personalizada
Todo funciona bien con mis pruebas rspec dentro de la carpeta del proyecto. Esto solo ocurre cuando se lo usa como una gema real en irb.
El archivo arroja una excepción LoadError en (/lib/mws/api/order_response.rb
) de hecho existe. Intenté cambiar el nombre del archivo y actualizar el archivo que lo requiere (/lib/mws.rb
). Intenté volver a crear el archivo pensando que tal vez había un problema de permisos. Nada funciona.
Si comento la línea de solicitud para ese archivo específico, todo funciona. No hay nada especial sobre el archivo. Hay otros 4 archivos casi idénticos (*_response.rb
).
Siento que estoy tomando pastillas locas. Debo estar pasando por alto algo, pero seguro que no lo veo.
Traza:
[email protected]:~$ 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>'
de archivos con la requiere (/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
del archivo que estoy requiriendo (/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
Y mi estructura de archivos
Esto fue más o menos la respuesta, pero he detallado por qué a continuación: http://stackoverflow.com/questions/11499140/weird-loaderror-on-custom-ruby-gem/11820819#11820819 –