Module: Apress::Documentation::Dsl::Modules

Included in:
Storage::Modules
Defined in:
lib/apress/documentation/dsl/modules.rb

Instance Method Summary collapse

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