Class: Api::Aoa::V1::RestaurantPackageSerializer
- Inherits:
-
BaseSerializer
- Object
- BaseSerializer
- Api::Aoa::V1::RestaurantPackageSerializer
- Includes:
- Vendor::V1::Concern::PackageMenuConcern
- Defined in:
- app/serializers/api/aoa/v1/restaurant_package_serializer.rb
Class Method Summary collapse
- .custom_label(obj) ⇒ Object
- .date_query ⇒ Object
- .find_tnc_link(package) ⇒ Object
- .price_finder(use_dynamic_pricing: false) ⇒ Object
- .time_slots_data_v1(_date, _inv_checker) ⇒ Object
- .time_slots_data_v2(_date, _inv_checker) ⇒ Object
- .we_travel_together ⇒ Object
Methods included from ImageHelper
Class Method Details
.custom_label(obj) ⇒ Object
275 276 277 278 279 280 281 282 283 |
# File 'app/serializers/api/aoa/v1/restaurant_package_serializer.rb', line 275 def self.custom_label(obj) if obj.custom_label.present? { name: obj.custom_label.name, icon_url: obj.custom_label.icon_url } else { name: '', icon_url: '' } end end |
.date_query ⇒ Object
352 353 354 355 356 357 358 359 360 |
# File 'app/serializers/api/aoa/v1/restaurant_package_serializer.rb', line 352 def self.date_query @date_query ||= begin date = [:time_slots_date].presence || Time.use_zone(restaurant.time_zone) do Time.zone.today end date = date.to_date unless date.is_a?(Date) date end end |
.find_tnc_link(package) ⇒ Object
370 371 372 373 374 375 376 377 378 379 380 381 382 383 |
# File 'app/serializers/api/aoa/v1/restaurant_package_serializer.rb', line 370 def self.find_tnc_link(package) return package.tnc_image_url if package.tnc_image_url.present? # if package is xperience and don't have tnc will use from image menu url xp_tnc_url = if package.type_short == 'xp' && package..present? package..order(index_number: :desc).first.image_url end link = xp_tnc_url || AdminSetting.send("term_condition_link_#{package.route_name}".to_sym).presence || nil return nil if link.nil? link = "#{Figaro.env.CDN_URL!}#{link}" unless link.include?('http') link end |
.price_finder(use_dynamic_pricing: false) ⇒ Object
393 394 395 396 |
# File 'app/serializers/api/aoa/v1/restaurant_package_serializer.rb', line 393 def self.price_finder(use_dynamic_pricing: false) @price_finder ||= {} @price_finder[use_dynamic_pricing.to_s] ||= HhPackage::ReservationPackages::PriceFinder.new(use_dynamic_pricing: use_dynamic_pricing) end |
.time_slots_data_v1(_date, _inv_checker) ⇒ Object
366 367 368 |
# File 'app/serializers/api/aoa/v1/restaurant_package_serializer.rb', line 366 def self.time_slots_data_v1(_date, _inv_checker) [] end |
.time_slots_data_v2(_date, _inv_checker) ⇒ Object
362 363 364 |
# File 'app/serializers/api/aoa/v1/restaurant_package_serializer.rb', line 362 def self.time_slots_data_v2(_date, _inv_checker) [] end |
.we_travel_together ⇒ Object
348 349 350 |
# File 'app/serializers/api/aoa/v1/restaurant_package_serializer.rb', line 348 def self.we_travel_together { name: 'We travel together', icon_url: AdminSetting.wtt_image_url.strip } end |