Module: HhPackage

Extended by:
ActiveSupport::Autoload
Defined in:
app/models/hh_package.rb,
app/my_lib/hh_package/forms.rb,
app/my_lib/hh_package/pp_service.rb,
app/models/hh_package/package_attr.rb,
app/my_lib/hh_package/ayce_service.rb,
app/my_lib/hh_package/cost_service.rb,
app/my_lib/hh_package/agenda_service.rb,
app/my_lib/hh_package/forms/agenda_regular.rb,
app/my_lib/hh_package/restaurant_package_manager.rb,
app/my_lib/hh_package/agenda_service/update_regular.rb,
app/workers/hh_package/generate_opening_hours_worker.rb,
app/workers/hh_package/reload_service_type_city_worker.rb,
app/models/concerns/hh_package/model_concerns/agenda_type.rb,
app/models/concerns/hh_package/model_concerns/translation.rb,
app/models/concerns/hh_package/model_concerns/mix_and_match.rb,
app/models/concerns/hh_package/model_concerns/package_traits.rb,
app/models/concerns/hh_package/model_concerns/dynamic_pricings_for_package.rb,
app/models/concerns/hh_package/model_concerns/dynamic_pricings_for_pricing.rb

Overview

typed: ignore frozen_string_literal: true

Defined Under Namespace

Modules: AgendaService, AyceService, CostService, Forms, ModelConcerns, Package, PpService, ReservationPackages Classes: Agenda, DynamicPricingTitleGenerator, EarnPointRestaurantWorker, GenerateOpeningHoursWorker, KidsPrice, OpeningHour, PackageAttr, PackageAttrGenerator, PackageBenefit, PackageCustomLabel, PackageGroup, PackageMenu, PackageMenuUploader, PackagePolicyImage, PackagePolicyImageUploader, Pricing, PricingGroup, PricingMenu, PricingSpendingTier, ReloadServiceTypeCityWorker, RestaurantPackage, RestaurantPackageManager, RestaurantPackageMenu

Constant Summary collapse

UNLIMITED =
1000000
PACKAGE_LIST =
[
  # Delivery
  'HungryAtHome',

  # Dine in
  'Ayce',
  'PartyPack',
  'BuffetExtra',
  'HungrySet', # Hungry Lunch
  'SetMenu',
  'Xperience', # Staycation
  'Diy',
].freeze
PACKAGE_SHORT_LIST =
%w[ayce pp bfp hs sm hah xp diy].freeze
DELIVERY_PACKAGE_TYPES =
['HungryAtHome']
DELIVERY_PACKAGE_MODELS =
['HhPackage::Package::HungryAtHome']
DINE_IN_PACKAGE_TYPES =
PACKAGE_LIST.select { |p| p != 'HungryAtHome' }
DINE_IN_PACKAGE_MODELS =
DINE_IN_PACKAGE_TYPES.map { |type| "HhPackage::Package::#{type}" }
PACKAGE_SHORT_LIST_AND_PRICING_TIER =
{
  ayce: :multiple,
  pp: :single,
  xp: :single,
  hah: :single,
  hs: :single,
  sm: :multiple,
  bfp: :multiple,
  diy: :multiple,
}.freeze
PACKAGE_SHORT_LIST_AND_LONG_NAME =
{
  ayce: 'All You Can Eat',
  pp: 'Party Pack',
  xp: 'Xperience',
  hah: 'Hungry@Home',
  hs: 'Hungry Lunch',
  sm: 'Set Menu',
  bfp: 'Buffet Plus',
  diy: 'DIY Set',
}.freeze
PACKAGE_CONSTANT_AND_LONG_NAME =
{
  Ayce: 'All You Can Eat',
  PartyPack: 'Party Pack',
  Xperience: 'Xperience',
  HungryAtHome: 'Hungry@Home',
  HungrySet: 'Hungry Lunch',
  SetMenu: 'Set Menu',
  BuffetExtra: 'Buffet Plus',
  Diy: 'DIY Set',
}.freeze
PACKAGE_TYPE_COLOR_CODE =
{
  ayce: 'DF252A',
  pp: '00D3C2',
  xp: '8FDCE4',
  hah: 'BC64FF',
  hs: '6ABFFF',
  sm: '4174FF',
  bfp: 'FFAA4B',
  diy: 'F3B201',
}.freeze
PACKAGE_LIST_TO_SHORT =
{ Ayce: 'ayce', PartyPack: 'pp', HungrySet: 'hs', BuffetExtra: 'bfp', SetMenu: 'sm',
HungryAtHome: 'hah', Xperience: 'xp', Diy: 'diy' }.freeze
PACKAGE_PRIORITY =
{
  hah: 1,
  ayce: 2,
  pp: 3,
  hs: 4,
  bfp: 5,
  sm: 6,
  xp: 7,
  diy: 8,
}.freeze
PACKAGE_SHORT_TO_LIST =
{ ayce: 'Ayce', pp: 'PartyPack', xp: 'Xperience', hs: 'HungrySet', bfp: 'BuffetExtra',
sm: 'SetMenu', hah: 'HungryAtHome', diy: 'Diy' }.freeze
PACKAGE_SHORT_TO_ROUTES =
{ ayce: 'ayces', pp: 'party_packs', xp: 'xperiences', hs: 'hungry_sets',
bfp: 'buffet_extras', sm: 'set_menus', hah: 'hungry_at_homes', diy: 'diys' }.freeze
EXPANDED_SHORT_LIST =
{ ayce: 'ayce', pp: 'party_pack', hs: 'hungry_set', xp: 'xperience', bfp: 'buffet_extra',
sm: 'set_menu', hah: 'hungry_at_home', diy: 'diy' }.freeze
COMBINE_MENU_V2 =
['menu_v2', 'menu_v2_and_img', 'menu_v2_and_imenupro']

Class Method Summary collapse

Class Method Details

.package_short_to_list(type) ⇒ Object



128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'app/models/hh_package.rb', line 128

def self.package_short_to_list(type)
  case type
  when 'xp'
    'Xperience'
  when 'pp'
    'PartyPack'
  when 'ayce'
    'Ayce'
  when 'hs'
    'HungrySet'
  when 'bfp'
    'BuffetExtra'
  when 'sm'
    'SetMenu'
  when 'hah'
    'HungryAtHome'
  when 'diy'
    'Diy'
  end
end

.sort_package(package_codes) ⇒ Object



109
110
111
# File 'app/models/hh_package.rb', line 109

def self.sort_package(package_codes)
  package_codes.sort_by { |x| PACKAGE_PRIORITY[x.to_sym] || 1 }
end

.table_name_prefixObject



6
7
8
# File 'app/models/hh_package.rb', line 6

def self.table_name_prefix
  'hh_package_'
end