Prośba o wytłumaczenie składni

Witam!

Czy mógłbym poprosić kogoś o łopatologiczne wytłumaczenie składni następującej metody?

def public_path @@public_path ||= self.root ? File.join(self.root, "public") : "public" end
Chodzi dokładnie o operator ||= oraz to co się za nim dzieje.
Niestety w książce takiego operatora nie znalazłem a i w necie ciężko coś znaleźć.

Z góry dziękuję,
pozdrawiam.

[code=Ruby]@public_path ||= cośtam
#można zapisać jako
unless @public_path
@public_path = cośtam
end

#co do drugiej części, jest to inaczej zapisany if
self.root ? File.join(self.root, “public”) : “public”

if self.root?
File.join(self.root, “public”)
else
“public”
end[/code]
Tu masz więcej: http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Operators

def public_path if self.root root = File.join(self.root, "public") else root = "public" end @@public_path = root if @@public_path.nil? end
Coś mniej więcej takiego bez Ruby idiomów. Według mnie wersja, którą podałeś jest trochę nieczytelna, takie na siłę “napiszę to w jednej linii”

Na przyszłość: http://pastie.textmate.org/143799 - więcej idiomów Ruby’ego.

http://radarek.jogger.pl/2007/10/12/idiomatyczny-ruby/