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.
75
76
77
78
79
|
# File 'lib/autoc/code.rb', line 75
def initialize(name)
@entities = Set.new
@source_size_threshold = 0
@name = name.to_s end
|
Instance Attribute Details
Returns the value of attribute header.
73
74
75
|
# File 'lib/autoc/code.rb', line 73
def
@header
end
|
#main_source ⇒ Object
Returns the value of attribute main_source.
73
74
75
|
# File 'lib/autoc/code.rb', line 73
def main_source
@main_source
end
|
#name ⇒ Object
Returns the value of attribute name.
73
74
75
|
# File 'lib/autoc/code.rb', line 73
def name
@name
end
|
#smallest_source ⇒ Object
Returns the value of attribute smallest_source.
73
74
75
|
# File 'lib/autoc/code.rb', line 73
def smallest_source
@smallest_source
end
|
Class Method Details
.generate!(name, &block) ⇒ Object
67
68
69
70
71
|
# File 'lib/autoc/code.rb', line 67
def self.generate!(name, &block)
m = self.new(name)
block.call(m)
m.generate!
end
|
Instance Method Details
#<<(obj) ⇒ Object
81
82
83
84
|
# File 'lib/autoc/code.rb', line 81
def <<(obj)
obj.entities.each {|e| self << e} unless @entities.add?(obj).nil?
self
end
|
#generate! ⇒ Object
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# File 'lib/autoc/code.rb', line 98
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
|
86
87
88
|
# File 'lib/autoc/code.rb', line 86
def
Header.new(self)
end
|
#new_source(index) ⇒ Object
90
91
92
|
# File 'lib/autoc/code.rb', line 90
def new_source(index)
Source.new(self, index)
end
|
#source_count ⇒ Object
115
116
117
118
119
120
121
122
123
124
|
# File 'lib/autoc/code.rb', line 115
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
94
95
96
|
# File 'lib/autoc/code.rb', line 94
def source_count=(count)
@source_count = count
end
|