Class: Tap::Support::Lazydoc::Definition

Inherits:
Comment show all
Defined in:
lib/tap/support/lazydoc/definition.rb

Instance Attribute Summary collapse

Attributes inherited from Comment

#content, #line_number, #subject

Instance Method Summary collapse

Methods inherited from Comment

#<<, #==, #append, #empty?, #initialize, parse, #prepend, #push, #resolve, scan, #trim, #unshift, #value, #value=, wrap, #wrap

Constructor Details

This class inherits a constructor from Tap::Support::Lazydoc::Comment

Instance Attribute Details

#subclassObject

Returns the value of attribute subclass.



5
6
7
# File 'lib/tap/support/lazydoc/definition.rb', line 5

def subclass
  @subclass
end

Instance Method Details

#configurations(fragment_sep = " ", line_sep = "\n", strip = true) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/tap/support/lazydoc/definition.rb', line 7

def configurations(fragment_sep=" ", line_sep="\n", strip=true)
  lines = []
  subclass.configurations.each do |receiver, key, config|
    desc = config.desc
    case desc
    when Definition
      lines << "# #{desc.subclass}"
      lines.concat desc.original_to_s(fragment_sep, nil, strip).collect {|line| "# #{line}"}
      lines << "#{key}:"
      lines.concat desc.configurations(fragment_sep).collect {|line| "  #{line}"}
    else 
      lines << "# #{desc}"
      lines << "#{key}: #{config.default}"
      lines << ""
    end
  end
  
  lines
end

#original_to_sObject



27
# File 'lib/tap/support/lazydoc/definition.rb', line 27

alias original_to_s to_s

#to_s(fragment_sep = " ", line_sep = "\n", strip = true) ⇒ Object



29
30
31
32
# File 'lib/tap/support/lazydoc/definition.rb', line 29

def to_s(fragment_sep=" ", line_sep="\n", strip=true)
  lines = [original_to_s(fragment_sep, line_sep, strip)] + configurations(fragment_sep)
  line_sep ? lines.join(line_sep) : lines
end