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
wherepreload