Class: FunctionNode
Instance Attribute Summary collapse
Attributes inherited from BaseNode
#level, #location, #name
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from BaseNode
#complexity_share, #complexity_smells, #file?, #folder?, #path, #private?, #quality, #smells, #tangle_share, #tangle_smells
Constructor Details
#initialize(name, location, visibility, level) ⇒ FunctionNode
Returns a new instance of FunctionNode.
6
7
8
9
10
11
12
|
# File 'lib/model/function_node.rb', line 6
def initialize(name, location, visibility, level)
super name, location, visibility, level
@cnodes = 0
@cedges = 0
@size = 0
@tolerance = 30
end
|
Instance Attribute Details
#size ⇒ Object
Returns the value of attribute size.
4
5
6
|
# File 'lib/model/function_node.rb', line 4
def size
@size
end
|
Class Method Details
.create_private(name, location, level) ⇒ Object
46
47
48
|
# File 'lib/model/function_node.rb', line 46
def self.create_private(name, location, level)
self.new name, location, :private, level
end
|
.create_public(name, location, level) ⇒ Object
42
43
44
|
# File 'lib/model/function_node.rb', line 42
def self.create_public(name, location, level)
self.new name, location, :public, level
end
|
Instance Method Details
#complexity ⇒ Object
34
35
36
|
# File 'lib/model/function_node.rb', line 34
def complexity
@cedges - @cnodes + 2
end
|
#function? ⇒ Boolean
14
15
16
|
# File 'lib/model/function_node.rb', line 14
def function?
true
end
|
#functions ⇒ Object
38
39
40
|
# File 'lib/model/function_node.rb', line 38
def functions
[name]
end
|
#increase_edges ⇒ Object
18
19
20
|
# File 'lib/model/function_node.rb', line 18
def increase_edges
@cedges += 1
end
|
#increase_nodes ⇒ Object
30
31
32
|
# File 'lib/model/function_node.rb', line 30
def increase_nodes
@cnodes += 1
end
|
#increase_size ⇒ Object
22
23
24
|
# File 'lib/model/function_node.rb', line 22
def increase_size
@size += 1
end
|
#pot_smell ⇒ Object
26
27
28
|
# File 'lib/model/function_node.rb', line 26
def pot_smell
@size
end
|