Class: Textus::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/builder.rb,
lib/textus/builder/pipeline.rb,
lib/textus/builder/renderer.rb,
lib/textus/builder/renderer/json.rb,
lib/textus/builder/renderer/text.rb,
lib/textus/builder/renderer/yaml.rb,
lib/textus/builder/renderer/markdown.rb

Defined Under Namespace

Modules: InjectMeta, Pipeline Classes: Renderer

Instance Method Summary collapse

Constructor Details

#initialize(store) ⇒ Builder

Returns a new instance of Builder.



5
6
7
8
9
# File 'lib/textus/builder.rb', line 5

def initialize(store)
  @store = store
  @manifest = store.manifest
  @root = store.root
end

Instance Method Details

#build(prefix: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/textus/builder.rb', line 11

def build(prefix: nil)
  built = []
  @manifest.entries.each do |mentry|
    next unless derived_zone?(mentry)
    next unless mentry.projection || mentry.template
    next if prefix && !mentry.key.start_with?(prefix)

    result = materialize(mentry)
    built << result
  end
  published_leaves = publish_leaves(prefix: prefix)
  { "protocol" => Textus::PROTOCOL, "built" => built, "published_leaves" => published_leaves }
end