Module: Apress::Documentation::Dsl::Modules
- Included in:
- Storage::Modules
- Defined in:
- lib/apress/documentation/dsl/modules.rb
Instance Method Summary collapse
-
#build(module_slug, fields = {}, &block) ⇒ Object
Protected: Точка входа для построения DS используется через делегацию в модуле Apress::Documentation.
Instance Method Details
#build(module_slug, fields = {}, &block) ⇒ Object
Protected: Точка входа для построения DS используется через делегацию в модуле Apress::Documentation
module_slug - Symbol - слаг модуля fields - Hash(optional, default - {}) - поля для установки в короткой записи
(например, Apress::Documentation.build(:slug, title: 'name'))
&block - Proc(optional) - вызовы DSL методов
Examples
Apress::Documentation.build(:module) do
name 'some module'
description 'tests'
end
Apress::Documentation.build(:module) do
document(:some, title: 'Some doc') do
description 'Тут вставить описание'
publicity 'Публичное'
end
end
28 29 30 31 32 33 34 35 36 |
# File 'lib/apress/documentation/dsl/modules.rb', line 28 def build(module_slug, fields = {}, &block) module_slug = module_slug.to_s document = self[module_slug] document ||= Apress::Documentation::Storage::Document.new(module_slug) Apress::Documentation::Storage::DependencyGraph.instance.add_document(document) self << document document.compile(fields, &block) end |