Ich arbeite derzeit durch das Gregory Brown Ruby Best Practices Buch. Zu Beginn spricht er davon, einige Funktionen von Hilfsmethoden für eine verwandte Klasse auf einige Methoden im Modul umzuformen, und hatte dann das Modul extend self
.Wann ein Modul zu verwenden, und wann eine Klasse
Hatte nicht gesehen, dass vorher, nach einem schnellen Google, herausgefunden, dass extend self
auf einem Modul können Methoden auf dem Modul definiert sehen, was sinnvoll ist.
Nun ist meine Frage, wann würden Sie so etwas tun
module StyleParser
extend self
def process(text)
...
end
def style_tag?(text)
...
end
end
und dann mit
@parser = Prawn::Document::Text::StyleParser
, um es in Tests beziehen sich wie diese etwas dagegen?
class StyleParser
def self.process(text)
...
end
def self.style_tag?(text)
...
end
end
ist es so, dass Sie es als Mixin verwenden können? oder gibt es andere Gründe, die ich nicht sehe?
Genau das, was ich gesucht habe :-) –