grazie mille paolo il tuo consiglio è stato una rivelazione, il mio
script continua a non funzionare però ho fatto un passo avanti 
adesso ho aggiunto altri test e mi da nuovi errori
ti posto la classe e i test così vediamo se riesci ad indicarmi una
via, ovviamente se vuoi 
classe
class JNui
require “net/http”
require “uri”
class JPage
attr_accessor :url, :body, :list
include Comparable
def <=>(other)
self.url.to_s <=> other.url.to_s
end
crea una nuova istanza di JPage con un url o un oggetto URI
def initialize(url)
@url = url.class == URI.class ? url : JLink.uri(url)
@body = JLink.get_page(@url)
@list = JLink.get_links(@url)
end
#metodo di ausilio per i test
def to_s
return "url: #{@url} "
end
end
class JPages < Array
def self.generate(domain, link = ‘’)
jpages = JPages.new
jpages.push(JPage.new(domain)) if link != ‘’
jpages.each do |e|
e.list.each do |t|
jpages.push(JPage.new(t)) if in_domain?(domain,t)
end
self.sort!.uniq
end
return jpages
end
#metodo di ausilio
def to_s
list = “”
self.each { |e| list += e.to_s }
return list
end
end
class JSite
attr_accessor :base_url, :pages
def initialize(base_url = ‘’)
@base_url = JLink.host(base_url)
@pages = JPages.generate(@base_url, ‘’)
end
#questo metodo serve oslo per ispezionare e di ausilio per i test
def stampa
puts “\nbase url: #{@base_url.class}”
puts “pages class: #{@pages.class}”
puts “pages: #{@pages.to_s}”
puts “pages stampa prima pagina: #{@pages[0].to_s}”
end
end
module JLink
def self.uri(uri)
return URI.parse(uri)
end
def self.host(url)
return URI.parse(url).host
end
def self.get_page(uri)
return Net::HTTP.get_response(uri)
end
#alias_method :page, :get_page
def self.get_links(body, type = /http/)
return URI.extract(body, type).sort!.uniq #FIXME genera un
errore no method
end
#alias_method :links, :get_links
def self.in_domain?(domain, uri)
return uri.host == domain
end
end
end
test, molto semplici
require “test/unit”
require “lib/jnui”
class Test_Jnui < Test::Unit::TestCase
def setup
@js = JNui::JSite.new(‘http://www.google.it’)
@jp = JNui::JPage.new(‘http://www.google.it’)
@jps = JNui::JPages.new.generate(‘http//www.google.it’)
end
def test_jsite
assert(JNui::JSite.new(‘http://www.google.it’), “Classe non
inizializzata.”)
assert_equal(JNui::JSite, @js.class)
end
def test_stampa
@js.stampa
end
def test_Jpage
assert(JNui::JPage.new(‘http://www.google.it’), “jpage non funge.”)
end
def test_jlink
uri = JNui::JLink.uri(“http://www.google.it”)
p uri
assert(uri, “Failure message.”)
end
end
grazie comunque per i consigli 
luca sabato
nope — the [nomad code]
email: [email protected]