Stripe'i ettevõte, mis on spetsialiseerunud online-maksete platvormide arendamisele, projekti lähtekoodid , mille raames on ette valmistatud staatiliste tüüpide kontrollimise süsteem Ruby keele jaoks. Kood on kirjutatud C++ keeles ja ainekood on litsentsitud Apache 2.0 all.
Koodis olevate tüüpide teavet saab lugeda dünaamiliselt, samuti täiendada lihtsate , mida saab koodis määrata meetodi sig abil (näiteks „sig {params(x: Integer).returns(String)}”) või paigutada eraldi ribi laiendiga failidesse. nii eelnevalt ilma selle käivitamiseta, kui ka kontrollimine jooksu ajal ( koodi lisamise kaudu „require 'sorbet-runtime'“).
On ette nähtud võimalus projekte, kus kasutatakse Sorbet — koodis võivad seguneda nii annotatsioonidega tüübiga plokid kui ka tüüpidega katmata osad. Eripäradena märgitakse samuti väga kõrge jõudlus ja võimalus skaleerimiseks, mis on vajalik miljonite koodiridade sisaldavate koodibaaside jaoks.
Projekt sisaldab tuuma staatiliste tüüpide kontrollimiseks,
Sorbeti tööriistakomplekt uute projektide loomiseks, tööriistakomplekt olemasolevate projektide etappide kaupa üleviimiseks Sorbetile, runtime kontekstipõhise keele jaoks tüüpide annotatsioonide kirjutamiseks ja valmis tüdefineerimiste jaoks erinevatele Ruby gem-pakettidele.
Alguses arendati Sorbetit Stripe'i siseste projektide kontrollimiseks, kus enamik makse- ja analüüsisüsteeme on kirjutatud Ruby keeles, ja see muudeti avatud allikaks pärast enam kui poolteiseaastast arendust ja rakendamist. Enne koodi avamist viidi läbi beetatestimine, millest võttis osa üle 30 ettevõtte. Sorbet toetab praegusel arenguetapil enamiku tüüpiliste Ruby projektide käivitamist, kuid võivad esineda erilised ühilduvusprobleemid.
Allikas: opennet.ru
