Skip to content

Instantly share code, notes, and snippets.

View ernie's full-sized avatar

Ernie Miller ernie

View GitHub Profile
@ernie
ernie / venture.conf
Created April 21, 2016 13:29
Sample nginx config for a Venture (https://github.com/ernie/venture) server
server {
listen 80;
server_name venture.mydomain.com;
return 301 https://venture.mydomain.com$request_uri;
}
server {
listen 443 ssl;
server_name venture.mydomain.com;
@ernie
ernie / sanity-score
Last active July 18, 2020 10:28
Here's a little something to run in your Rails app's directory
#!/bin/sh
echo $(
find app/controllers -path app/controllers/concerns -prune -o -type f | wc -l
) / $((
$(egrep -r -l '<\s*ActiveRecord::Base' app/models | wc -l)
+ $(
(
[ -d app/models/concerns ] &&
find app/models/concerns -type f | wc -l
@ernie
ernie / serialization.rb
Created May 29, 2015 12:50
Serialization issue with Rails and jsonb
#!/usr/bin/env ruby
gem 'activerecord'
gem 'minitest'
require 'active_record'
require 'minitest/autorun'
ActiveRecord::Base.establish_connection(
adapter: 'postgresql',
database: 'playground'
@ernie
ernie / my_parser.rb
Created December 23, 2014 17:57
Experiments with non-HTML Kramdown Parser
require 'kramdown'
require 'kramdown/parser'
module Kramdown
module Parser
class MyParser < GFM
def initialize(source, options)
super
@span_parsers.delete(:span_html)
@ernie
ernie / repo.rb
Last active August 29, 2015 14:01
class PersonRepository < Norm::PostgreSQLRepository
def named(name)
select_records(select_statement.where(:name => name))
end
def select_statement
Norm::SQL.select.from('people')
end

Keybase proof

I hereby claim:

  • I am ernie on github.
  • I am ernie (https://keybase.io/ernie) on keybase.
  • I have a public key whose fingerprint is DE33 68E0 9D43 082C 3145 78E8 4E8C 6B3F EC74 DCB2

To claim this, I am signing this object:

#!/bin/bash
# ... some resources regarding escape sequences ...
# man console_codes
# http://en.wikipedia.org/wiki/ANSI_escape_code
# http://rtfm.etla.org/xterm/ctlseq.html
# http://linuxgazette.net/137/anonymous.html
# http://wiki.archlinux.org/index.php/Color_Bash_Prompt
# http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlvt100.html
# http://pushpopnil.info/post/804629866/zsh-cursor-color-vi-mode
@ernie
ernie / delegate.rb
Last active May 31, 2016 10:39
An alternate take on the delegation class macro provided by ActiveSupport. Updated with Ruby 2.0's caller_locations.
#!/usr/bin/env ruby
class Module
private
def delegate(*args)
dest, prefix = _extract_valid_delegation_options(args.pop)
_define_delegators(caller_locations.first, prefix, dest, args)
end
@ernie
ernie / reorder.rb
Created September 6, 2013 19:20
So, I was in the process of writing this code today, and went on a wild goose chase due to this weird error message. I'd expected to see the nil come back from String#index, and give a different error, but no NilClass to be found in this error. String isn't even a type that String#index can return. It should only return a Fixnum or nil. Instead:…
#!/usr/bin/env ruby
require 'minitest/autorun'
class Reorder
SINGLE_CHAR = /./
def initialize(word, order)
@word, @order = word, order
end
@ernie
ernie / dot_context.rb
Created May 14, 2013 18:22
Multistache! A multipass rendering example for Mustache.
class DotContext < String
def initialize(val = '.')
val = '.' # Ensure we're always a dot
super
freeze
end
def to_s
self