Moving Menu

Pięć najlepszych gemów Ruby, które pokochasz!

corner Michał Brodecki
Michał Brodecki
2015-07-15
corner Pięć najlepszych gemów Ruby, które pokochasz!
Każdy programista jest inny - każdy posiada swój ulubiony edytor kodu i system operacyjny. Każdy słucha innego rodzaju muzyki w czasie pracy, bądź nie słucha jest wcale. Pomimo różnych osobowości i preferencji wszyscy posiadamy jedną wspólną rzecz, która nazywa się "Gemfile". Po przejrzeniu moich ostatnich kilku projektów zauważyłem, że kilka gemów powtarza się dla każdej z aplikacji. Chciałbym przedstawić Wam pięć gemów, które pokochacie.

PRY

W momencie rozpoczęcia nauki Ruby on Rails moim największym problemem było zrozumienie co robię źle. Niektórzy w Was mogą znać IDE od Microsoftu zwane Visual Studio - to bardzo potężne IDE, które posiada narzędzia do debugowania. Możesz oznaczyć dowolną linię kodu i w momencie, gdy interpreter zacznie ją wykonywać przejrzeć wartości zmiennych w tym właściwym momencie.

Jakiś czas temu znajomy pokazał mi interesujący gem - Pry, który był jak brakujące ogniwo. Działanie gem'a Pry podobne jest do debugger'a w Visual Studio. Można zatrzymać aplikację w dowolnym momencie poprzez wpisanie:

binding.pry

W momencie, gdy interpeter trafi na odpowiednią linię kodu program się zatrzyma i w terminalu, w którym uruchomiony został serwer aplikacji zobaczysz konsolę. W ten sposób możesz z łatwością debuggować swoje zmienne zamiast robienia "puts" albo "p" wszędzie. Przykład działania na obrazku poniżej:

Oczywiście to nie jedyna funkcja tego gema. Potrafi on także "odbudować" konsolę IRB. Po prostu spróbuj - zapewniam, że od tego momentu trafi on na stałe do Twojego pliku Gemfile.

BETTER ERRORS

Pozostańmy na chwilę w temacie debugowania. Z pewnością często otrzymujesz ekran błędu w aplikacji RoR - co jeśli istnieje gem, który pokaże Ci ten błąd w przejrzysty sposób? Z pomocą przychodzi gem Better errors, ponadto możesz mieć dostęp do "powłoki na żywo" jeżeli skorzystasz z gema Binding of caller. Błędy z tymi gemami wyglądają bardziej przyjaźnie.

 

REFORM

Są projekty, w których potrzebujesz stworzyć rozbudowane formularze, które posiadają zagnieżdżone atrybuty, przyjmowanie pewnych określeń itp. Dobrą praktyką jest zbudowanie obiektu formularza w celu łatwego nim zarządzania. Reform daje maksimum możliwości przy minimalnej ilości kodu. Każdy obiekt formularza dziedziczony jest z klasy Reform::Form. Po prostu definiujesz pola (jako właściwości) i piszesz walidacje to nich. Mogę napisać cały post na blogu o możliwościach jakie oferuje ten gem, ale to nie jest istotne. Sprawdź go sam.

DRAPER

 Czy Twoje widoki haml zawierają wiele linii jak te poniżej:

-if @user.something
  %p User is something
-else
  %p User is not something

albo

=@user.publication_date.strftime("at %I:%M%p")

 Jeżeli tak to zdecydowanie powinieneś użyć jakiegoś wzorca prezentacji albo w tym przypadku - dekoratora. Używając Drapera możesz umieścić logikę, która może byc potrzebna w widoku. Widok powinien być łatwy do czytania i rozszerzania - większa ilość "if-else" albo metod "upiększania" wcale tutaj nie pomoże. Dzięki Draperowi cała logika modelu widoku może zostać umieszczona w dekoratorze, a widok sam w sobie będzie odpowiedzialny jedynie za wyświetlanie danych.

PALOMA

W aplikacjach RoR jest miejsce dla JavaScriptu. Nawet jeśli, musisz wyraźnie zrobić wywołanie w swoim widoku w celu odwołania się do funkcji z javascriptu. Dzięki gemowi Paloma można porządkować JavaScript w bardziej przejrzysty sposób. Więcej na ten temat możecie przeczytać we wpisie Kamila: Keeping Scopes Clean While Coding in JavaScript or CoffeeScript.

BONUS

To jest konieczność dla wszystkich deweloperów, ale nie mów tego nikomu. To będzie nasz sekret. Jest to klucz do pisania aplikacji z mniejszą ilością literówek, nawet bez potrzeby ich sprawdzania. Poniżej przykład kodu, który przedstawia co się dzieje kiedy zaczniesz uzywać tego gema:

YourLife.rotate(180)

BinarApps

Wpis pojawił się u nas na blogu dzięki współpracy z BinarApps. Zachęcamy do zapoznania się z ich blogiem , znajdziesz tam wiele interesujących wpisów dotyczących Ruby.

https://binarapps.com/blog/

 

comments powered by Disqus

Powiązane

photo corner
Pięć najlepszych gemów Ruby, które pokochasz!

Każdy programista jest inny - każdy posiada swój ulubiony edytor kodu i system operacyjny. Każdy słucha innego rodzaju muzyki w czasie pracy, bądź nie słucha jest wcale. Pomimo różnych osobowości i preferencji wszyscy posiadamy jedną wspólną rzecz, która nazywa się "Gemfile". Po przejrzeniu moich ostatnich kilku projektów zauważyłem, że kilka gemów powtarza się dla każdej z aplikacji. Chciałbym przedstawić Wam pięć gemów, które pokochacie.

Czytaj więcej
photo corner
Dostęp do Rails API z poziomu C++ [Część 2: Parsowanie formatu JSON]

W moim ostatnim wpisie stworzyłem prostą metodę GET. Teraz pokażę w jaki sposób przygotować Railsy do wysyłania odpowiedzi JSON po stronie serwera oraz w jaki sposób parsować je wewnątrz aplikacji C++.

Czytaj więcej
photo corner
Pięć stron, które pomogą Ci stać się lepszym programistą Ruby

Programowanie to nie tylko kwestia wykonywania swojej pracy. Ja widzę to jako nigdy nie kończące się zadanie w celu samodoskonalenia się. Musisz nadążyć nie tylko za wiadomościami odnośnie bezpieczeństwa, ale również trzeba poznawać różnorodne koncepcje i nowe rozwiązanie, które pomogą Ci stać się lepszym oraz lepiej rozumieć to co robisz. W dobie Internetu jest to prostsze niż kiedykolwiek. Można znaleźć wiele źródeł informacji - mniej lub bardziej wartościowych, ale każde z nich może dać dobre perspektywy albo pomysły do pracy. W niniejszym artykule przedstawiam pięć najlepszych według mnie miejsc do poszukiwania nowości w świecie Ruby.

Czytaj więcej