Camino   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 21
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A img_path() 0 3 1
A conocidos() 0 6 1
A name() 0 3 1
A pasos() 0 3 1
1
# frozen_string_literal: true
2
3
# Los caminos de un heroe.
4
class Camino < Array
5
  def name
6
    first
7
  end
8
9
  def pasos
10
    last
11
  end
12
13
  # Es posible que este method sea muy pesado
14
  def conocidos
15
    n = heros.select(&:camino).map do |h| # Filtra los heroes sin camino
16
      h.id if h.camino.first == name      # Asocia el camino con el ID
17
    end
18
    n.compact # descarta los valores nil
19
  end
20
21
  def img_path
22
    "/images/caminos/#{name}.png"
23
  end
24
end
25
26
# YAML DB Loader
27
def caminos
28
  load_yaml('personaje/caminos')
29
end
30
31
def camino(nombre)
32
  caminos.find { |c| c.first == nombre }
33
end
34