class PokeAPI::Parser::EvolutionChain
Public Class Methods
new(data)
click to toggle source
# File lib/pokeapi/parser/evolution_chain.rb, line 8 def initialize(data) @data = data.clone @chain = data.delete :chain end
parse(data)
click to toggle source
# File lib/pokeapi/parser/evolution_chain.rb, line 4 def self.parse(data) new(data).parse end
Public Instance Methods
parse()
click to toggle source
# File lib/pokeapi/parser/evolution_chain.rb, line 13 def parse { id: @data[:id], chain: parse_chain(@chain), } end
Private Instance Methods
parse_chain(chain)
click to toggle source
# File lib/pokeapi/parser/evolution_chain.rb, line 22 def parse_chain(chain) { name: chain[:species][:name], evolution_details: EvolutionDetails.parse(chain[:evolution_details].first), evolves_to: chain[:evolves_to].map { |evolution_chain| parse_chain(evolution_chain) }, } end