Class: RoadtripAdventures::Adventure
- Inherits:
-
Object
- Object
- RoadtripAdventures::Adventure
- Defined in:
- lib/roadtrip_adventures/adventure.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
Returns the value of attribute name.
-
#price ⇒ Object
Returns the value of attribute price.
-
#url ⇒ Object
Returns the value of attribute url.
Class Method Summary collapse
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
3 4 5 |
# File 'lib/roadtrip_adventures/adventure.rb', line 3 def name @name end |
#price ⇒ Object
Returns the value of attribute price.
3 4 5 |
# File 'lib/roadtrip_adventures/adventure.rb', line 3 def price @price end |
#url ⇒ Object
Returns the value of attribute url.
3 4 5 |
# File 'lib/roadtrip_adventures/adventure.rb', line 3 def url @url end |
Class Method Details
.list_adventure_names(destination_name) ⇒ Object
5 6 7 |
# File 'lib/roadtrip_adventures/adventure.rb', line 5 def self.list_adventure_names(destination_name) self.scrape_adventures(destination_name) end |
.scrape_adventures(destination_name) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/roadtrip_adventures/adventure.rb', line 9 def self.scrape_adventures(destination_name) new_adventures_list = [] url = RoadtripAdventures::Destination.url_for_destination_name(destination_name) doc = Nokogiri::HTML(open(url)) adventures = doc.css("article.tours a") adventures[0..-2].map.with_index{ |adventure, index| # Returns 6 "adventure" options new_adventure = RoadtripAdventures::Adventure.new new_adventure.name = adventures[index].css("h3").text new_adventure.price = adventures[index].css("span.tour__price").text new_adventure.url = adventures[index].attr("href") new_adventures_list[index] = new_adventure } end |