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 8
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 17
def call(env = {})
  env[:replace] ||= String.new
  current_path = Pathname.new(env[:document_path]).dirname
  document_path = @path.expand_path(current_path)

  puts "rundoc.require: Start executing #{@path.to_s.inspect}"
  output = Rundoc::Parser.new(document_path.read, document_path: document_path.to_s).to_md
  puts "rundoc.require: Done executing #{@path.to_s.inspect}, putting contents into document"

  env[:replace] << output
  return ""
end
hidden?() click to toggle source
# File lib/rundoc/code_command/rundoc/require.rb, line 30
def hidden?
  true
end
not_hidden?() click to toggle source
# File lib/rundoc/code_command/rundoc/require.rb, line 34
def not_hidden?
  !hidden?
end
to_md(env = {}) click to toggle source
# File lib/rundoc/code_command/rundoc/require.rb, line 13
def to_md(env = {})
  ""
end