Module: RestaurantSimilarity

Defined in:
app/my_lib/restaurant_similarity.rb

Overview

typed: ignore frozen_string_literal: true

Class Method Summary collapse

Class Method Details

.find_cached(restaurant_id) ⇒ Object



5
6
7
8
9
10
# File 'app/my_lib/restaurant_similarity.rb', line 5

def self.find_cached(restaurant_id)
  ids = Rails.cache.read("SimilarRestaurant:#{restaurant_id}")
  return Restaurant.where('1 = 0') if ids.blank?

  Restaurant.where(id: ids).order("field(id, #{ids.join ','})").active.not_expired
end

.generate_data(restaurant_id: nil, similar_restaurants: restaurants) ⇒ Object

generate similar restaurants data and save it to database



13
14
15
# File 'app/my_lib/restaurant_similarity.rb', line 13

def self.generate_data(restaurant_id: nil, similar_restaurants: restaurants)
  Rails.cache.write("SimilarRestaurant:#{restaurant_id}", similar_restaurants)
end