ruby

rbish gem 作成中

erb を組み入れたシェルスクリプトを実行する gem を作成している。とりあえず公開だけはした。 https://rubygems.org/gems/rbish 読みは rubbish と同じ【rʌ'biʃ】。erb で書かれたシェルスクリプトを動かすだけなら下にある一行くらいでもどうにかなるので…

libv8 のバージョンを探す

2013年の Ruby on Rails Advent Calendar に参加しようと思ったら、その日のぶんが空いていたので、当日の 23:45 からプログラムを書いてそのまま記事にするというエクストリームアドベントをすることとなりました。プログラマ的には 33 時までは当日だから…

bundle install を早くする唯四の方法

皆さん、bundler 使用していますか?(はーい!という声)そうですね、とても便利ですね。でも遅い。何より速さが足りない。そう思うことも時折あるのではないでしょうか。bundle install に数分間かかるのはよくある話、ときによっては10分以上も bundle in…

Ruby と exec と fd と

ruby で exec するときにソケットや fd のリークを起こさないために。主に自分用の調査結果のメモ。 結論 ruby 1.9.1 以上で exec するときは、何はなくとも :close_others をつける ruby 2.0.0 以降ではこれを設定しなくても fd リークはしない ruby 1.9.0 …

therubyracer 0.11.0 問題まとめ

Rails 3.1 以降で良く使われるようになった therubyracer ですが、最近、これを含む bundle install がやたらと時間がかかったり、あるいはそもそも失敗してしまう、という事象が多数報告されています。 解決方法 以下の三つの方法が基本的な解決方法です。 …

yamlにRubyのクラス名を入れて設定ファイルとして利用する

Rubyで設定ファイルを作るとき、yamlファイルを利用することがある。そのyamlファイルの中に、ユーザ定義のクラス名を入れて、設定ファイルによって利用するクラスを変更するようなことをしたい。と思った時のためのやり方。 まあ、yamlクラスにあるんですけ…

rbenvを全ユーザ用にインストールする

システムで利用するrubyのバージョン管理にaptやyumは使いたくないので、rbenvでやってしまいましょう。という話。 rbenv のインストール インストール場所は /opt/ruby 以下。別に/usr/localでも問題ないけど、私の管理ポリシ的にそうしてる。 # mkdir -p /…

BundlerでFizzBuzz

今年もFizzBuzzの季節がやってまいりました。FizzBuzzを書くことのできない言語を使えると口にすることはとても恥ずかしいことらしいので、きっとFizzBuzzを書くことのできないライブラリを使ってることも恥ずかしいことなのだろうと思います。私も、ほとん…

fizzbuzz

条件分岐のやり方を忘れたネットワーク園児がなんかfizzbuzz書いてみました。ifと剰余演算子を使わない例。(http://bugrammer.g.hatena.ne.jp/nisemono_san/20111008 を見た) #!ruby class FizzBuzzer @@max = 1000 def self.define_my_methods num, word …