module PokeApi
Main module for gem operation
Constants
- VERSION
Public Class Methods
get(unnamed_resource = nil, **endpoint_opts)
click to toggle source
# File lib/poke-api-v2.rb, line 6 def get(unnamed_resource = nil, **endpoint_opts) endpoints = sanitize_endpoints(unnamed_resource, endpoint_opts) endpoints.map do |key, value| klass = value.class == Hash ? ApiResourceList : ENDPOINT_OBJECTS[key] klass.new(Fetcher.call(key, value)) end.first end
pokedex(query = nil)
click to toggle source
# File lib/poke-api-v2.rb, line 14 def pokedex(query = nil) query ||= (rand(POKEMON_COUNT) + 1) get(pokemon: query) end
Private Class Methods
sanitize_endpoints(unnamed_resource, endpoint_opts)
click to toggle source
# File lib/poke-api-v2.rb, line 21 def sanitize_endpoints(unnamed_resource, endpoint_opts) ErrorHandling.unnamed_resource_args if unnamed_resource && !endpoint_opts.empty? endpoint_opts[unnamed_resource] = { limit: 20 } if unnamed_resource endpoint_opts end