class Rundoc::CodeCommand::RundocCommand::Require

Public Class Methods

new(path) click to toggle source

Pass in the relative path of another rundoc document in order to run all of it’s commands. Resulting contents will be displayed in current document

# File lib/rundoc/code_command/rundoc/require.rb, line 7
def initialize(path)
  raise "Path must be relative (i.e. start with `.` or `..`. #{path.inspect} does not" unless path.start_with?(".")
  @path = Pathname.new(path)
end

Public Instance Methods

call(env = {}) click to toggle source
# File lib/rundoc/code_command/rundoc/require.rb, line 16
def call(env = {})
  document_path = @path.expand_path(env[:context].source_dir)

  puts "rundoc.require: Start executing #{@path.to_s.inspect}"
  output = Rundoc::Parser.new(
    document_path.read,
    context: env[:context]
  ).to_md

  if render_result?
    puts "rundoc.require: Done executing #{@path.to_s.inspect}, putting contents into document"
    env[:before] << output
  else
    puts "rundoc.require: Done executing #{@path.to_s.inspect}, quietly"
  end

  ""
end
hidden?() click to toggle source
# File lib/rundoc/code_command/rundoc/require.rb, line 35
def hidden?
  !render_result?
end
not_hidden?() click to toggle source
# File lib/rundoc/code_command/rundoc/require.rb, line 39
def not_hidden?
  !hidden?
end
to_md(env = {}) click to toggle source
# File lib/rundoc/code_command/rundoc/require.rb, line 12
def to_md(env = {})
  ""
end