(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| module ViewComponentHelper | |
| def component(name, context: nil, **args, &block) | |
| cache_keys = Array(args.delete(:cache)) | |
| cache_if cache_keys.present?, cache_keys do | |
| return render_component_in(context, name, **args, &block) if context | |
| return render component_class_for(name).new(args), &block | |
| end | |
| end |
| import { navigator } from "@hotwired/turbo"; | |
| import { Controller } from "stimulus"; | |
| import { useMutation } from "stimulus-use"; | |
| export default class extends Controller { | |
| connect() { | |
| useMutation(this, { attributes: true, childList: true, subtree: true }); | |
| } | |
| mutate(entries) { |
| FROM ruby:3.0-alpine | |
| RUN apk add --no-cache --update \ | |
| ack \ | |
| bash \ | |
| build-base \ | |
| curl \ | |
| git \ | |
| htop \ | |
| less \ |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.