Class: Api::Aoa::V1::RestaurantPackageSerializer

Inherits:
BaseSerializer show all
Includes:
Vendor::V1::Concern::PackageMenuConcern
Defined in:
app/serializers/api/aoa/v1/restaurant_package_serializer.rb

Class Method Summary collapse

Methods included from ImageHelper

#fix_image_url

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_queryObject



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 = instance_options[: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


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.package_menus.present?
                 package.package_menus.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_togetherObject



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