Class: QuickTravel::Accommodation
- Defined in:
- lib/quick_travel/accommodation.rb
Constant Summary collapse
- MAX_DAYS =
8
Instance Attribute Summary collapse
-
#bed_configurations ⇒ Object
Returns the value of attribute bed_configurations.
-
#error ⇒ Object
readonly
Returns the value of attribute error.
-
#minimum_nightly_price ⇒ Object
The minimum price may be in ‘nightly’ or ‘whole-duration-totalled’ form, depending on options given to API.
-
#minimum_price_for_duration ⇒ Object
The minimum price may be in ‘nightly’ or ‘whole-duration-totalled’ form, depending on options given to API.
-
#room_facilities ⇒ Object
Returns the value of attribute room_facilities.
Instance Method Summary collapse
- #available_on?(date) ⇒ Boolean
- #available_over_dates?(dates) ⇒ Boolean
-
#full_information ⇒ Object
Returns resource – use for full information.
- #graphics ⇒ Object
- #graphics=(graphics) ⇒ Object
- #minimum_price_on(date) ⇒ Object
- #nightly_price_on(date) ⇒ Object
Methods inherited from Adapter
all, belongs_to, create, find, has_many, #to_s, update
Methods included from InitFromHash
#define_readers, #initialize, #to_hash
Instance Attribute Details
#bed_configurations ⇒ Object
Returns the value of attribute bed_configurations.
8 9 10 |
# File 'lib/quick_travel/accommodation.rb', line 8 def bed_configurations @bed_configurations end |
#error ⇒ Object (readonly)
Returns the value of attribute error.
7 8 9 |
# File 'lib/quick_travel/accommodation.rb', line 7 def error @error end |
#minimum_nightly_price ⇒ Object
The minimum price may be in ‘nightly’ or ‘whole-duration-totalled’ form, depending on options given to API
I use these accessors to set it up as is more sane for users of the class.
23 24 25 |
# File 'lib/quick_travel/accommodation.rb', line 23 def minimum_nightly_price @minimum_nightly_price end |
#minimum_price_for_duration ⇒ Object
The minimum price may be in ‘nightly’ or ‘whole-duration-totalled’ form, depending on options given to API
I use these accessors to set it up as is more sane for users of the class.
23 24 25 |
# File 'lib/quick_travel/accommodation.rb', line 23 def minimum_price_for_duration @minimum_price_for_duration end |
#room_facilities ⇒ Object
Returns the value of attribute room_facilities.
8 9 10 |
# File 'lib/quick_travel/accommodation.rb', line 8 def room_facilities @room_facilities end |
Instance Method Details
#available_on?(date) ⇒ Boolean
40 41 42 |
# File 'lib/quick_travel/accommodation.rb', line 40 def available_on?(date) availability[date.to_s] end |
#available_over_dates?(dates) ⇒ Boolean
35 36 37 38 |
# File 'lib/quick_travel/accommodation.rb', line 35 def available_over_dates?(dates) return false if dates.empty? dates.all? { |date| available_on?(date.to_s) } end |
#full_information ⇒ Object
Returns resource – use for full information
45 46 47 48 |
# File 'lib/quick_travel/accommodation.rb', line 45 def full_information return @full_resource if @full_resource.present? @full_resource = Resource.first(@id) unless @id.blank? end |
#graphics ⇒ Object
54 55 56 |
# File 'lib/quick_travel/accommodation.rb', line 54 def graphics @graphics ||= @graphic_attributes.map { |g| QuickTravel::Graphic.new(g) } end |
#graphics=(graphics) ⇒ Object
50 51 52 |
# File 'lib/quick_travel/accommodation.rb', line 50 def graphics=(graphics) @graphic_attributes = graphics end |
#minimum_price_on(date) ⇒ Object
25 26 27 28 |
# File 'lib/quick_travel/accommodation.rb', line 25 def minimum_price_on(date) return nil if minimum_price.blank? || minimum_price[date.to_s].blank? Money.new(minimum_price[date.to_s]) end |
#nightly_price_on(date) ⇒ Object
30 31 32 33 |
# File 'lib/quick_travel/accommodation.rb', line 30 def nightly_price_on(date) return nil if nightly_price.blank? || nightly_price[date.to_s].blank? Money.new(nightly_price[date.to_s]) end |