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
28
29
30
31
32
33
# 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?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/rundoc/code_command/rundoc/require.rb', line 35

def hidden?
  !render_result?
end

#not_hidden?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/rundoc/code_command/rundoc/require.rb', line 39

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