FakeProfilePictures::Photo.all_large_names_2x
(definido a continuación) devuelve una matriz de nombres de ruta absolutos, pero cuando hago Dir["picture_*@2x.*"]
desde el directorio correcto en irb
, obtengo los basenames (lo que quiero). ¿Cuál es la mejor manera de obtener los nombres básicos? Sé que podría hacerlo agregando .map { |f| File.basename(f) }
como se muestra en el comentario, pero ¿hay algún modo más fácil/better/faster/stronger?¿Cómo obtener Ruby Dir # glob para devolver basenames, no absolute_paths?
module FakeProfilePictures
class Photo
DIR = File.expand_path(File.join(File.dirname(__FILE__), "photos"))
# ...
def self.all_large_names_2x
@@all_large_names_2x ||= Dir[File.join(DIR, "picture_*@2x.*")] # .map { |f| File.basename(f) }
end
end
end
Agradable. '@@ all_large_names_2x || = Dir.chdir (DIR) {Dir [" imagen _ * @ 2x. * "]}' funcionó! ¡Gracias! Creo que iré con eso porque es menos código y probablemente más rápido? Quién sabe... – ma11hew28