Thread View: pl.comp.lang.ruby
2 messages
2 total messages
Started by Jaroslaw Zabiello
Thu, 14 Sep 2006 08:48
Domieszkowanie klasy metodami klasowymi
Author: Jaroslaw Zabiello
Date: Thu, 14 Sep 2006 08:48
Date: Thu, 14 Sep 2006 08:48
25 lines
1609 bytes
1609 bytes
Mam sytuację gdzie wiele aplikacji RoR chce korzystać ze wspólnego modelu obiektowego bazy. Stąd naturalnym wydaje mi się wynieść rdzeń modeli do zewnętrznego modułu i tylko domieszkować odpowiednie klasy w poszczególnych aplikacjach RoR w razie takiej potrzeby. Problem w tym, że include nie wciąga metod klasowych, tzn. chcę aby metoda "akuku" stala sie czescia klasy Klasa: module Shared def self.akuku end end class Klasa # co tu wpisac? include Shared wciaga tylko metody instancji end Próbuję to zrobić za pomocą extend ale nie wiem jak tego użyć w tym wypadku (aby też było najprościej). Jedyny przykład jaki znalazłem w PixAxe2 jest bez sensu, bo tam dodają metodę do instancji a nie do samej klasy. Nie mogę też zrobić Klasa.extend(Shared) bo to nie działa. -- Jarosław Zabiełło http://blog.zabiello.com
Re: Domieszkowanie klasy metodami klasowymi
Author: Andrzej Zawadzki
Date: Thu, 14 Sep 2006 10:40
Date: Thu, 14 Sep 2006 10:40
28 lines
1225 bytes
1225 bytes
> module Shared > def self.akuku > end > end > > class Klasa > # co tu wpisac? include Shared wciaga tylko metody instancji > end > Próbuję to zrobić za pomocą extend ale nie wiem jak tego użyć w tym > wypadku (aby też było najprościej). module A def foo_a end end module B def foo_b end end class C include A extend B end Teraz foo_a jest metoda instancji, a foo_b metoda klasy.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads