Class: AutoC::Module
- Inherits:
-
Object
show all
- Defined in:
- lib/autoc/code.rb
Defined Under Namespace
Classes: File, Header, Source
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(name) ⇒ Module
Returns a new instance of Module.
66
67
68
69
70
|
# File 'lib/autoc/code.rb', line 66
def initialize(name)
@entities = Set.new
@source_size_threshold = 0
@name = name.to_s end
|
Instance Attribute Details
Returns the value of attribute header.
64
65
66
|
# File 'lib/autoc/code.rb', line 64
def
@header
end
|
#main_source ⇒ Object
Returns the value of attribute main_source.
64
65
66
|
# File 'lib/autoc/code.rb', line 64
def main_source
@main_source
end
|
#name ⇒ Object
Returns the value of attribute name.
64
65
66
|
# File 'lib/autoc/code.rb', line 64
def name
@name
end
|
#smallest_source ⇒ Object
Returns the value of attribute smallest_source.
64
65
66
|
# File 'lib/autoc/code.rb', line 64
def smallest_source
@smallest_source
end
|
Class Method Details
.generate!(name, &block) ⇒ Object
58
59
60
61
62
|
# File 'lib/autoc/code.rb', line 58
def self.generate!(name, &block)
m = self.new(name)
block.call(m)
m.generate!
end
|
Instance Method Details
#<<(obj) ⇒ Object
72
73
74
75
76
77
78
|
# File 'lib/autoc/code.rb', line 72
def <<(obj)
unless @entities.include?(obj)
@entities << obj
obj.entities.each {|e| self << e}
end
self
end
|
#generate! ⇒ Object
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# File 'lib/autoc/code.rb', line 92
def generate!
@header =
@sources = []
(1..source_count).each {|i| @sources << new_source(i)}
@main_source = @sources.first
@smallest_source = @main_source
refresh_smallest_source = source_count > 1
@entities.each do |e|
@header << e
@smallest_source = @sources.sort_by {|s| s.size}.first if refresh_smallest_source
@sources.each {|s| e.attach(s)}
end
@header.generate
@sources.each {|s| s.generate}
end
|
80
81
82
|
# File 'lib/autoc/code.rb', line 80
def
Header.new(self)
end
|
#new_source(index) ⇒ Object
84
85
86
|
# File 'lib/autoc/code.rb', line 84
def new_source(index)
Source.new(self, index)
end
|
#source_count ⇒ Object
109
110
111
112
113
114
115
116
117
118
|
# File 'lib/autoc/code.rb', line 109
def source_count
if @source_count.nil?
total = 0
@entities.each {|e| total += e.source_size}
count = @source_size_threshold > 0 ? (total/@source_size_threshold + 1) : 1
@source_count = count > 0 ? count : 1
else
@source_count
end
end
|
#source_count=(count) ⇒ Object
88
89
90
|
# File 'lib/autoc/code.rb', line 88
def source_count=(count)
@source_count = count
end
|