Skip to content

Instantly share code, notes, and snippets.

View dudo's full-sized avatar
🤙

Brett Dudo dudo

🤙
View GitHub Profile
@dudo
dudo / fun.css
Created February 16, 2022 05:02
Collection of nice css snippets
.highlight {
border-radius: 1em 0 1em 0;
background-image: linear-gradient(-100deg, rgba(255,224,0,0.3), rgba(255,224,0,0.7) 95%, rgba(255,224,0,0.1));
}
name: 'Close stale issues and PR'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
@dudo
dudo / kubernetes.local.md
Last active December 5, 2021 17:00
Tooling for Interacting with Kubernetes

Kubernetes local development

kubectl

Autocomplete

const { build } = require('esbuild');
const manifestPlugin = require('esbuild-plugin-manifest');
const options = {
entryPoints: ['src/index.js'],
entryNames: '[dir]/[name]-[hash]',
outdir: 'dist',
bundle: true,
minify: true,
plugins: [manifestPlugin()],
import { useState, useLayoutEffect } from "react";
export const useViewportSize = (debounceTime = 250) => {
const [viewportSize, setViewportSize] = useState({
width: undefined,
height: undefined
});
const debounce = (fn, ms) => {
let timer;
return () => {
@dudo
dudo / t9.rb
Created September 22, 2021 20:16
require 'set'
module Trie
class T9
attr_reader :root
def initialize
@root = Hash.new
end
# Pundit
# Friendly ID
# FastJSON
module ActsAsResource
extend ActiveSupport::Concern
included do
include Pundit
@dudo
dudo / wrapper.rb
Last active June 30, 2021 04:30
Wrap a method with a macro. Allow for procs to be passed.
module Wrapper
def wrap(method_name, options: {})
proxy = Module.new
proxy.define_method(method_name) do |*args, &block|
options = instance_exec(&options) if options.is_a?(Proc)
target = is_a?(Module) ? "#{self}." : "#{self.class}#"
puts "#{target}#{method_name} is about to be called. `wrap` options #{options}"
super *args, &block
end
self.prepend proxy
@dudo
dudo / .env
Last active December 4, 2020 09:10
docker-compose example
# https://github.com/bkeepers/dotenv
COMPOSE_PROJECT_NAME=my_app
REDIS_URL=redis://redis:6379
PGHOST=db
PGUSER=postgres
PGPASSWORD=postgres
RSpec.describe Api::ClientBase do
subject(:api) { described_class.new(config) }
let(:scheme) { 'https' }
let(:host) { Faker::Internet.domain_name }
let(:port) { 3000 }
let(:config) do
{
'scheme' => scheme,