Weblogs Código

RecorteX

» ruby
73 usuarios y 244 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes de la etiqueta ruby

RSS
Recortes: 4

Etiquetas relacionadas:
servidor
ficheros
web
lectura
webrick
redirector
redirigir

Manejo ficheros en ruby

Breves métodos para leer ficheros de texto.

Leemos y obtenemos cada linea del fichero en una posición de un array
 
    f = File.new("fichero.txt")
    array_lineas_de_fichero = f.readlines
    f.close
    #quitamos los saltos de linea en cada elemento del array, si nos interesa
    array_lineas_de_fichero.collect! {|x| x.strip}
 
Tratamos todos los ficheros de un directorio de una extensión determinada
 
    Dir.chdir(@dir)     #@dir:: mi directorio de interés    
    myfiles = File.join("**", "*.EXTENSION")
    # para cada fichero de extensión EXTENSION en todos los subdirectorios
    # si no nos interesasen los subdirectorios, eliminariamos "**"
    Dir.glob(myfiles) { |file|
      process_file file
    }
 
Y el método anterior process_file podría ser:
 
def process_file (aFile)
    
    File.open(aFile){|ioF|
      counter=0  # ¿para contar las lineas?
      while (line = ioF.gets)
        # con esto leemos también cada linea y la podemos tratar...
        process_line line
        counter = counter + 1
      end
      puts "-" + aFile + " --> " + counter.to_s + " lineas"
    }    
    
  end
 

Pequeño servidor web para redirigir

Un pequeño servidor web escrito en Ruby, con el módulo WEBrick (viene de serie). Simplemente escucha en el puerto que le digamos (8000, en este caso), y redirige las peticiones que se le hagan a otra URL cualquiera ("http://otro.servidor.com/", en este caso).
 
require 'webrick'
 
s = WEBrick::HTTPServer.new( :Port => 8000 )
s.mount_proc("/") do |request, response|
   response.set_redirect(WEBrick::HTTPStatus::MovedPermanently,
                         "http://otro.servidor.com/")
end
 
trap("INT"){ s.shutdown }
s.start
 
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin