Skip to content

Instantly share code, notes, and snippets.

View donnfelker's full-sized avatar

Donn Felker donnfelker

View GitHub Profile
@donnfelker
donnfelker / ReceivedCookiesInterceptor.kt
Created October 28, 2023 16:50
OkHttp Cookie Response Interceptor
package com.example.android.http
import android.webkit.CookieManager
import com.example.android.util.BASE_URL // https://example.com/
import logcat.logcat
import okhttp3.Cookie
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Interceptor
import okhttp3.Response
import okio.IOException
@donnfelker
donnfelker / attached_validator.rb
Last active October 28, 2023 02:51
Custom Active Storage Validator
class AttachedValidator < ActiveModel::EachValidator
# Active Storage validator to ensure that an attachment is attached.
#
# usage:
# validates :upload, attached: true
#
def validate_each(record, attribute, _value)
return if record.send(attribute).attached?
errors_options = {}
@donnfelker
donnfelker / .zshrc
Last active July 1, 2022 13:14
Vanilla ZSH
# Hat tip to Kaushik Gopal for some of this
# make zsh tab completion fix capitalization errors for directories and files
# i don't know if this is required anymore
# autoload -Uz compinit && compinit
# 0 -- vanilla completion (abc => abc)
# 1 -- smart case completion (abc => Abc)
# 2 -- word flex completion (abc => A-big-Car)
# 3 -- full flex completion (abc => ABraCadabra)
@donnfelker
donnfelker / config.fish
Created April 19, 2022 18:01
Fish Config
set -g theme_nerd_fonts yes
set -g theme_display_git_stashed_verbose yes
set -g theme_display_git_master_branch yes
set -g theme_display_git_untracked yes
set -g theme_display_git_dirty yes
set -g theme_display_virtualenv yes
set -Ux EDITOR code --wait
rvm default
@donnfelker
donnfelker / edit.html.erb
Created February 19, 2022 12:00
Stimulus JS Controller to Disable File Attachments in the Trix Editor
<!-- File uploads will be disabled for any trix editor in this div -->
<div data-controller="registrations">
<!-- Other html elements ... -->
<div class="form-group">
<%= form.label :bio, "Bio" %>
<!-- File uploads, and the attachment button will be disabled in this rich text (trix) editor -->
<%= form.rich_text_area :bio %>
</div>
@donnfelker
donnfelker / .gitconfig
Last active December 3, 2023 14:16
Git and Fish
[user]
name = Your Name
email = you@youremail.com
[alias]
A = add -A
a = add
aa = add --all
ae = add --edit
ai = add --interactive
amend = commit --amend -C HEAD
@donnfelker
donnfelker / keybase.md
Created March 5, 2020 23:07
keybase.md

Keybase proof

I hereby claim:

  • I am donnfelker on github.
  • I am donnfelker (https://keybase.io/donnfelker) on keybase.
  • I have a public key ASDm0EqsT8YBPE8L0BlrQxAppoKpbs_C1r-ZER8m2blYmAo

To claim this, I am signing this object:

@donnfelker
donnfelker / macbook-lock-screen.sh
Created July 15, 2018 17:05
Mac Lock Screen Window Text
sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "If found, contact YOUR-NAME at XXX-XXX-XXXX"
@donnfelker
donnfelker / prettify.css
Last active June 5, 2018 10:53
articles.caster.io - code theme
/*! Color themes for Google Code Prettify | MIT License | github.com/jmblog/color-themes-for-google-code-prettify */
.prettyprint {
background: #f5f5f5;
font-family: Menlo, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, Consolas, monospace;
border: 0 !important;
padding: 16px;
}
.pln {
color: #4d4d4c;
@donnfelker
donnfelker / RobolectricActivityTest.java
Created November 11, 2017 01:59
Integrating Robolectric 3 with Android Studio 2
package com.greenlifesoftware.robolectricpractice;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricGradleTestRunner;
import org.robolectric.annotation.Config;
import static org.junit.Assert.assertNotNull;