Add pets:find task to look up pets of a given color/species

This commit is contained in:
Emi Matchu 2024-09-13 18:59:17 -07:00
parent c7b0ec71ef
commit fdf1f31867

View file

@ -3,4 +3,20 @@ namespace :pets do
task :load, [:name] => [:environment] do |task, args|
pp Pet.fetch_viewer_data(args[:name])
end
desc "Find pets that were, last we saw, of the given color and species"
task :find, [:color_name, :species_name] => [:environment] do |task, args|
begin
pt = PetType.matching_name(args.color_name, args.species_name).first!
rescue ActiveRecord::RecordNotFound
abort "Could not find pet type for " +
"#{args.color_name} #{args.species_name}"
end
limit = ENV.fetch("LIMIT", 10)
pt.pets.limit(limit).order(id: :desc).pluck(:name).each do |pet_name|
puts "- #{pet_name} (https://www.neopets.com/petlookup.phtml?pet=#{pet_name})"
end
end
end