Class: Daedalus::DependencyGrapher::SourceFile
- Includes:
- Container
- Defined in:
- lib/daedalus/dependency_grapher.rb
Instance Attribute Summary collapse
-
#dependencies ⇒ Object
readonly
Returns the value of attribute dependencies.
-
#includes ⇒ Object
readonly
Returns the value of attribute includes.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#object_name ⇒ Object
readonly
Returns the value of attribute object_name.
Attributes included from Container
Instance Method Summary collapse
- #collect_dependencies ⇒ Object
- #execute(defines) ⇒ Object
-
#initialize(name, parser) ⇒ SourceFile
constructor
A new instance of SourceFile.
- #print_dependencies(out, max) ⇒ Object
Methods included from Container
Methods inherited from Node
Constructor Details
#initialize(name, parser) ⇒ SourceFile
132 133 134 135 136 137 |
# File 'lib/daedalus/dependency_grapher.rb', line 132 def initialize(name, parser) super parser @name = name @object_name = name.sub(/((c(pp)?)|S)$/, 'o') @includes = [] end |
Instance Attribute Details
#dependencies ⇒ Object (readonly)
Returns the value of attribute dependencies.
130 131 132 |
# File 'lib/daedalus/dependency_grapher.rb', line 130 def dependencies @dependencies end |
#includes ⇒ Object (readonly)
Returns the value of attribute includes.
130 131 132 |
# File 'lib/daedalus/dependency_grapher.rb', line 130 def includes @includes end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
130 131 132 |
# File 'lib/daedalus/dependency_grapher.rb', line 130 def name @name end |
#object_name ⇒ Object (readonly)
Returns the value of attribute object_name.
130 131 132 |
# File 'lib/daedalus/dependency_grapher.rb', line 130 def object_name @object_name end |
Instance Method Details
#collect_dependencies ⇒ Object
143 144 145 146 147 148 149 150 |
# File 'lib/daedalus/dependency_grapher.rb', line 143 def collect_dependencies set = Set.new set << @name @includes.each { |x| x.collect_dependencies(set) } @dependencies = set.to_a.sort end |
#execute(defines) ⇒ Object
139 140 141 |
# File 'lib/daedalus/dependency_grapher.rb', line 139 def execute(defines) execute_body defines, self end |
#print_dependencies(out, max) ⇒ Object
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/daedalus/dependency_grapher.rb', line 152 def print_dependencies(out, max) str = "#{@object_name}:" out.print str width = str.size @dependencies.each do |name| size = name.size + 1 if width + size > max width = 0 out.print " \\\n " end out.print " ", name width += size end out.print "\n" end |