Ruby

Mattepuffo's logo
Criptare stringhe in Ruby

Criptare stringhe in Ruby

Criptare stringhe, o anche interi file, con Ruby è abbastanza semplice usando il modulo digest!

Questo modulo ci mette a disposizione diversi algoritmi e diversi tipo di encoder.

Noi faremo esempi con SHA256; sulla documentazione potete verificare glialtri disponibili.

Mattepuffo's logo
Creare file temporanei in Ruby

Creare file temporanei in Ruby

Come mi aspettavo, anche in Ruby eseguire operazioni sui file temporanei è molto semplice.

Per queste operazioni possiamo usare il modulo tempfile!

Questo modulo contiene tutte le funzioni che ci servono.

Mattepuffo's logo
Creare file in Ruby

Creare file in Ruby

Per creare file in Ruby abbiamo almeno due modalità differenti:

  • usando File.new
  • usando File.open

La differenza tra i due è che File.open può essere usato in un blocco di codice, mentre File.new no.

Mattepuffo's logo
Identificare se l'utente è root in Ruby

Identificare se l'utente è root in Ruby

Nei sistemi *NIX, ogni utente ha uno specifico UID (id univoco).

In genere lo UID di root è zero.

Usando il modulo Process, con Ruby è molto semplice identificare se l'utente che ha lanciato il programma è root o meno.

E questo può essere utile in molti casi.

Mattepuffo's logo
Cancellare file in Ruby

Cancellare file in Ruby

Oggi vediamo le due righe di codice necessarie per cancellare file in Ruby.

Creeremo una classe con un solo metodo.

Questo metodo si occuperà di controllare l' effettiva esistenza del file indicato, e in caso affermativo di cancellarlo.

Non sono richiesti moduli aggiuntivi.

Mattepuffo's logo
Upload FTP in Ruby

Upload FTP in Ruby

Dopo aver visto come eseguire una connessione FTP, vediamo come eseguire l' upload di un file.

Partiremo sempre da questa classe, alla quale aggiungeremo un metodo.

La classe Net::FTP di Ruby, ha due metodi per eseguire l'upload:

  • putbnaryfile -> trasferisce in modalità binaria
  • puttextfile -> trasferisce in ASCII

Una o l'altra dipende anche dal file che dovete inviare.

Mattepuffo's logo
Connessione a FTP in Ruby

Connessione a FTP in Ruby

Continuando con Ruby, oggi vediamo come eseguire una connessione ad un server FTP.

Non sono richieste "gems" da installare; il modulo FTP è compreso nell'installazione core, va solo richiamato.

Creiamo, quindi, una classe con tre metodi:

  • connessione
  • listing dei file
  • disconnessione

Mattepuffo's logo
Creare file ZIP in Ruby

Creare file ZIP in Ruby

Leggendo in giro, ho visto che ci sono vari modi per creare file ZIP in Ruby.

Noi useremo il modulo rubyzip!

Quindi prima di tutto dobbiamo installarlo:

$ gem install rubyzip

A questo punto creiamo una classe per creare il file ZIP di una intera directory.

Mattepuffo's logo
Parsing JSON in Ruby

Parsing JSON in Ruby

Oggi vediamo un dei vari modi per eseguire il parsing di una stringa JSON presa da un servizio remoto, usando Ruby.

Prima di tutto, (ri)vediamo la classe per la connessione al servizio remoto:

require "net/http"

class HttpConnection
    def get_connection
        uri = URI.parse("http://www.sito.com/file.json")
        http = Net::HTTP.new(uri.host, uri.port)
        req = Net::HTTP::Get.new(uri.request_uri)
        res = http.request(req)
        return res.body
    end
end

Questa classe la useremo nella nostra classe per il parsing.