🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#201
Author: Jaroslaw Zabiello
Date: Thu, 14 Sep 2006 08:48
25 lines
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
#202
Author: Andrzej Zawadzki
Date: Thu, 14 Sep 2006 10:40
28 lines
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