Ruby este una dintre cele mai populare limbi folosite pe web. Am început o nouă sesiune aici pe Nettuts +, care vă va prezenta Ruby, precum și marile cadre și instrumente care merg împreună cu dezvoltarea Ruby. Astăzi, vom analiza sistemul de ambalare minunat pe care îl oferă Ruby pentru distribuirea de programe și biblioteci: Pietre prețioase.
Este destul de simplu, într-adevăr. Vă puteți gândi la o Ruby Gem ca o bibliotecă sau plug-in. Sunt câteva funcții pe care le veți instala pentru a satisface o nevoie specifică. Dacă sună vagă, iată câteva probleme practice pe care pietrele le rezolvă:
Sunt doar câteva dintre lucrurile pe care le puteți face cu pietre prețioase.
Pe scurt, există o bijuterie pentru asta.
Înainte de a putea instala și utiliza pietre, trebuie să instalăm biblioteca RubyGems. Desigur, veți avea nevoie de instalarea lui Ruby în primul rând, dar ar trebui să aveți asta până acum.
Dacă utilizați Ruby 1.9 * (ceea ce folosim în această serie), atunci nu trebuie să vă faceți griji cu privire la instalarea RubyGems; este încorporat. Dacă v-ați hotărât să rămâneți la Ruby 1.8 *, nu este prea greu de instalat. Trebuie doar să vă îndreptați spre pagina de descărcare RubyGems, să descărcați TAR sau ZIP, să o deschideți și să rulați ruby setup.rb
în terminalul din acel dosar Este posibil să aveți nevoie de privilegii de administrare pentru a face acest lucru (sudo
pe sistemele unix, porniți linia de comandă cu "Run as Administrator" pe Windows). Asta te va face să fugi.
Dacă credeți că ați instalat deja RubyGems, rulați gem -v
pentru a obține numărul versiunii. Ultima versiune este 1.6.2. Dacă doriți să faceți upgrade, executați gem update - sistem
. Din nou, s-ar putea să aveți nevoie de privilegii de administrare. Ar trebui să menționez că dacă sunteți pe Windows și ați instalat Ruby prin RubyInstaller, aveți instalat RubyGems.
Deci, acum că ați instalat biblioteca RubyGems, o puteți folosi pentru a instala orice pietre doriți. Cum faci acest lucru? Din nou, este destul de simplu. Partea dificilă constă în găsirea bijuteriei pe care doriți să o utilizați; de multe ori, puteți doar Google pentru orice funcționalitate pe care o căutați. Odată ce găsiți bijuteria, instalați-o astfel:
gem instala GEM_NAME
Este important să fiți atenți la documentația pentru bijuterie, totuși. Pot exista argumente pe care ar trebui să le adăugați la acea comandă; cu toate acestea, în cele mai multe cazuri, asta ar trebui să te treacă.
Încă o notă despre instalarea pietrelor: s-ar putea să observați că documentația unei bijuterii vă spune să o utilizați sudo
atunci când îl instalați. Dacă sunteți pe un Mac și folosiți RVM (cum ar trebui să fii :)), pleacă sudo
off. Utilizarea acestuia va instala bijuteria pentru toți utilizatorii de pe computer și poate cauza probleme cu mediile Ruby multiple pe care le aveți cu RVM.
Așa cum vom continua în această serie, vom folosi mai multe pietre Ruby, așa că veți vedea cum vor lucra într-un proiect "real". Dacă doriți să încercați să instalați câțiva acum, încercați gemul Markdown (maruku) sau bijuteria Amazon S3 (aws-s3).
gem instalați maruku gem instalați aws-s3
Deci, aveți pietrele dvs. instalate; ce acum? Ei bine, folosiți-le, desigur! Există două moduri în care puteți utiliza pietre prețioase. Unele sunt programe stand-alone ruby pe care le veți rula (cel mai adesea din linia de comandă) să faceți ceva. Bijuteria Rails este un exemplu excelent al acestui lucru. Alergi șterge noul PROJECT_NAME
din linia de comandă pentru a genera un nou proiect de șine; atunci veți folosi în alte momente pentru a genera modele, controlori etc. Apoi, există pietre pe care le veți folosi numai din interiorul proiectelor proprii, cum ar fi bijuteria Amazon S3. Nu este foarte bun pe cont propriu, dar e destul de util în legătură cu codul tău. Dacă doriți să utilizați o bijuterie din codul dvs., va trebui să o cereți mai întâi. Aceasta se face de obicei în partea de sus a fișierului.
cereți "rubygems" # doar necesare pe Ruby 1.8 necesită "aws / s3" # bijuterie S3
Nu cred că am discutat necesita
inainte de; Ruby nu încarcă totul în mod implicit, astfel încât să puteți utiliza necesita
pentru a încărca bibliotecile suplimentare pe care doriți să le utilizați. Vom vedea mai mult despre asta pe măsură ce vom continua.
În cele din urmă, unele pietre fac ambele. Gemul maruku va transforma Markdown în HTML. O folosesc din linia de comandă tot timpul:
maruku doc.markdown
Acesta va converti documentul Markdown în HTML. Cu toate acestea, îl puteți utiliza și din codul dvs.:
cer "maruku" str = "#Aceasta este un titlu \ n \ n * unele \ n * listă \ n * elemente" md = Maruku.new (str) md.to_html_document
Odată ce ați construit un proiect, poate doriți să îl partajați sau să-l utilizați pe un alt computer. Cu toate acestea, oricine altcineva care o rulează va trebui să aibă toate pietrele corecte instalate. Acum, puteți face procesul de instalare mai ușor cu un proiect numit Bundler. Există multe lucruri pe care Bundler le poate face, dar acum doar vom șterge suprafața.
Mai întâi de toate, Bundler este o bijuterie în sine; îl puteți instala prin rulare gem install bundler
.
Apoi, în rădăcina proiectului, creați un fișier numit Gemfile
. Acest lucru va declara ce bijuterii aveți nevoie pentru acest proiect.
Prima linie (linii) a Gemfilei tale îi va spune lui Bundler unde să-ți primești bijuteriile. Pietrele prețioase trăiesc în depozitele online, așa că va trebui să știe de unde să le obțină. De cele mai multe ori, pur și simplu folosind rubygems.org ca sursă va fi suficient, dar puteți avea mai multe surse, dacă doriți.
sursă "http: // rubygems.org"
Apoi, listați pietrele dvs. de genul:
"aws-s3",: necesită => "aws / s3"
Rețineți că putem spune ce versiune de bijuterie avem nevoie dacă avem nevoie de o versiune specifică. De asemenea, observați hash-ul (am rămas din paranteze pentru că putem, în acest caz) pe a treia gem. Aceasta ne spune Bundler cum trebuie necesita
bijuteria. Acest lucru este necesar doar dacă două lucruri sunt adevărate: 1) o bijuterie este necesară cu un nume diferit de numele cu care este instalat și 2) folosim Bundler pentru a cere pietre prețioase.
Dacă aveți o mulțime de pietre, puteți utiliza Bundler pentru a le solicita pe toate în codul dvs. Doar faceți acest lucru:
cereți "Bundler.require (Bundler.require)": (implicit)
Acest lucru va încărca toate aceste pietre. Desigur, acest lucru este mult mai util atunci când utilizați unele dintre configurațiile avansate ale Bundler.
Ultima dată, ți-am cerut cititorilor / observatorilor ce vrei să vezi în continuare. Ați spus în mod clar? Chestii Web !? Lecția următoare va continua să folosim cadrul simplu Sinatra pentru a construi un site web. Pana atunci!