Class: Textus::Protocol::Manifest::Entry::Publish::SubtreeMirror

Inherits:
Object
  • Object
show all
Defined in:
lib/textus/protocol/manifest/entry/publish.rb

Instance Method Summary collapse

Constructor Details

#initialize(entry, pctx, publisher: Textus::Infra::Port::Publisher.new) ⇒ SubtreeMirror

Returns a new instance of SubtreeMirror.



163
164
165
166
167
# File 'lib/textus/protocol/manifest/entry/publish.rb', line 163

def initialize(entry, pctx, publisher: Textus::Infra::Port::Publisher.new)
  @entry     = entry
  @pctx      = pctx
  @publisher = publisher
end

Instance Method Details

#mirror(walk_root:, target_dir:, key:, envelope:) ⇒ Object



169
170
171
172
173
174
# File 'lib/textus/protocol/manifest/entry/publish.rb', line 169

def mirror(walk_root:, target_dir:, key:, envelope:)
  return { written: [], pruned: [] } unless File.directory?(walk_root)

  written = publish_files(walk_root: walk_root, target_dir: target_dir, key: key, envelope: envelope)
  { written: written, pruned: prune(target_dir, written) }
end