Class: GenerateRestaurantMenuService
- Inherits:
-
Object
- Object
- GenerateRestaurantMenuService
- Defined in:
- app/services/generate_restaurant_menu_service.rb
Overview
typed: ignore
Instance Attribute Summary collapse
-
#restaurant ⇒ Object
Returns the value of attribute restaurant.
Instance Method Summary collapse
- #execute ⇒ Object
- #generate_restaurant_package_menu(menu) ⇒ Object
-
#initialize(restaurant_id) ⇒ GenerateRestaurantMenuService
constructor
A new instance of GenerateRestaurantMenuService.
Constructor Details
#initialize(restaurant_id) ⇒ GenerateRestaurantMenuService
Returns a new instance of GenerateRestaurantMenuService.
5 6 7 |
# File 'app/services/generate_restaurant_menu_service.rb', line 5 def initialize(restaurant_id) self.restaurant = Restaurant.fetch(restaurant_id) end |
Instance Attribute Details
#restaurant ⇒ Object
Returns the value of attribute restaurant.
3 4 5 |
# File 'app/services/generate_restaurant_menu_service.rb', line 3 def restaurant @restaurant end |
Instance Method Details
#execute ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/services/generate_restaurant_menu_service.rb', line 9 def execute return if .blank? cache_key = find_cache_key Rails.cache.fetch("#{self.class}:execute:#{restaurant.id}:#{CityHash.hash32(cache_key)}", expires_in: CACHEFLOW.generate_expiry) do ActiveRecord::Base.transaction do .each do |package| package..each do |section| section..map do || () end end end end end end |
#generate_restaurant_package_menu(menu) ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'app/services/generate_restaurant_menu_service.rb', line 28 def () payload = { restaurant_id: restaurant.id, package_menu_id: .id } = HhPackage::RestaurantPackageMenu.find_or_initialize_by(payload) .active = .active if .new_record? .changed? && .save end |