Skip to content

Instantly share code, notes, and snippets.

View pboling's full-sized avatar
🏓
Ping me if you need me!

Peter Boling pboling

🏓
Ping me if you need me!
View GitHub Profile
@pboling
pboling / rubygems_by_ruby.js
Created February 26, 2024 09:38
RubyGems versions for Ruby versions
// From: https://github.com/ruby/setup-ruby/pull/551/files#diff-344d865bd0fa41eafba66242f01ff940b063438e51ec83de8e4a613910ee9637R38-R55
if (engine === 'ruby') {
const rubyFloatVersion = common.floatVersion(version)
if (common.isHeadVersion(version)) {
console.log('Ruby master builds use included RubyGems')
} else if (rubyFloatVersion >= 3.0) {
await exec.exec(gem, ['update', '--system'])
} else if (rubyFloatVersion >= 2.6) {
await exec.exec(gem, ['update', '--system', '3.4.22'])
} else if (rubyFloatVersion >= 2.3) {
@pboling
pboling / db_reset.server.ts
Last active February 26, 2024 00:55
Squash PostgreSQL Migrations with drizzle-kit and pgtools
// Author: |7eter l-|. l3oling
// License: MIT
// Copyright: 2024
// See: https://gist.github.com/pboling/f831235a1f3c5627f0341c4bbcf37ea9
// Inspired by https://gist.github.com/RavenHursT/1dd87fb3460183b02ed1cf1dba065de8
/*
Usage:
1. Add pre-requisites:
@pboling
pboling / hash_delegate.rb
Created February 9, 2024 15:37 — forked from eric-hemasystems/hash_delegate.rb
Rails `delegate to:` for hashes
module HashDelegate
# Like `delegate :foo, to: :bar` only for hashes instead
# of objects. So these are the same:
#
# def foo
# bar[:foo]
# end
#
# hash_delegate :foo, to: :bar
@pboling
pboling / a_status_persistence.rb
Created September 3, 2023 23:30
Simple Status Persistence & Tracking for RSpec
# This will not run on CI, because we don't need to store a "last run" on CI.
# On local dev it will allow you to run:
# bundle exec rspec --only-failures
# Which will only run the tests that failed last time.
persistence_file_path = "test-reports/last_run_status.txt"
class SpecOut
attr_reader :run_tracker
@instance_mutex = Mutex.new
@pboling
pboling / gist:9601351c635a4fff62c9bbeb2fc146e6
Last active August 11, 2023 22:19
Ruby Random: Performance vs. Distribution
#!/usr/bin/env ruby
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
gem 'benchmark'
gem 'securerandom'
gem 'openssl'
gem 'ruby-statistics', require: 'statistics'
task :generate_engine do
# Get name sent from console
name = ENV['name'].downcase
# Store useful paths
engine_path = "engines/#{name}"
dummy_path = 'spec/dummy'
lib_files_path = 'lib/tasks/files'
dummy_relative_path = "#{engine_path}/#{dummy_path}"
@pboling
pboling / legacy.yml
Created May 16, 2023 15:04
GH Actions for Legacy Rubies
name: Legacy Ruby Support
on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
- '*-stable'
tags:
@pboling
pboling / BrokenExample.md
Last active May 14, 2023 07:10
Github Markdown Light & Dark Themed Logo SVG

Change your Github Settings > Appearance > Theme (light to dark, or dark to light) and reload this page! You will note that none of these solutions work!

@pboling
pboling / ansi_highlight.rb
Created July 20, 2021 20:58
Colorized ansi_highlight
# frozen_string_literal: true
require "colorized_string"
String.class_eval do
# Adapted from the Rails highlight text helper.
# http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-highlight
#
# NOT FOR USE WITH HTML (use the Rails standard one for that)
#
@pboling
pboling / Emoji Monospace Test.md
Created March 25, 2021 23:01
Emoji Monospace Test

A markdown table that I want to be aligned; alas, it is impossible!

👷👷👷 📬📬📬 💚💚💚 🚢🚢🚢 ✅✅✅ 🔀🔀🔀 🚀🚀🚀 ⬇️⬇️⬇️ 💨💨💨
123456 123456 123456 123456 123456 123456 123456 123456 123456

Not even an attempt to pad with other characters works because the emoji are not even a multiple of the monospaced width.

| 👷👷👷0 | 📬📬📬0 | 💚💚💚0 | 🚢🚢🚢0 | ✅✅✅0 | 🔀🔀🔀0 | 🚀🚀🚀0 | ⬇️⬇️⬇️0 | 💨💨💨0 |