135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
# File 'lib/generators/saikuro.rb', line 135
def merge_classes
new_elements = []
get_class_names.each do |target_class|
elements = @elements.find_all {|el| el.name == target_class }
complexity = 0
lines = 0
defns = []
elements.each do |el|
complexity += el.complexity.to_i
lines += el.lines.to_i
defns << el.defs
end
new_element = {:class_name => target_class,
:complexity => complexity,
:lines => lines,
:methods => defns.flatten.map {|d| d.to_h}}
new_element[:methods] = new_element[:methods].
sort_by {|x| x[:complexity] }.
reverse
new_elements << new_element
end
@elements = new_elements if new_elements
end
|