Module: Asciidoctor::PDF::Optimizer::Factory

Included in:
Asciidoctor::PDF::Optimizer
Defined in:
lib/asciidoctor/pdf/optimizer.rb

Constant Summary collapse

@@registry =
{}

Instance Method Summary collapse

Instance Method Details

#for(name) ⇒ Object



33
34
35
36
37
38
39
40
41
42
# File 'lib/asciidoctor/pdf/optimizer.rb', line 33

def for name
  if (optimizer = @@registry[name]).nil? && name == 'rghost'
    if (::Asciidoctor::Helpers.require_library %(#{__dir__}/optimizer/rghost), 'rghost', :warn).nil?
      @@registry[name] = false
    else
      optimizer = @@registry[name] = Optimizer::RGhost
    end
  end
  optimizer || nil
end

#register(optimizer, name) ⇒ Object



44
45
46
# File 'lib/asciidoctor/pdf/optimizer.rb', line 44

def register optimizer, name
  optimizer ? (@@registry[name] = optimizer) : (@@registry.delete name)
end