Skip to content

Instantly share code, notes, and snippets.

View labocho's full-sized avatar

labocho

View GitHub Profile
@labocho
labocho / csvconv.rb
Last active August 29, 2015 14:03
CSV Converter
#!/usr/bin/env ruby
# Example:
# # UTF-8 CSV to Excel Compatible TSV
# $ csvconv --output-encoding="bom|utf-16le" --output-col-sep="\t" data.csv > data.txt
# # Excel Compatible TSV to UTF-8 CSV
# $ csvconv --input-encoding="bom|utf-16" --input-col-sep="\t" --output-encoding="utf-8" --output-col-sep="," data.txt > data.csv
require "optparse"
require "csv"
@labocho
labocho / backup-twitpic.rb
Created September 5, 2014 02:02
引数で指定したユーザの twitpic のメタデータと画像を ./twitpic に保存
#!/usr/bin/env ruby
gem "rest-client", "~> 1.6.6"
require "rest-client"
require "json"
require "time"
unless username = ARGV.first
STDERR.puts "Usage: backup-twitpic username"
exit 1
end
@labocho
labocho / kobito_export.rb
Created October 3, 2014 07:20
Kobito.db から Kobito 2.0 の同期用 JSON へエクスポート
#!/usr/bin/env ruby
unless ARGV.first
STDERR.puts "Usage #{$0} ~/Library/Kobito/Kobito.db"
exit 1
end
gem "activerecord", "4.1.6"
gem "composite_primary_keys", "7.0.10"
gem "sqlite3", "1.3.9"
@labocho
labocho / foreigner.rb
Created February 26, 2015 10:34
Synvert snippet to keep foreign key name generated by `foreigner` gem for Rails 4.2 app.
# Synvert snippet to keep foreign key name generated by `foreigner` gem for Rails 4.2 app.
# Usage:
# Save to ~/.synvert/lib/rails/foreigner.rb
# $ cd RAILS_ROOT
# $ synvert --run rails/foreigner
require "active_support/inflector"
load "config/initializers/inflections.rb"
module Synvert::Core
@labocho
labocho / change_lang_of_epub.rb
Created June 5, 2011 17:40
Change language of EPUB file for looking up dictionary in iBooks
require "rubygems"
require "zipruby" # gem install zipruby
require "rexml/document"
require "fileutils"
class Zip::Archive
def index
i = 0
each do |f|
if yield f
@labocho
labocho / gist:1263962
Created October 5, 2011 08:53
Convert TSV to WikiTable (TextMate Bundle Command)
#!/usr/bin/env ruby
# Convert TSV to WikiTable (TextMate Bundle Command)
#
# Input: Selected Text or Line
# Output: Replace Selected Text
s = STDIN.readlines.map{|line| line.gsub(/\t/, " || ").gsub(/^/, "| ").strip }.join("\n|-\n")
puts "{|class=\"wikitable\"\n#{s}\n|}"
@labocho
labocho / footwork_trainer.rb
Created October 23, 2011 09:49
Footwork Trainer for Fencer
#!/usr/bin/env ruby
# encoding: UTF-8
# Footwork trainer for fencer
# for Mac OS X
class Footwork
attr_accessor :name, :weight, :duration
def initialize(attrs = {})
attrs.each do |k, v|
@labocho
labocho / gist:1373210
Created November 17, 2011 14:05
Time signal (時報) by cron, growlnotify, and ruby
0 * * * * ruby -e 'puts "#{Time.now.hour} o\x27clock"' | /usr/local/bin/growlnotify
@labocho
labocho / README
Created November 27, 2011 16:30
「プログラミング言語 Ruby」の目次 (jpdfbookmarks format)
* O'reilly Japan Ebook Store で販売されている「プログラミング言語 Ruby (http://www.oreilly.co.jp/books/9784873113944/)」の目次です。
* Gist の仕様上 UTF-8 になってるので、Shift JIS に変換してください。
* JPdfBookmarks (http://sourceforge.net/projects/jpdfbookmarks/) で対象の PDF を開き、[Tools]-[Load] から目次ファイルを指定、[File]-[Save] で保存してください。
@labocho
labocho / bench_aws.rb
Created January 30, 2012 18:21
CarrierWave Benchmark (URL generating for AWS private bucket)
$LOAD_PATH << File.expand_path("lib") # carrierwave/lib path
require "carrierwave"
require "benchmark"
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'foo',
:aws_secret_access_key => 'bar',
}