Skip to content

Instantly share code, notes, and snippets.

View knu's full-sized avatar

Akinori Musha knu

  • Tokyo, Japan
  • 10:34 (UTC +09:00)
  • X @knu
View GitHub Profile
@knu
knu / ruby-configure
Created March 29, 2019 06:39
RUBY_CONFIGURE script for rbenv on FreeBSD
#!/bin/sh
#
# This script is for rbenv to configure ruby like Ports does.
# (amd64 instead of x86_64)
#
# RUBY_CONFIGURE=ruby-configure
#
rsync -av /usr/ports/Templates/config.* tools/
exec ./configure "$@"
module Foo
refine Hash do
def each_smtn(&block)
return to_enum(__method__) unless block
block.call(1)
block.call(2)
end
end
end
@knu
knu / block-with-var
Last active November 14, 2018 10:37
Yasnippet: block-with-var for ruby-mode
# -*- mode: snippet -*-
# name: block-with-var
# --
{ |${1:var}| ${1:$(if (string-match "\\\\_<[a-z]\\\\sw*" yas-text) (match-string 0 yas-text))}.$0 }
@knu
knu / romantable-knu.txt
Last active April 23, 2020 04:18
Roman Table for Google日本語入力 (altered AZIK)
' ー
, 、
- ー
. 。
/ ・
; っ
[ 「
] 」
a あ
b' びー
@knu
knu / system_spec_html_screenshot.rb
Created October 12, 2018 09:29
Enable HTML Source snapshot in RSpec's system specs
return unless Rails.env.test?
require 'highline'
require "action_dispatch/system_testing/test_helpers/screenshot_helper"
module ActionDispatch
module SystemTesting
module TestHelpers
module ScreenshotHelper
module HtmlSaver
FROM gcr.io/google-appengine/ruby:latest
ARG REQUESTED_RUBY_VERSION="2.5.1"
RUN if test -n "$REQUESTED_RUBY_VERSION" -a \
! -x /rbenv/versions/$REQUESTED_RUBY_VERSION/bin/ruby; then \
(apt-get update -y \
&& apt-get install -y -q gcp-ruby-$REQUESTED_RUBY_VERSION) \
|| (cd /rbenv/plugins/ruby-build \
&& git pull \
@knu
knu / kill_menu.lua
Last active March 11, 2022 14:31
Add a "Kill" menu bar item using Hammerspoon
do
killMenu = hs.menubar.new()
local killer = function (appName)
return function ()
hs.execute("killall " .. appName)
end
end
killMenu:setTitle("☠️")
killMenu:setMenu{
@knu
knu / git-merge-structure-sql
Last active November 30, 2018 06:35
git-merge-structure-sql - git merge driver for db/structure.sql of Rails projects
#!/usr/bin/env ruby
#
# git-merge-structure-sql - git merge driver for db/structure.sql of Rails projects
#
# How to use:
# $ git config merge.merge-structure-sql.name 'Rails structure.sql merge driver'
# $ git config merge.merge-structure-sql.driver 'git-merge-structure-sql %A %O %B'
#
# # To enable it locally:
# $ echo 'structure.sql merge=merge-structure-sql' >> .git/info/attributes
@knu
knu / rspec-mode-request-spec-support.el
Created March 8, 2018 09:15
Teach the request spec file name convention to rspec-mode
(defadvice rspec-spec-file-for (around request-spec-support (a-file-name) activate)
(let ((file ad-do-it))
(setq ad-return-value
(cond ((file-exists-p file)
file)
((string-match "\\`\\(.*/spec/\\)controllers\\(/.+\\)_controller\\(_spec\\.rb\\)\\'" file)
(concat (match-string 1 file)
"requests"
(match-string 2 file)
(match-string 3 file)))
From c13e8a28268dddf79a21f719fd6d6f274b5ff6a6 Mon Sep 17 00:00:00 2001
From: Akinori MUSHA <knu@idaemons.org>
Date: Thu, 15 Feb 2018 19:52:12 +0900
Subject: [PATCH] Avoid using `@` in substitution that confuses FreeBSD make
---
Makefile.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in