Внес небольшие изменения в RDot.
Раньше классы в которых не было объявлено ни одного метода обрабатывались как предзагруженные. Что, в общем-то, неправильно — вполне нормально создание классов без (пере-)определения методов, но с установкой каких-то параметров... Например, такое:
class Root class << self def process(str) str.gsub(@pattern, @template) end def pattern(regexp) @pattern = regexp end def template(str) @template = str end private :pattern, :template end end class Alpha < Root pattern /[aA]/ template 'α' end class Beta < Root pattern /[bB]/ template 'β' end
Зачем это делать именно отдельными классами, а не, скажем, посредством экземпляров — вопрос отдельный, но вообще вполне юзабельная возможность для всяких DSL. Теперь классы Alpha и Beta попадут в rdot-схему.
Комментариев нет:
Отправить комментарий