Al crear gemas, a menudo tienen una estructura de directorios como esto:manera más limpia/de una sola línea para requerir todos los archivos en el directorio en Ruby?
|--lib
|-- helpers.rb
`-- helpers
|-- helper_a.rb
`-- helper_b.rb
Dentro de la helpers.rb
, yo sólo estoy require
-ing los archivos en el directorio helpers
. Pero tengo que hacer cosas como esta:
$:.push(File.dirname(__FILE__) + '/helpers')
require 'helper_a'
require 'helper_b'
¿Hay una manera de hacer que una línea de modo que nunca tenga que añadir a ella? Me acabo de ocurrir esto muy rápido:
dir = File.join(File.dirname(__FILE__), "helpers")
Dir.entries(dir)[2..-1].each { |file| require "#{dir}/#{file[0..-4]}" }
Pero es dos líneas y feo. ¿Qué astutos trucos has hecho para que este sea un trazador de líneas único?
duplicados de http://stackoverflow.com/questions/735073/best- way-to-require-all-files-from-a-directory-in-ruby - use 'Dir ["/ruta/a/directorio/*. rb "]. cada {| archivo | require file} ' –
Aún mejor, usa la gema require_all mencionada en esa pregunta. – clacke