Sha256: 66c00a007d474200dcf3dc7ebf9efc5e5a41dc7eea83d2cd25ba956d6906615b

Contents?: true

Size: 888 Bytes

Versions: 28

Compression:

Stored size: 888 Bytes

Contents

# frozen_string_literal: true
module Asciidoctor
# A module that can be used to mix the {#write} method into a {Converter} implementation to allow the converter to
# control how the output is written to disk.
module Writer
  # Public: Writes the output to the specified target file name or stream.
  #
  # output - The output String to write
  # target - The String file name or stream object to which the output should be written.
  #
  # Returns nothing
  def write output, target
    if target.respond_to? :write
      # ensure there's a trailing newline to be nice to terminals
      target.write output.chomp + LF
    else
      # QUESTION shouldn't we ensure a trailing newline here too?
      ::File.write target, output, mode: FILE_WRITE_MODE
    end
    nil
  end
end

module VoidWriter
  include Writer

  # Public: Does not write output
  def write output, target; end
end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
asciidoctor-2.0.4 lib/asciidoctor/writer.rb
asciidoctor-2.0.3 lib/asciidoctor/writer.rb
asciidoctor-2.0.2 lib/asciidoctor/writer.rb
asciidoctor-2.0.1 lib/asciidoctor/writer.rb
asciidoctor-2.0.0 lib/asciidoctor/writer.rb
asciidoctor-2.0.0.rc.3 lib/asciidoctor/writer.rb
asciidoctor-2.0.0.rc.2 lib/asciidoctor/writer.rb
asciidoctor-2.0.0.rc.1 lib/asciidoctor/writer.rb