Skip to content

Instantly share code, notes, and snippets.

# ターミナルのウインドウタイトルを変更
out_title () { echo -ne "\033P\033]0;$*\033\\ \r" ; }
# gnu-screen の子ウインドウ名を変更
out_screen () { echo -ne "\033k$*\033\\ \r" ; }
@kmdsbng
kmdsbng / template.rb
Created April 28, 2011 12:33 — forked from nog/template.rb
nog rails application template
# usage: rails new hogehoge -m https://raw.github.com/gist/946260
# Copy database.yml
run "cp config/database.yml config/database.sample.yml"
# Delete unnecessary files
run "rm README"
run "rm public/index.html"
#git
git :init
@kmdsbng
kmdsbng / .pryrc
Created August 23, 2011 03:22
.pryrc に書いておく。rails consoleみたく、reload!を使えるようにする用。
# reloads the environment
# to read rails env => $ pry -r pry -r ./config/environment.rb
def reload!(print=true)
puts "Reloading..." if print
# This triggers the to_prepare callbacks
ActionDispatch::Callbacks.new(Proc.new {}, false).call({})
true
end
@kmdsbng
kmdsbng / gist:1185445
Created September 1, 2011 04:22
invalidな文字を含むUTF-8 で、invalidな文字を ? に置換する
# http://d.hatena.ne.jp/yarb/20110112/p1
line = line.encode("UTF-16BE", :invalid => :replace, :undef => :replace, :replace => '?').encode("UTF-8")
@kmdsbng
kmdsbng / gist:1619408
Created January 16, 2012 06:31
Enumerable#to_proc
module Enumerable
def to_proc
proc { |obj, *args| self.map {|v| obj.send(v, *args)} }
end
end
["abc", "def"].map(&[:camelize, :upcase]) => [["Abc", "ABC"], ["Def", "DEF"]]
@kmdsbng
kmdsbng / beginning_of_month.sql
Created February 20, 2012 07:51
月始を取得するSQL(mysql)
select curdate() - interval day(curdate()) - 1 day
@kmdsbng
kmdsbng / generate_tags.rb
Created February 29, 2012 11:00
gemの関数も参照できるようにtagsファイルを作る
#!/bin/env ruby
# -*- encoding: utf-8 -*-
# railsルートからこのコマンドを実行する
# gems.tagsを作るところは guard-ctags-bundler のコードをパクった
require './config/environment.rb'
require 'bundler'
require 'bundler/runtime'
system('ctags -R')
@kmdsbng
kmdsbng / maybe.js
Created March 29, 2012 02:49
Maybe monad? in JavaScript
// usage:
// var target = {hoge: {fuga: 'muga'}};
// maybe(target, 'hoge', 'fuga') //=> 'muga'
// maybe(target, 'moge', 'fuga') //=> undefined
// maybe(target, 'hoge', 'fuga', ['match', /^m/]) //=> ['m']
// maybe(target, 'moge', 'fuga', ['match', /^m/]) //=> undefined
function maybe() {
var self = arguments[0];
var methodChain = [].slice.apply(arguments, [1]);
var len = methodChain.length;
@kmdsbng
kmdsbng / speech_input.html
Created March 30, 2012 13:45
speech input
<input id="todoText" type="text" placeholder="ToDoを入力してね!"
value="" speech x-webkit-speech>
class Never
attr_accessor :value
instance_methods.each do |v|
undef_method(v) unless %w(object_id __id__ __send__).include?(v.to_s)
end
def method_missing(*args)
self
end