Refaktoryzacja w SessionsController

Kilka tygodni temu pracowałam z następującym kodem: class SessionsController < ApplicationController respond_to :json, only: [:create] def create @user = User.find_by(email: user_params[:email]) if @user && @user.authenticate(user_params[:password]) @user.token = Session.create(user: @user).token end respond_to { |format| format.json { render_user } } end private def user_params params.require(:user).permit(:email, :password) end def render_user if @user render json: @user, status: :created else render json: { errors: 'Email or password was invalid' }, status: :unprocessable_entity end end end Kiedy patrzy się na ten kod pierwszy raz prawdopodobnie myśli się że jest OK. Klasa nie jest za długa. Ma tylko 25 linii. Metody są krótkie. Około 5 – 6...

Własne walidatory w Ruby on Rails

Przez kilka ostatnich dni pracowałam z walidatorami w Railsach. Ale zanim opowiem o tym, co zrobiłam kilka słów na temat tego czym są walidatory. Kiedy chcemy sprawdzić czy dane, które otrzymuje nasza aplikacja spełniają pewne założenia, wtedy używamy walidatorów. Przykładowo gdy chcemy sprawdzić: czy dane mają odpowiedni format, czy liczba jest parzysta, lub po prostu czy nazwa jest wymagana dla wszystkich tych przypadków korzystamy właśnie z walidatorów. Railsy mają wbudowane wiele walidatorów. Jeżeli jesteście zainteresowani poznaniem ich to zajrzyjcie do dokumentacji. Czasem jednak to nie wystarcza, potrzeba czegoś więcej. W moim przypadku chciałam sprawdzić, czy konkretne pole tekstowe nie zawiera...

RVM – zarządzanie wersjami Ruby

Wpadł mi do głowy pewien pomysł jak pokazać czym jest RVM. Otóż RVM jest trochę jak dom z kwiatami. Każdy kwiatek potrzebuje osobnego środowiska jeden lubi dużo wody, inny nie przepada za silnym światłem. Jeżeli chcemy by nasze kwiatki ładnie nam rosły to musimy dostosować ten nasz domek do ich potrzeb. W tym właśnie pomaga nam RVM. Każdy projekt pisany w Ruby on Rails potrzebuje osobnego środowiska. RVM pomoże nam rozdzielić środowiska dla poszczególnych projektów bez większych przeszkód.

Wzorzec projektowy – MVC

Jednym z tematów, o którym chciałabym tutaj pisać jest framework Ruby on Rails. Dzisiaj nadeszła pora by zacząć. Ten artykuł będzie na temat jednego z wzorców projektowych zastosowanych w Ruby on Rails. Ten wzorzec to MVC – Model View Controller. Zacznijmy od początku. Co to jest wzorzec projektowy? Hmm… jest on jak dobry przepis na ciasto czekoladowe. Wielu ludzi robi ciasto czekoladowe jedni lepiej, jedni gorzej. Jednak gdy dany przepis jest naprawdę dobry ludzie zaczynają sobie go nawzajem polecać i używać. Tak samo jest z wzorcami projektowymi. Są to pewnego rodzaju dobre praktyki lub rozwiązania jak poradzić sobie z pewnymi...

Rails Girls Silesia 2014

Przeszłam długą drogę od momentu, gdy usłyszałam o warsztatach Rails Girls. Byłam uczestniczką, mentorowałam a teraz po wielu staraniach udało mi się zorganizować warsztaty Rails Girls w Gliwicach. Jestem dumna z całego naszego zespołu. Dzięki ciężkiej pracy wszystkich zaangażowanych osób jedno z moich marzeń spełniło się. Ale zacznijmy od początku… Z inicjatywą Rails Girls zetknęłam się po raz pierwszy w 2013 roku. Planowane były wtedy warsztaty we Wrocławiu. Jednak trochę ze strachu, trochę wątpiąc w swoje umiejętności, nie zgłosiłam się na nie. Jak tylko zamknięto rejestrację bardzo tego żałowałam. Obiecałam sobie, że na następne warsztaty Rails Girls, to już na...

Guake – podręczny terminal

Dziś chciałabym Ci opowiedzieć o pewnym narzędziu, którego używam od wielu lat. W swojej prostocie i użyteczności moim zdaniem jest niezastąpione. Jest to narzędzie Guake. Co to jest Guake? Guake jest wysuwanym z góry ekranu terminalem dostępnym dla systemów Linux z środowiskiem graficznym GNOME. Jeżeli używasz środowiska KDE możesz wypróbować program Yakuake. Jest on podobny do programu Guake. No dobrze ale jeżeli nie wiem czy mój Linux używa środowiska graficznego GNOME? Tego środowiska graficznego używają dystrybucje Linuksa takie jak Fedora, Debian, Ubuntu czy Mint. Jeżeli korzystasz z któregoś z nich, to używasz środowiska graficznego GNOME. Zalety Guake Guake jest prostym...

Triki dla obiektu Hash w Ruby

Dzisiaj chciałabym opowiedzieć Wam trochę o obiekcie Hash i metodach, których często do niego wykorzystuje. Ale zanim o metodach to zacznijmy od tego co to jest właściwie Hash? Hash to bardzo specyficzna tablica. Jako klucz możemy użyć cokolwiek i przyporządkować mu odpowiednią wartość lub wartości. Przykładowo: Jeżeli mamy nasze ulubione książki i chciałybyśmy je uporządkować według ich autorów to jako klucz możemy użyć imię i nazwisko autora a jako wartość jego lub jej książki. hash = { 'Carlos Ruiz Zafon' => ['La Sombra del Viento', 'El Juego del Angel'], 'Antoine de Saint-Exupery' => 'Le Petit Prince' } hash['Carlos Ruiz Zafon']...

Rails Girls Kraków

Rails Girls Kraków

To będzie krótki wpis. Jakiś czas temu byłam mentorem na Rails Girls Kraków. Tym razem warsztaty wyglądały nieco inaczej – były przeznaczone dla dziewczyn bardzo młodych (13 – 18 lat) ale z ogromną motywacją. Miałam przyjemność uczyć wspaniałe dziewczyny z niesamowicie dużą ilością pozytywnej energii. Przez całe warsztaty wspierały mnie i świetnie się je uczyło. Oto kilka wniosków: