class Smogon::Type::Pokemon

Constants

ATTRIBUTES
STATS
TYPE

Public Class Methods

id2name(id) click to toggle source
# File lib/smogon/types/pokemon.rb, line 53
def self.id2name(id)
  response = open("http://pokeapi.co/api/v2/pokemon/#{id}")
  JSON.parse(response.read)['name']
end
new(response = nil, moves = nil) click to toggle source
# File lib/smogon/types/pokemon.rb, line 32
def initialize(response = nil, moves = nil)
  return unless response

  @name       = response['name']
  @evolutions = response['evos']
  @genfamily  = response['genfamily']

  if moves.include?('Hidden Power Fire')
    moves.delete_if { |move| move.start_with?('Hidden Power ') }
    moves << 'Hidden Power'
  end
  @moves = moves.uniq

  alts = response['alts'][0]
  @base_stats = alts.fetch_values(*STATS)
  @weight     = alts['weight']
  @height     = alts['height']
  @types      = alts['types']
  @abilities  = alts['abilities']
end