Pet   A
last analyzed

Complexity

Total Complexity 14

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 51
rs 10
c 0
b 0
f 0
wmc 14

10 Methods

Rating   Name   Duplication   Size   Complexity  
A sex() 0 3 1
A initialize() 0 5 1
A bono() 0 3 1
A bicho() 0 3 1
A personajes() 0 7 2
A img_path() 0 3 1
A lacra() 0 3 1
A aumento() 0 3 1
A nombre() 0 4 3
A descripcion() 0 4 2
1
# frozen_string_literal: true
2
3
# Clase para gestionar las minimascotas familiares del heroe.
4
class Pet < Hash
5
  attr_accessor :id, :name, :torpe, :sabio
6
7
  def initialize(args)
8
    args.each do |k, v|
9
      instance_variable_set("@#{k}".to_sym, v) unless v.nil?
10
    end
11
  end
12
13
  def personajes
14
    if pet(id)['personajes'] == 'todos'
15
      %w[enano elfo bárbaro mago]
16
    else
17
      pet(id)['personajes']
18
    end
19
  end
20
21
  def lacra
22
    pet(id)['lacra']
23
  end
24
25
  def bono
26
    pet(id)['bono']
27
  end
28
29
  def aumento
30
    pet(id)['aumento']
31
  end
32
33
  def sex
34
    pet(id)['sex']
35
  end
36
37
  def bicho
38
    pet(id)['name']
39
  end
40
41
  def img_path
42
    "/images/pets/#{bicho}.png"
43
  end
44
45
  def nombre
46
    articulo = sex ? 'la' : 'el'
47
    "#{name.capitalize}, #{articulo} #{bicho.capitalize} #{'torpe' if torpe}"
48
  end
49
50
  def descripcion
51
    toprpeza = "<br><b>Penalizador: </b><i>#{lacra}</i>" if torpe
52
    "<b>Bonificador</b>: <i>#{bono}</i>#{toprpeza}"
53
  end
54
end
55