Class: Asciidoctor::Diagram::Extensions::FileSource

Inherits:
BasicSource
  • Object
show all
Defined in:
lib/asciidoctor-diagram/extensions.rb

Overview

A diagram source that retrieves the code for a diagram from an external source file.

Instance Attribute Summary

Attributes inherited from BasicSource

#attributes

Instance Method Summary collapse

Methods inherited from BasicSource

#checksum, #compute_checksum, #create_image_metadata

Methods included from DiagramSource

#create_image_metadata, #to_s

Constructor Details

#initialize(file_name, attributes) ⇒ FileSource

Returns a new instance of FileSource.



351
352
353
354
# File 'lib/asciidoctor-diagram/extensions.rb', line 351

def initialize(file_name, attributes)
  super(attributes)
  @file_name = file_name
end

Instance Method Details

#codeObject



368
369
370
371
372
# File 'lib/asciidoctor-diagram/extensions.rb', line 368

def code
  lines = File.readlines(@file_name)
  lines = ::Asciidoctor::Helpers.normalize_lines(lines)
  @code ||= lines.join("\n")
end

#image_nameObject



356
357
358
359
360
361
362
# File 'lib/asciidoctor-diagram/extensions.rb', line 356

def image_name
  if @attributes['target']
    super
  else
    File.basename(@file_name, File.extname(@file_name))
  end
end

#should_process?(image_file, image_metadata) ⇒ Boolean

Returns:

  • (Boolean)


364
365
366
# File 'lib/asciidoctor-diagram/extensions.rb', line 364

def should_process?(image_file, )
  File.mtime(@file_name) > File.mtime(image_file) || super
end