Forum: Italian Ruby user group Dove posizionare i file .rb ???

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
D4f93baecd8f8722397fc753814e72dc?d=identicon&s=25 Cosimo Guglielmucci (laj)
on 2007-06-19 13:56
Ciao a tutti, primo post prima richiesta :-)
Come devo fare per disporre di una classe che ho definito in un file .rb
?
In particolare al mio primo approccio con Ruby
vorrei riuscire ad utilizzare questo codice:
http://snippets.dzone.com/posts/show/3906

Allora, con SciTE ho creato il file SqlServer.rb
e l'ho salvato in una directory di progetto.
Ovviamente mi sono studiato il problema "classpath"
ed ho scoperto che in ruby vi è un array e si chiama $LOAD_PATH o $:
e si manipola anche con l'opzione -I di irb e ruby
Il problema è che anche avendo aggiunto la directory dove  sono i miei
file a questo Path, ottengo errore da fxri quando scrivo:

 db = SqlServer.new('10.0.0.33:1033', 'sa', '*******')

Ma non doveva essere semplice Ruby :-p
Scusate, spero di trovare aiuto per poter confidare in questa
tecnologia.

Grazie.
Aea9ee14e387a68f5cd63048a0ba9266?d=identicon&s=25 David (Guest)
on 2007-06-19 14:09
(Received via mailing list)
Puoi provare con un:
  require '/path/completo/SqlServer.rb'

Se così va provi con il path relativo allo script che ne ha bisogno. Puoi
anche omettere l'estensione .rb

Un buon trucco per provare la tua classe in isolamento può essere mettere
in fondo un:

if __FILE__ == $0
  obj = MioClasse.new
  obj.do_stuf
  result = obj.do_really_fun_stuff
  puts "Funky! Look at this: #{result}"
end

Così, se esegui il file con la tua classe verrà eseguito il codice sopra. Se
invece usi la classe da un altro script, tramite 'require', non
verrà eseguito!
D4f93baecd8f8722397fc753814e72dc?d=identicon&s=25 Cosimo Guglielmucci (laj)
on 2007-06-19 18:51
Grazie
ho capito come eseguire i file .rb
anche se nacora non riesco a fare,
da fxri una cosa tipo:
db = SqlServer.new('10.0.0.33:1033', 'sa', '*******')

è forse comunque necessario un require "quel file"?
a cosa serve LOAD_PATH allora?
come faccio a far comparire sempre quel percorso in LOAD_PATH all'avvio
del sistema?

P.S.: Lo snippet che ho trovato a quel sito non funziona con Sql Server
2000.
      Ma poco male: ho appreso di DBI, sembra buono, no?
Aea9ee14e387a68f5cd63048a0ba9266?d=identicon&s=25 David (Guest)
on 2007-06-19 19:04
(Received via mailing list)
On Tue, 19 Jun 2007 18:51:32 +0200, Cosimo Guglielmucci wrote:
> Grazie
> ho capito come eseguire i file .rb

Cioè? Dici il trucco con "__FILE__ == $0"?
:-)

> anche se nacora non riesco a fare,
> da fxri una cosa tipo:

Sarò stupido io, ma cos'è "fxri"? È "ri" con gli effetti speciali?

> db = SqlServer.new('10.0.0.33:1033', 'sa', '*******')
>
> è forse comunque necessario un require "quel file"?

Oh sì! Se vuoi usare una classe definita in 'sqlserver.rb' devi fare un
'require' di quel file.

> a cosa serve LOAD_PATH allora?

È per non dover stare a indicare tutto il path per il file che vuoi
requisire. Punta a 'site-ruby' credo, perché le gemme usano una roba
diversa (ma simile). Ma non prendermi in parola, perché non uso mai
LOAD_PATH.

Di sicuro *non* è un path che indica un insieme di file che vengono
caricati sempre e comunque.

> come faccio a far comparire sempre quel percorso in LOAD_PATH all'avvio
> del sistema?

Forse lo setti tra gli variabili d'ambiente. In linea di massima direi
però che non dovresti: meglio lasciare a Ruby e a rubygems il compito di
gestire i percorsi per le librerie e poi fare dei require con un path
relativo per le robe che crei tu. Rails include anche la cartella "lib"
dell'applicazione nei percorsi che cerca (occhio che devi riavviare
l'app perché le modifiche si vedano!).


> P.S.: Lo snippet che ho trovato a quel sito non funziona con Sql Server
> 2000.
>       Ma poco male: ho appreso di DBI, sembra buono, no?

Ah, non era DBI quello? Non c'ho guardato, se devo essere sincero. E
usare ActiveRecord direttamente?

:-)
D4f93baecd8f8722397fc753814e72dc?d=identicon&s=25 LAj (Guest)
on 2007-06-21 18:34
David wrote:
> On Tue, 19 Jun 2007 18:51:32 +0200, Cosimo Guglielmucci wrote:
>> Grazie
>> ho capito come eseguire i file .rb
>
> Cio�? Dici il trucco con "__FILE__ == $0"?
> :-)
>
ok questo, ma io ero ancora alla linea di comando :D

>> anche se nacora non riesco a fare,
>> da fxri una cosa tipo:
>
> Sar� stupido io, ma cos'� "fxri"? � "ri" con gli effetti speciali?
>
Ma non lo so...
un coso( una console ) che è uscito con l'installazione su windows


>> a cosa serve LOAD_PATH allora?
>
> � per non dover stare a indicare tutto il path per il file che vuoi
> requisire. Punta a 'site-ruby' credo, perch� le gemme usano una roba
> diversa (ma simile). Ma non prendermi in parola, perch� non uso mai
> LOAD_PATH.
>
> Di sicuro *non* � un path che indica un insieme di file che vengono
> caricati sempre e comunque.
>
grazie, chiaro!

>> P.S.: Lo snippet che ho trovato a quel sito non funziona con Sql Server
>> 2000.
>>       Ma poco male: ho appreso di DBI, sembra buono, no?
>
> Ah, non era DBI quello? Non c'ho guardato, se devo essere sincero. E
> usare ActiveRecord direttamente?
>
> :-)
Ma io non il framework rails, funziona lo stesso?

Gia che mi trovo, posso usare anche ActiveMail?
This topic is locked and can not be replied to.