Mar 5 2010

Rails Template

Idąc za ciosem postanowiłem wydłubać własny szablonik do startu z aplikacjami. Jest on dostępny na githubie i można śmiało z niego korzystać.
Co robi szablonik?

- inicjuje repozytorium Git, dodaje niektóre miejsca i pliki do ignore’a po czym zatwierdza resztę.

- instaluje platformę testową RSpec, RSpec-Rails, Cucumber, Factory_Girl i Webrat.

- instaluje authologic i declarative_authorization,

- tworzy model do dodawania artykułów oraz cruda do niego.

- tworzy model użytkownika, ról  i sesji

- tworzy widoki dla artykułów, panel logowania i edycja profilu.

- tworzy dwie początkowe role: user i admin.

- nadaje uprawnienia:

- gość może czytać artykuły, założyć konto i się zalogować,

- użytkownik może się wylogować, dodać artykuł, edytować lub usunąć własny artykuł, edytować swój profil,

- admin może wszystko.

Planuję jeszcze nad kilkoma dodatkami, ale nie wiem jeszcze dokładnie co i jak. Muszę to przemyśleć. Jak na razie szablon tworzy to, co w prawie każdej aplikacji istnieje. Modele można rozbudować wg własnych potrzeb ale mamy już dobry punkt początkowy.

Zapraszam do testowania i wyrażania swoich uwag.


Dec 12 2009

Automatyczny start czyli Rails Templates

Jeżeli tworzymy kilka aplikacji w ruby on rails, to przeważnie początkowe etapy są do siebie bardzo podobne. Np. inicjalizacja kontroli wersji (np. w sposób jaki jest opisany w poprzednim artykule), instalacja ulubionych pluginów, usuwanie zbędnych plików, Czy też inne operacje. Na szczeście do pomocy przychodzą nam Templates, które zostały wprowadzone w rails 2.3. Teplate to nic innego niż plik ruby, w którym wpisujemy komendy w przygotowanym do tego języku domenowym (DSL). Po przygotowaniu takiego szablonu inicjujemy projekt rails z parametrem -m ścieżka_do_szablonu.rb. Rails od razu po wykonaniu inicjacji projektu od razu uruchomi podany plik.

rails my_app -m ~/szablon_startowy.rb

tak samo jak URI, możemy uzywać URL:

rails my_app -m http://marioosh.5dots.pl/szablon.txt

(powyższy plik nie istnieje więc nie testujcie ;) )
ostatnim sposobem jest inicjacja szablonu przed odpowiednie zadanie rake z ustawienie zmiennej LOCATION:

rake rails:template LOCATION=~/szablon_startowy.rb

› Continue reading


Dec 11 2009

Objęcie kontrolą wersji Git nowej aplikacji Rails

Za każdym razem, gdy rozpoczynam pracę z projektem, muszę skonfigurować Git, aby repozytorium nie zawierało zbędnych plików.
Cała operacja jest wykonywana w kilku krokach, gdzie pierwszym z nich będzie stworzenie nowej aplikacji rails na naszym komputerze. Następnie musimy zaiinicjować kontrolę wersji.


$ rails my_app
$ cd my_app
$ git init
$ git status
...
# Untracked files:
# (use "git add ..." to include in what will be committed)
#
# README
# Rakefile
# app/
# config/
# db/
# doc/
# log/
# public/
# script/
# test/
› Continue reading


Jul 2 2009

Projekt Euler

Ostatnio szperając po sieci, natrafiłem na ciekawy aczkolwiek nie nowy projekt. Aż dziwne, że nie znalazłem go do tej pory. Projekt Euler bo o nim mowa przedstawia problemy, z którymi musimy się zmierzyć jako programiści. Problemy ułożone na granicy matematyki, kombinatoryki czy tam innej “yki” nie są w możliwe do rozwiązania bez komputera (no chyba, że przez jakiegoś geniusza) Jako programiści mamy zadanie napisać program, który nam to zadanie rozwiąże. Sam projekt nie ocenia jakości naszego kodu bo podajemy tylko wynik i ten jest sprawdzany. Wiadomo jednak, że najlepiej jest się uczyć od innych albo na gotowych zadaniach, więc dla mnie projekt to jest strzał w 10-tkę. Zwłaszcza, że każdy problem (obecnie jest ich ponad 250) ma oddzielny topic na forum i można z innymi programistami podzielić się uwagami i wspólnie zoptymalizować kod, do najkrótszego/najlepszego. Co prawda w javie programuję, już prawie 10 lat, ale akurat zacząłem pisać kod w Ruby’m więc projekt będzie jak znalazł do potrenowania nowych technik.