Camino.conocidos()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
dl 0
loc 6
rs 10
c 0
b 0
f 0
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