class Pokemon::Damage
Attributes
name[R]
Public Class Methods
all()
click to toggle source
# File lib/pokemonit.rb, line 11 def self.all data = [] Unirest.get("http://pokeapi.co/api/v2/pokemon/?limit=151").body["results"].map {|pokemon| data << Damage.new(pokemon)} data.map {|pokemon| pokemon.name} end
name(name)
click to toggle source
# File lib/pokemonit.rb, line 17 def self.name(name) data = [] Unirest.get("http://pokeapi.co/api/v2/pokemon/?limit=151").body["results"].map {|pokemon| data << Damage.new(pokemon)} pokemon_names = data.map {|pokemon| pokemon.name} pokemon_index = pokemon_names.index(name) + 1 pokemon_object = self.get_pokemon(pokemon_index) types = self.get_types(pokemon_object) dmg_arr = [] types.each {|type_obj| dmg_arr << self.get_dmg(type_obj)} dmg_arr.unshift(pokemon_names.first) end
new(options)
click to toggle source
# File lib/pokemonit.rb, line 7 def initialize(options) @name = options[:name] end
Private Class Methods
get_dmg(type_obj)
click to toggle source
# File lib/pokemonit.rb, line 40 def self.get_dmg(type_obj) all_dmg = { no_damage_to: [], no_damage_from: [], half_damage_to: [], half_damage_from: [], double_damage_to: [], double_damage_from: [] } type_data = Unirest.get("#{type_obj['url']}").body all_dmg.keys.each {|key| type_data["damage_relations"][key.to_s].each do |dmg_amount| all_dmg[key] << dmg_amount["name"] end } all_dmg[:type_name] = type_data["name"] all_dmg end
get_pokemon(pokemon_index)
click to toggle source
# File lib/pokemonit.rb, line 30 def self.get_pokemon(pokemon_index) Unirest.get("http://pokeapi.co/api/v2/pokemon/#{pokemon_index}").body end
get_types(pokemon)
click to toggle source
# File lib/pokemonit.rb, line 34 def self.get_types(pokemon) types = [] pokemon["types"].each {|type_obj| types << type_obj["type"]} types end