class ROCrate::PreviewGenerator

A class to handle generation of an RO-Crate's preview HTML in an IO-like way (to fit into an Entry).

Public Class Methods

new(preview) click to toggle source

@param preview [Preview] The RO-Crate preview object.

# File lib/ro_crate/model/preview_generator.rb, line 9
def initialize(preview)
  @preview = preview
end

Public Instance Methods

crate() click to toggle source
# File lib/ro_crate/model/preview_generator.rb, line 30
def crate
  @preview.crate
end
generate() click to toggle source

Generate the crate's `ro-crate-preview.html`. @return [String] The rendered HTML as a string.

# File lib/ro_crate/model/preview_generator.rb, line 20
def generate
  b = crate.get_binding
  renderer = ERB.new(template)
  renderer.result(b)
end
read(*args) click to toggle source
# File lib/ro_crate/model/preview_generator.rb, line 13
def read(*args)
  io.read(*args)
end
template() click to toggle source
# File lib/ro_crate/model/preview_generator.rb, line 26
def template
  @preview.template || ::File.read(Preview::DEFAULT_TEMPLATE)
end

Private Instance Methods

io() click to toggle source
# File lib/ro_crate/model/preview_generator.rb, line 36
def io
  @io ||= StringIO.new(generate)
end