class AcnhCritterpedia::API
Attributes
hemisphere[RW]
url[RW]
Public Class Methods
new(hemisphere)
click to toggle source
# File lib/acnh_critterpedia/api.rb, line 4 def initialize(hemisphere) @url = "https://acnhapi.com/v1a" @hemisphere = hemisphere end
Public Instance Methods
critters_available_now(critter_type)
click to toggle source
# File lib/acnh_critterpedia/api.rb, line 41 def critters_available_now(critter_type) req_url = "#{url}/#{critter_type}/" data = HTTParty.get(req_url) critter_list = data.select do |critter| critter["availability"]["month-array-#{hemisphere}"].include?(Time.now.month) && critter["availability"]["time-array"].include?(Time.now.hour) end list_critter_names(critter_list) end
list_critter_names(critter_list)
click to toggle source
# File lib/acnh_critterpedia/api.rb, line 52 def list_critter_names(critter_list) critter_list.map {|critter| critter["name"]["name-USen"]} end
search_critter_by_name(name, critter_type)
click to toggle source
# File lib/acnh_critterpedia/api.rb, line 9 def search_critter_by_name(name, critter_type) req_url = "#{url}/#{critter_type}/#{name}" data = HTTParty.get(req_url) if data.message == "Not Found" "error" else critter_hash = { name: data["name"]["name-USen"], location: data["availability"]["location"], catch_phrase: data["catch-phrase"], month_range: data["availability"]["month-#{hemisphere}"], is_all_year: data["availability"]["isAllYear"], time_range: data["availability"]["time"], is_all_day: data["availability"]["isAllDay"] } critter = AcnhCritterpedia::Critter.new(critter_hash) end end
search_critters_by_month(month, critter_type)
click to toggle source
# File lib/acnh_critterpedia/api.rb, line 30 def search_critters_by_month(month, critter_type) req_url = "#{url}/#{critter_type}/" data = HTTParty.get(req_url) critter_list = data.select do |critter| critter["availability"]["month-array-#{hemisphere}"].include?(month) end list_critter_names(critter_list) end