class PokeAPI::Parser::EvolutionDetails

Public Class Methods

new(data) click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 9
def initialize(data)
  @data = data.clone
  @item = @data.delete :item
  @trigger = @data.delete :trigger
  @held_item = @data.delete :held_item
  @location = @data.delete :location
end
parse(data) click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 4
def self.parse(data)
  return if data.nil?
  new(data).parse
end

Public Instance Methods

parse() click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 17
def parse
  {
    item: item,
    trigger: trigger,
    held_item: held_item,
    gender: @data[:gender],
    known_move: known_move,
    known_move_type: known_move_type,
    location: location,
    min_level: @data[:min_level],
    min_happiness: @data[:min_happiness],
    min_beauty: @data[:min_beauty],
    min_affection: @data[:min_affection],
    needs_overworld_rain: @data[:needs_overworld_rain],
    party_species: @data[:party_species],
    party_type: @data[:party_type],
    relative_physical_stats: @data[:relative_physical_stats],
    time_of_day: time_of_day,
    trade_species: @data[:trade_species],
    turn_upside_down: @data[:turn_upside_down],
  }
end

Private Instance Methods

held_item() click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 62
def held_item
  @held_item && @held_item[:name]
end
item() click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 54
def item
  @item && @item[:name]
end
known_move() click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 42
def known_move
  @data[:known_move] && @data[:known_move][:name]
end
known_move_type() click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 46
def known_move_type
  @data[:known_move_type] && @data[:known_move_type][:name]
end
location() click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 66
def location
  @location && @location[:name]
end
time_of_day() click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 50
def time_of_day
  @data[:time_of_day].empty? ? nil : @data[:time_of_day]
end
trigger() click to toggle source
# File lib/pokeapi/parser/evolution_details.rb, line 58
def trigger
  @trigger && @trigger[:name]
end