Class: DogBreeds::Breeds
- Inherits:
-
Object
- Object
- DogBreeds::Breeds
- Defined in:
- lib/dog_breeds/breeds.rb
Constant Summary collapse
- @@group_number =
""
Class Method Summary collapse
- .list ⇒ Object
- .pick_breed(group_number = "") ⇒ Object
- .scrape_herding ⇒ Object
- .scrape_hound ⇒ Object
- .scrape_non_sporting ⇒ Object
- .scrape_sporting ⇒ Object
- .scrape_terrier ⇒ Object
- .scrape_toy ⇒ Object
- .scrape_working ⇒ Object
Class Method Details
.list ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# 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 = "") ⇒ Object
51 52 53 54 55 56 |
# 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 ⇒ Object
121 122 123 124 125 126 127 128 129 |
# 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 ⇒ Object
71 72 73 74 75 76 77 78 79 |
# 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 ⇒ Object
111 112 113 114 115 116 117 118 119 |
# 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 ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 |
# 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 ⇒ Object
91 92 93 94 95 96 97 98 99 |
# 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 ⇒ Object
101 102 103 104 105 106 107 108 109 |
# 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 ⇒ Object
81 82 83 84 85 86 87 88 89 |
# 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 |