Class: Gem::Comparator::Report::NestedSection
- Inherits:
-
Object
- Object
- Gem::Comparator::Report::NestedSection
- Includes:
- Signs, UserInteraction
- Defined in:
- lib/rubygems/comparator/report.rb
Constant Summary collapse
- DEFAULT_INDENT =
' '
Instance Attribute Summary collapse
-
#header ⇒ Object
readonly
Returns the value of attribute header.
-
#level ⇒ Object
readonly
Returns the value of attribute level.
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
-
#name ⇒ Object
Returns the value of attribute name.
-
#parent_section ⇒ Object
readonly
Returns the value of attribute parent_section.
-
#sections ⇒ Object
Returns the value of attribute sections.
Instance Method Summary collapse
- #all_messages ⇒ Object
-
#initialize(name, parent_section = nil) ⇒ NestedSection
constructor
A new instance of NestedSection.
- #lines(line_num) ⇒ Object
- #nest(name) ⇒ Object (also: #[])
- #nested_messages ⇒ Object
- #print ⇒ Object
- #puts(message) ⇒ Object (also: #<<)
- #section(&block) ⇒ Object
- #set_header(message) ⇒ Object
Methods included from Signs
Constructor Details
#initialize(name, parent_section = nil) ⇒ NestedSection
Returns a new instance of NestedSection.
48 49 50 51 52 53 54 55 56 |
# 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 |
Instance Attribute Details
#header ⇒ Object (readonly)
Returns the value of attribute header.
45 46 47 |
# File 'lib/rubygems/comparator/report.rb', line 45 def header @header end |
#level ⇒ Object (readonly)
Returns the value of attribute level.
45 46 47 |
# File 'lib/rubygems/comparator/report.rb', line 45 def level @level end |
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
45 46 47 |
# File 'lib/rubygems/comparator/report.rb', line 45 def @messages end |
#name ⇒ Object
Returns the value of attribute name.
46 47 48 |
# File 'lib/rubygems/comparator/report.rb', line 46 def name @name end |
#parent_section ⇒ Object (readonly)
Returns the value of attribute parent_section.
45 46 47 |
# File 'lib/rubygems/comparator/report.rb', line 45 def parent_section @parent_section end |
#sections ⇒ Object
Returns the value of attribute sections.
46 47 48 |
# File 'lib/rubygems/comparator/report.rb', line 46 def sections @sections end |
Instance Method Details
#all_messages ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/rubygems/comparator/report.rb', line 88 def indent = DEFAULT_INDENT*@level if @header.empty? @messages.map do |m| m.set_indent!(indent) end + else nested = @messages.map do |m| m.set_indent!(indent * 2) end + return [] if nested.empty? @header.set_indent!(indent) nested.unshift(@header) end end |
#lines(line_num) ⇒ Object
106 107 108 |
# File 'lib/rubygems/comparator/report.rb', line 106 def lines(line_num) [line_num]&.data end |
#nest(name) ⇒ Object Also known as: []
76 77 78 79 80 81 |
# 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 |
#nested_messages ⇒ Object
110 111 112 113 114 115 116 117 118 |
# File 'lib/rubygems/comparator/report.rb', line 110 def = [] @sections.each do |section| section..each do |m| << m end end end |
#print ⇒ Object
84 85 86 |
# File 'lib/rubygems/comparator/report.rb', line 84 def print .each { |m| m.print } end |
#puts(message) ⇒ Object Also known as: <<
66 67 68 69 70 71 72 73 |
# File 'lib/rubygems/comparator/report.rb', line 66 def puts() case when String, Array @messages << Entry.new() unless .empty? else @messages << Entry.new() unless end end |
#section(&block) ⇒ Object
58 59 60 |
# File 'lib/rubygems/comparator/report.rb', line 58 def section(&block) instance_eval(&block) end |