Class: Rundoc::CodeCommand::RundocCommand::Require

Inherits:
Rundoc::CodeCommand show all
Defined in:
lib/rundoc/code_command/rundoc/require.rb

Constant Summary

Constants inherited from Rundoc::CodeCommand

NEWLINE

Instance Attribute Summary

Attributes inherited from Rundoc::CodeCommand

#command, #contents, #keyword, #original_args, #render_command, #render_result

Instance Method Summary collapse

Methods inherited from Rundoc::CodeCommand

#push

Constructor Details

#initialize(path) ⇒ Require

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



7
8
9
10
# 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

Instance Method Details

#call(env = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rundoc/code_command/rundoc/require.rb', line 16

def call(env = {})
  env[:replace] ||= +""
  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
  ""
end

#hidden?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/rundoc/code_command/rundoc/require.rb', line 29

def hidden?
  true
end

#not_hidden?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/rundoc/code_command/rundoc/require.rb', line 33

def not_hidden?
  !hidden?
end

#to_md(env = {}) ⇒ Object



12
13
14
# File 'lib/rundoc/code_command/rundoc/require.rb', line 12

def to_md(env = {})
  ""
end