Class: Inch::Evaluation::Base

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/inch/evaluation/base.rb

Direct Known Subclasses

ConstantObject, MethodObject, NamespaceObject

Constant Summary collapse

MIN_SCORE =
0
MAX_SCORE =
100
TAGGED_SCORE =

assigned per unconsidered tag

20

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(object) ⇒ Base

Returns a new instance of Base.



15
16
17
18
19
# File 'lib/inch/evaluation/base.rb', line 15

def initialize(object)
  self.object = object
  @roles = []
  evaluate
end

Instance Attribute Details

#max_scoreObject (readonly)

Returns the value of attribute max_score.



13
14
15
# File 'lib/inch/evaluation/base.rb', line 13

def max_score
  @max_score
end

#min_scoreObject (readonly)

Returns the value of attribute min_score.



13
14
15
# File 'lib/inch/evaluation/base.rb', line 13

def min_score
  @min_score
end

#objectObject

Returns the value of attribute object.



12
13
14
# File 'lib/inch/evaluation/base.rb', line 12

def object
  @object
end

Instance Method Details

#evaluateObject



21
22
# File 'lib/inch/evaluation/base.rb', line 21

def evaluate
end

#priorityObject



45
46
47
# File 'lib/inch/evaluation/base.rb', line 45

def priority
  @roles.inject(0) { |sum,r| sum + r.priority.to_i }
end

#rolesObject



49
50
51
# File 'lib/inch/evaluation/base.rb', line 49

def roles
  @roles
end

#scoreObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/inch/evaluation/base.rb', line 34

def score
  value = @roles.inject(0) { |sum,r| sum + r.score.to_f }
  if value < min_score
    min_score
  elsif value > max_score
    max_score
  else
    value
  end
end