Optional - Set format on save and any global prettier options
npm i -D eslint prettier eslint-plugin-prettier eslint-config-prettier eslint-plugin-node eslint-config-node
# app/models/friendship.rb | |
class Friendship < ApplicationRecord | |
belongs_to :user | |
belongs_to :friend, class_name: 'User' | |
end |
// This code is to be used with https://turbo.hotwire.dev. By default Turbo keeps visited pages in its cache | |
// so that when you visit one of those pages again, Turbo will fetch the copy from cache first and present that to the user, then | |
// it will fetch the updated page from the server and replace the preview. This makes for a much more responsive navigation | |
// between pages. We can improve this further with the code in this file. It enables automatic prefetching of a page when you | |
// hover with the mouse on a link or touch it on a mobile device. There is a delay between the mouseover event and the click | |
// event, so with this trick the page is already being fetched before the click happens, speeding up also the first | |
// view of a page not yet in cache. When the page has been prefetched it is then added to Turbo's cache so it's available for | |
// the next visit during the same session. Turbo's default behavior plus this trick make for much more responsive UIs (non SPA). |
# Refactoring conditional logic using short-circut evaluation and ruby implicit return | |
# before refactor | |
def straight_flush?(array) | |
if straight?(array) and flush?(array) | |
return true | |
else | |
return false | |
end | |
end |
N+1 query problem
eager_load
where
preload