Class: QuickTravel::PriceChanges::BookingPriceChange
Instance Attribute Summary
#children, #root
Attributes inherited from PriceChange
#changed_price, #original_price, #price_change, #reason, #reasons, #target
Instance Method Summary
collapse
#price_change_on, #roots, #total_price_change_on
Methods inherited from PriceChange
#applied_on?
Constructor Details
Returns a new instance of BookingPriceChange.
4
5
6
7
8
9
10
11
|
# File 'lib/quick_travel/price_changes/booking_price_change.rb', line 4
def initialize(attrs = {})
super(
attrs.merge(
'root' => attrs,
'children' => attrs['reservation_price_changes']
)
)
end
|
Instance Method Details
#discounts ⇒ Object
17
18
19
|
# File 'lib/quick_travel/price_changes/booking_price_change.rb', line 17
def discounts
price_changes.select(&:negative?)
end
|
#price_changes ⇒ Object
25
26
27
|
# File 'lib/quick_travel/price_changes/booking_price_change.rb', line 25
def price_changes
@children.flat_map(&:roots)
end
|
#reservation_price_changes ⇒ Object
13
14
15
|
# File 'lib/quick_travel/price_changes/booking_price_change.rb', line 13
def reservation_price_changes
@children
end
|
#surcharges ⇒ Object
21
22
23
|
# File 'lib/quick_travel/price_changes/booking_price_change.rb', line 21
def surcharges
price_changes.select(&:positive?)
end
|