Module: Valanga::MusicAttribute::Transformable

Defined in:
lib/valanga/music_attribute.rb

Constant Summary collapse

IMAGE_TEXT =
{
  "/game/reflec/groovin/p/images/music/rank/syousai_1.png" => "B",
  "/game/reflec/groovin/p/images/music/rank/syousai_2.png" => "A",
  "/game/reflec/groovin/p/images/music/rank/syousai_3.png" => "AA",
  "/game/reflec/groovin/p/images/music/rank/syousai_4.png" => "AAA",
  "/game/reflec/groovin/p/images/music/rank/syousai_5.png" => "AAA+",
  "../images/music/fullcombo_img1.gif"                     => "full_combo",
  "../images/music/fullcombo_img2.gif"                     => "all_just_reflec_full_combo",
  "../images/music/d_clear_typ_0.gif"                      => "clear",
  "../images/music/d_clear_typ_1.gif"                      => "hard_clear",
  "../images/music/d_clear_typ_2.gif"                      => "super_hard_clear",
}

Instance Method Summary collapse

Instance Method Details

#achievement_rateObject



53
54
55
# File 'lib/valanga/music_attribute.rb', line 53

def achievement_rate
  self['achievement_rate'].sub('%', '').to_f
end

#clearObject



65
66
67
68
69
70
71
72
73
74
75
# File 'lib/valanga/music_attribute.rb', line 65

def clear
  text = IMAGE_TEXT.fetch(self['clear'], self['clear'])

  if text == '-'
    nil
  elsif text
    text
  else achievement_rate && achievement_rate >= 70.0
    'clear'
  end
end

#full_comboObject



77
78
79
80
81
82
83
84
85
86
87
# File 'lib/valanga/music_attribute.rb', line 77

def full_combo
  text = IMAGE_TEXT.fetch(self['full_combo'], self['full_combo'])

  if text == '-'
    nil
  elsif text
    text
  else play_count > 0 && miss_count && miss_count.zero?
    'full_combo'
  end
end

#miss_countObject



57
58
59
# File 'lib/valanga/music_attribute.rb', line 57

def miss_count
  self['miss_count'] == '-' ? nil : self['miss_count'].to_i
end

#play_countObject



61
62
63
# File 'lib/valanga/music_attribute.rb', line 61

def play_count
  self['play_count'].to_i
end

#rankObject



44
45
46
47
# File 'lib/valanga/music_attribute.rb', line 44

def rank
  text = IMAGE_TEXT.fetch(self['rank'], self['rank'])
  text == '-' ? nil : text
end

#scoreObject



49
50
51
# File 'lib/valanga/music_attribute.rb', line 49

def score
  self['score'].to_i
end