class DogBreeds::Breeds

Public Class Methods

list() click to toggle source
# File lib/dog_breeds/breeds.rb, line 5
def self.list
  puts "Which group of breeds would you like to see? (1-7)"
  @@group_number = gets.strip
  case @@group_number
  when "1"
    scrape_sporting
    @breeds.each_with_index do |breed, number|
      puts "#{number + 1}. #{breed}"
    end
  when "2"
    scrape_hound
    @breeds.each_with_index do |breed, number|
      puts "#{number + 1}. #{breed}"
    end
  when "3"
    scrape_working
    @breeds.each_with_index do |breed, number|
      puts "#{number + 1}. #{breed}"
    end
  when "4"
    scrape_terrier
    @breeds.each_with_index do |breed, number|
      puts "#{number + 1}. #{breed}"
    end
  when "5"
    scrape_toy
    @breeds.each_with_index do |breed, number|
      puts "#{number + 1}. #{breed}"
    end
  when "6"
    scrape_non_sporting
    @breeds.each_with_index do |breed, number|
      puts "#{number + 1}. #{breed}"
    end
  when "7"
    scrape_herding
    @breeds.each_with_index do |breed, number|
      puts "#{number + 1}. #{breed}"
    end
  else
    puts "\nInvalid entry. Please enter a valid group number."
    DogBreeds::Groups.list
    self.list
  end
end
pick_breed(group_number = "") click to toggle source
# File lib/dog_breeds/breeds.rb, line 51
def self.pick_breed(group_number = "")
  group_number = @@group_number
  puts "\nWhich breed would you like more information on? (Enter the breed's number.)"
  @breed_number = gets.strip
  DogBreeds::BreedDetails.get_url(@@group_number, @breed_number)
end
scrape_herding() click to toggle source
# File lib/dog_breeds/breeds.rb, line 121
def self.scrape_herding
  doc = Nokogiri::HTML(open("http://www.akc.org/dog-breeds/groups/herding/"))
  @breeds = []
  @dogs = doc.css('.event-contain .scale-contents h2')
  @dogs.each do |dog|
    @breeds << dog.css('a[href]').text
  end
  @dogs
end
scrape_hound() click to toggle source
# File lib/dog_breeds/breeds.rb, line 71
def self.scrape_hound
  doc = Nokogiri::HTML(open("http://www.akc.org/dog-breeds/groups/hound/"))
  @breeds = []
  @dogs = doc.css('.event-contain .scale-contents h2')
  @dogs.each do |dog|
    @breeds << dog.css('a[href]').text
  end
  @dogs
end
scrape_non_sporting() click to toggle source
# File lib/dog_breeds/breeds.rb, line 111
def self.scrape_non_sporting
  doc = Nokogiri::HTML(open("http://www.akc.org/dog-breeds/groups/non-sporting/"))
  @breeds = []
  @dogs = doc.css('.event-contain .scale-contents h2')
  @dogs.each do |dog|
    @breeds << dog.css('a[href]').text
  end
  @dogs
end
scrape_sporting() click to toggle source
# File lib/dog_breeds/breeds.rb, line 58
def self.scrape_sporting
  doc = Nokogiri::HTML(open("http://www.akc.org/dog-breeds/groups/sporting/"))
  @breeds = []
  @dogs = doc.css('.event-contain .scale-contents h2')
  #@dogs instance variable gives you XML of all the dogs in the group, which is
  #used in the BreedDetails class to scrape the chosen breed's individual URL
  @dogs.each do |dog|
    @breeds << dog.css('a[href]').text
  end
  #@breeds is an array of strings of all the breeds in the group
  @dogs
end
scrape_terrier() click to toggle source
# File lib/dog_breeds/breeds.rb, line 91
def self.scrape_terrier
  doc = Nokogiri::HTML(open("http://www.akc.org/dog-breeds/groups/terrier/"))
  @breeds = []
  @dogs = doc.css('.event-contain .scale-contents h2')
  @dogs.each do |dog|
    @breeds << dog.css('a[href]').text
  end
  @dogs
end
scrape_toy() click to toggle source
# File lib/dog_breeds/breeds.rb, line 101
def self.scrape_toy
  doc = Nokogiri::HTML(open("http://www.akc.org/dog-breeds/groups/toy/"))
  @breeds = []
  @dogs = doc.css('.event-contain .scale-contents h2')
  @dogs.each do |dog|
    @breeds << dog.css('a[href]').text
  end
  @dogs
end
scrape_working() click to toggle source
# File lib/dog_breeds/breeds.rb, line 81
def self.scrape_working
  doc = Nokogiri::HTML(open("http://www.akc.org/dog-breeds/groups/working/"))
  @breeds = []
  @dogs = doc.css('.event-contain .scale-contents h2')
  @dogs.each do |dog|
    @breeds << dog.css('a[href]').text
  end
  @dogs
end