Bazele unei pietre prețioase Ruby

Utilizez pietre prețioase Ruby de câteva săptămâni și a fost grozav, dar nu eram foarte sigur de ceea ce se întâmpla sub capotă atunci când am adăugat una la aplicația mea. Așa că această postare pe blog este pentru a mă ajuta să înțeleg cum funcționează gemurile și sper să vă ajute și pe dumneavoastră.

O gemă ruby este un cod ruby împachetat pe care îl puteți adăuga la aplicația dumneavoastră. Acest lucru vă poate economisi ceva timp prin utilizarea codului pe care alții l-au scris pentru a rezolva probleme similare. De exemplu, dacă ați dori să schimbați culoarea unui text, ați putea instala și utiliza gemul colorize. Obțineți toate funcționalitățile sale fără a fi nevoie să scrieți vreodată acel cod dumneavoastră.

Sinatra este o gemă, Rack este o gemă și am fost surprins să aflu că până și Rails este o gemă. Toate gemurile publice sunt publicate prin RubyGems.org. Aici este locul unde oamenii pot contribui și le pot împărtăși cu comunitatea.

Să începem prin a instala o gemă

Să alegem o gemă și să o instalăm. Am ales să adaug în aplicația mea gemul colorize, care schimbă culoarea unui șir pe care îl trecem. Puteți rula gem install gem_name pentru a descărca gemul pe computerul dumneavoastră și a-l pune la dispoziția aplicațiilor dumneavoastră. Vă întrebați unde locuiește acea gemă după ce este instalată? Puteți rula gem which gem_name și vă va spune exact unde se află.

gem install colorize

Pentru a folosi gemul în codul nostru, va trebui să cereți gemul în partea de sus a fișierului dvs. punând require ‘gem_name’. Facem acest lucru pentru a avea acces la gemă și acum nu va trebui să ne scriem propriul cod pentru a colora textul.

require ‘colorize’

Acum că aveți gemul instalat și cerut, îl puteți folosi. De obicei, dacă mergeți la repo-ul GitHub al gemului, veți găsi informații importante despre caracteristicile sale și despre cum să le folosiți.

https://github.com/fazibear/colorize

Să o folosim!

Acum am citit readme și acum vrem să adăugăm niște culoare textului nostru. Am adăugat trei culori diferite în codul meu, apelând .colorze(:color) pe un șir de caractere.

Executarea codului

Genial! Nu-i așa că arată bine? Deci am instalat gemul nostru și pare să funcționeze, dar ce se întâmplă dacă avem o aplicație mai mare care necesită mai multe gemuri? Să apelăm gem install și să solicităm fiecare gem pare a fi foarte mult de lucru. Cu siguranță există o cale mai ușoară.

Bundler

Bundler ne face viața mult mai ușoară. Ce este bundler? Ei bine, este o bijuterie, bineînțeles! Acesta urmărește fiecare gem și instalează exact gemul și versiunea pe care trebuie să o folosiți în aplicația dumneavoastră. Pentru a folosi bundler, veți avea nevoie de un Gemfile în directorul proiectului dvs. și în interiorul acestuia puteți lista câte pietre prețioase doriți. Pentru a face acest lucru, trebuie doar să deschideți Gemfile și să adăugați gem ‘gem_name’.

După ce l-ați adăugat în Gemfile, asigurați-vă că rulați bundle install în terminal. Acest lucru va instala toate bijuteriile listate în fișierul dvs. Gemfile, împreună cu dependențele lor. Asta cu siguranță face lucrurile mult mai ușoare. Ceea ce este grozav este că Ruby 2.6 și versiunile ulterioare includ bundler în mod automat, așa că nu va fi nevoie să îl instalați singuri.

Se pare că încă trebuie să adăugăm require ‘gem_file’ în partea de sus a fișierelor noastre, iar asta pare, de asemenea, o mulțime de muncă dacă avem multe dintre ele. Se pare că bundler s-a gândit și la asta. Puteți adăuga require ‘bundler’ în partea de sus a fișierului .rb și să scrieți Bunlder.require(:default). Ceea ce face acest lucru sub capotă este să cheme require ‘gem_name’ pentru fiecare gem pe care îl aveți în fișierul dvs. gemfile.

Bundler.require(:default)

După ce ați rulat bundle install, s-ar putea să observați că se instalează o mulțime de gem-uri pe care nu le-ați adăugat. De ce se întâmplă acest lucru? Multe pietre prețioase necesită ca alte pietre prețioase să fie instalate împreună cu ele. De exemplu, rails va necesita multe alte pietre prețioase, iar aceste pietre prețioase pot necesita alte pietre prețioase și așa mai departe. Bundler se va asigura că toate versiunile gemelor instalate sunt compatibile unele cu altele.

După ce găsește versiunile corecte ale fiecărei gemă, înregistrează aceste versiuni într-un alt fișier numit Gemfile.lock. Aceasta face posibilă instalarea exact a aceleiași versiuni pe fiecare mașină care va trebui să ruleze această aplicație.

Un fișier Gemfile.lock

Puteți vedea în fișierul meu Gemfile.lock că lolize necesită gemul paint și versiunile pe care le poate folosi. Așadar, bundler va prelua asta și versiunea corectă pentru noi. Nu este de ajutor? Mulțumesc bundler!

Așa că asta este! Sper că acest lucru v-a ajutat să înțelegeți elementele de bază ale unui gem și bundler. Există multe pietre prețioase pe care le puteți folosi și le puteți căuta aici. https://rubygems.org/.

Lasă un răspuns

Adresa ta de email nu va fi publicată.