Class: Coradoc::AsciiDoc::Model::MediaResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/coradoc/asciidoc/model/resolver.rb

Overview

Resolves media (video/audio) references with configurable strategies.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(strategy: :reference) ⇒ MediaResolver

Create a new MediaResolver.

Parameters:

  • strategy (Symbol) (defaults to: :reference)

    resolution strategy (:reference, :copy)



374
375
376
# File 'lib/coradoc/asciidoc/model/resolver.rb', line 374

def initialize(strategy: :reference)
  @strategy = strategy
end

Instance Attribute Details

#strategySymbol (readonly)

Returns the resolution strategy.

Returns:

  • (Symbol)

    the resolution strategy



368
369
370
# File 'lib/coradoc/asciidoc/model/resolver.rb', line 368

def strategy
  @strategy
end

Instance Method Details

#resolve(media_node, base_dir, output_dir = nil) ⇒ Video, Audio

Resolve a media reference.

Parameters:

  • media_node (Video, Audio)

    the media node

  • base_dir (String)

    base directory for relative paths

  • output_dir (String, nil) (defaults to: nil)

    output directory for :copy mode

Returns:



385
386
387
388
389
390
391
392
393
394
# File 'lib/coradoc/asciidoc/model/resolver.rb', line 385

def resolve(media_node, base_dir, output_dir = nil)
  case strategy
  when :reference
    media_node
  when :copy
    copy_media(media_node, base_dir, output_dir)
  else
    media_node
  end
end