class Gem::Comparator::Report::NestedSection
Constants
- DEFAULT_INDENT
Attributes
header[R]
level[R]
messages[R]
name[RW]
parent_section[R]
sections[RW]
Public Class Methods
new(name, parent_section = nil)
click to toggle source
# File lib/rubygems/comparator/report.rb, line 48 def initialize(name, parent_section = nil) @name = name @header = Entry.new @messages = [] @sections = [] @level = 0 set_parent parent_section if parent_section end
Public Instance Methods
all_messages()
click to toggle source
# File lib/rubygems/comparator/report.rb, line 88 def all_messages indent = DEFAULT_INDENT*@level if @header.empty? @messages.map do |m| m.set_indent!(indent) end + nested_messages else nested = @messages.map do |m| m.set_indent!(indent * 2) end + nested_messages return [] if nested.empty? @header.set_indent!(indent) nested.unshift(@header) end end
lines(line_num)
click to toggle source
# File lib/rubygems/comparator/report.rb, line 106 def lines(line_num) all_messages[line_num].data end
nest(name)
click to toggle source
# File lib/rubygems/comparator/report.rb, line 76 def nest(name) @sections.each do |s| return s if s.name == name end NestedSection.new(name, self) end
Also aliased as: []
nested_messages()
click to toggle source
# File lib/rubygems/comparator/report.rb, line 110 def nested_messages nested_messages = [] @sections.each do |section| section.all_messages.each do |m| nested_messages << m end end nested_messages end
print()
click to toggle source
# File lib/rubygems/comparator/report.rb, line 84 def print all_messages.each { |m| m.print } end
puts(message)
click to toggle source
# File lib/rubygems/comparator/report.rb, line 66 def puts(message) case message when String, Array @messages << Entry.new(message) unless message.empty? else @messages << Entry.new(message) unless message end end
Also aliased as: <<
section(&block)
click to toggle source
# File lib/rubygems/comparator/report.rb, line 58 def section(&block) instance_eval &block end
set_header(message)
click to toggle source
# File lib/rubygems/comparator/report.rb, line 62 def set_header(message) @header = Entry.new(message) end
Private Instance Methods
set_parent(parent)
click to toggle source
# File lib/rubygems/comparator/report.rb, line 122 def set_parent(parent) parent.sections << self @level = parent.level + 1 parent_section = parent end