Class: TopTravelDestinations::Destination
- Inherits:
-
Object
- Object
- TopTravelDestinations::Destination
- Defined in:
- lib/top_travel_destinations/destination.rb
Constant Summary collapse
- @@all =
[]
Instance Attribute Summary collapse
-
#attractions ⇒ Object
Returns the value of attribute attractions.
-
#attractions_url ⇒ Object
Returns the value of attribute attractions_url.
-
#description ⇒ Object
Returns the value of attribute description.
-
#destination_url ⇒ Object
Returns the value of attribute destination_url.
-
#flight_price ⇒ Object
Returns the value of attribute flight_price.
-
#location ⇒ Object
Returns the value of attribute location.
-
#weather_high ⇒ Object
Returns the value of attribute weather_high.
-
#weather_low ⇒ Object
Returns the value of attribute weather_low.
Class Method Summary collapse
- .all ⇒ Object
- .create_from_collection(destinations_array) ⇒ Object
- .find_by_continent(continent) ⇒ Object
Instance Method Summary collapse
- #add_attributes(attributes_hash) ⇒ Object
-
#initialize(destination_hash) ⇒ Destination
constructor
A new instance of Destination.
- #save ⇒ Object
Constructor Details
#initialize(destination_hash) ⇒ Destination
Returns a new instance of Destination.
6 7 8 9 10 11 |
# File 'lib/top_travel_destinations/destination.rb', line 6 def initialize(destination_hash) destination_hash.each do |attribute_name, attribute_value| self.send("#{attribute_name}=", attribute_value) end save end |
Instance Attribute Details
#attractions ⇒ Object
Returns the value of attribute attractions.
2 3 4 |
# File 'lib/top_travel_destinations/destination.rb', line 2 def attractions @attractions end |
#attractions_url ⇒ Object
Returns the value of attribute attractions_url.
2 3 4 |
# File 'lib/top_travel_destinations/destination.rb', line 2 def attractions_url @attractions_url end |
#description ⇒ Object
Returns the value of attribute description.
2 3 4 |
# File 'lib/top_travel_destinations/destination.rb', line 2 def description @description end |
#destination_url ⇒ Object
Returns the value of attribute destination_url.
2 3 4 |
# File 'lib/top_travel_destinations/destination.rb', line 2 def destination_url @destination_url end |
#flight_price ⇒ Object
Returns the value of attribute flight_price.
2 3 4 |
# File 'lib/top_travel_destinations/destination.rb', line 2 def flight_price @flight_price end |
#location ⇒ Object
Returns the value of attribute location.
2 3 4 |
# File 'lib/top_travel_destinations/destination.rb', line 2 def location @location end |
#weather_high ⇒ Object
Returns the value of attribute weather_high.
2 3 4 |
# File 'lib/top_travel_destinations/destination.rb', line 2 def weather_high @weather_high end |
#weather_low ⇒ Object
Returns the value of attribute weather_low.
2 3 4 |
# File 'lib/top_travel_destinations/destination.rb', line 2 def weather_low @weather_low end |
Class Method Details
.all ⇒ Object
41 42 43 |
# File 'lib/top_travel_destinations/destination.rb', line 41 def self.all @@all end |
.create_from_collection(destinations_array) ⇒ Object
13 14 15 |
# File 'lib/top_travel_destinations/destination.rb', line 13 def self.create_from_collection(destinations_array) destinations_array.each {|destination| TopTravelDestinations::Destination.new(destination)} end |
.find_by_continent(continent) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/top_travel_destinations/destination.rb', line 23 def self.find_by_continent(continent) continents = { :africa => ["Morocco"], :asia => ["Indonesia", "Cambodia", "Thailand", "Vietnam", "Turkey", "Russia", "United Arab Emirates", "Nepal"], :europe => ["United Kingdom", "France", "Italy", "Greece", "Spain", "Czech Republic", "Turkey", "Russia"], :north_america => ["New York", "Jamaica", "Bay Islands", "Belize Cayes", "St. Martin", "Mexico", "Cayman Islands"], :south_america => ["Brazil", "Peru"], :oceania => ["Society Islands"] } continent_sym = continent.gsub(" ", "_").downcase.to_sym self.all.select do |destination| array_size = destination.location.split(/, |-/).length continents[continent_sym].include?(destination.location.split(/, |-/)[array_size - 1]) end end |
Instance Method Details
#add_attributes(attributes_hash) ⇒ Object
17 18 19 20 21 |
# File 'lib/top_travel_destinations/destination.rb', line 17 def add_attributes(attributes_hash) attributes_hash.each do |attribute_name, attribute_value| self.send("#{attribute_name}=", attribute_value) end end |
#save ⇒ Object
45 46 47 |
# File 'lib/top_travel_destinations/destination.rb', line 45 def save self.class.all << self end |