Class: Rundoc::CodeCommand::RundocCommand::EnsureLaterRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/rundoc/code_command/rundoc/ensure_later.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user_args:, render_command:, render_result:, io:, contents: nil) ⇒ EnsureLaterRunner

Returns a new instance of EnsureLaterRunner.



32
33
34
35
36
37
# File 'lib/rundoc/code_command/rundoc/ensure_later.rb', line 32

def initialize(user_args:, render_command:, render_result:, io:, contents: nil)
  @io = io
  @contents = contents.dup if contents && !contents.empty?
  @dir = user_args
  @binding = RUNDOC_ERB_BINDINGS[RUNDOC_DEFAULT_ERB_BINDING]
end

Instance Attribute Details

#contentsObject (readonly)

Returns the value of attribute contents.



30
31
32
# File 'lib/rundoc/code_command/rundoc/ensure_later.rb', line 30

def contents
  @contents
end

#ioObject (readonly)

Returns the value of attribute io.



30
31
32
# File 'lib/rundoc/code_command/rundoc/ensure_later.rb', line 30

def io
  @io
end

Instance Method Details

#call(env = {}) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/rundoc/code_command/rundoc/ensure_later.rb', line 43

def call(env = {})
  resolved_dir = @dir.call(context: env[:context])

  io.puts "Registering ensure_later block (dir: #{@dir} => #{resolved_dir})"
  Rundoc.add_ensure_later(dir: resolved_dir, code: @contents, binding: @binding)
  ""
end

#to_md(env = {}) ⇒ Object



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

def to_md(env = {})
  ""
end