Я пытаюсь написать DSL для программы Ruby. В настоящее время он работает как этотРубин: Видимость методов DSL?
generator.format
title "Text"
author "John Doe"
body "Text"
end
generator.generate!
Что видимость я должен дать методы, которые вызываются внутри generator.format
? В настоящее время я рассматриваю каждый из методов форматирования как protected
, но когда я их тестирую, я должен обернуть каждый вызов в instance_eval
, чтобы получить к ним доступ. Какую видимость я должен объявить своими методами DSL?
Я просто не сформулировал это достаточно ясно в вопросе, но я спрашивал, есть ли альтернативный способ, кроме использования 'instance_eval' или' instance_exec', но вы отвечаете на него. Так что спасибо! – agentbanks217