Soy nuevo a los rieles y hacer algún tipo de error novato: Con frecuencia necesito contar el número de líneas en un archivo, así que estoy tratando de mono del archivo de clase de parches como esto:Rails 3: cómo cargar archivos en/lib?
class File
def self.line_count(filename)
%x{wc -l #{filename}}.split.first.to_i
end
end
I guardado esto en /lib/file_util.rb. Pensé que esto iba a ser auto-requerido, por lo que tan sólo pudiera usarlo, pero que no funciona:
$ rails console
>> File.line_count('Gemfile')
NoMethodError: undefined method `line_count' for File:Class
...
así que trato de requerir de forma manual, no hay alegría:
>> require '<myproj>/lib/file_util.rb' # same result with require 'file_util.rb'
=>nil
Pero funciona si necesito dentro de IRB:
$ irb
>> require '<myproj>/lib/file_util.rb'
=> true
>> File.line_count('Gemfile')
=> 22
también traté de añadir la requieren a config/application.rb:
...
Bundler.require(:default, Rails.env) if defined?(Bundler)
require 'file_util.rb'
module <myproj>
...
y me sale:
$ rails console
<myproj>/config/application.rb:9:in `require': no such file to load -- file_util.rb (LoadError)
¿Qué estoy haciendo mal?
Sí, la designación del archivo para la carga automática funcionó para mí. No sabía que estaba conectado de esa manera ahora. – squarism
Me encontré con ese problema también. Esto es lo que hago para forzar automáticamente todos los archivos en lib necesarios: http://stackoverflow.com/questions/4235782/rails-3-library-not-loading-until-require/6797707#6797707 –