タグ

Rubyとmoduleに関するkazuph1986のブックマーク (3)

  • 分別のあるRubyモンキーパッチャーになるために

    Rubyのクラスはオープンです。つまりRubyのユーザが既存のクラスを開いて自由に実装を弄ることができるのです。組み込みクラスとてその例外ではありません。 既存のクラスを開いてメソッドを追加したり再定義したりすることを、業界用語で「モンキーパッチ」といいます。モンキーパッチという語には明らかに批判的・軽蔑的ニュアンスが含まれていますが、多くのRubyistはそれにひるむこと無く良くモンキーパッチします。何しろドアはいつも開いてるんですからねぇ。 るびおのモンキーパッチ モンキーパッチャー「るびお」は、製作中のライブラリで多次元配列の要素に頻繁にアクセスする必要が生じました。これには通常、Array#[]または#atを使って次のようにアクセスします。 irb> arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] irb> arr[1][2] => 6 irb> a

  • ngx_mrubyから学ぶnginxモジュールの作り方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ngx_mrubyを作るにあたって、nginxモジュールの実装方法が分かってきたので、それを連々と書いていこうと思います。nginxモジュールといっても、Apacheモジュールの実装方法と似ていたので、Apacheモジュールを書ける人は同様にnginxモジュールも実装できると思います。 ngx_mruby用のディレクティブを追加 nginxモジュールはApacheモジュールと同じで、基的にはnginxの内部ルールに従って、nginxに処理させたい関数をフックさせる方式で実装します。nginxのconfに新たな設定を追加したい時、例えば、以下のようなnginxの設定を新たに作りたいとします。 location /mruby { mrubyHa

    ngx_mrubyから学ぶnginxモジュールの作り方
    kazuph1986
    kazuph1986 2013/01/09
    知らなかった!いいな!
  • rubyで設定ファイルを書くとき - m-birdとFreeBSDの同棲日記

    いままではmoduleを使って setting.rb module Env HOGE_PATH = "./fuga/" end として、 main.rb path = Env::HOGE_PATH としていたけど、あまり使い勝手がよろしくない。 ので、id:viverに聞いてみた。 で、 こんな打開策。 設定を書くconfig.rbを、こんな感じに。 @hoge = "fuga" @you = "otaku" $config = Hash.new instance_variables.each {|name| $config[name[1..-1].to_sym] = instance_variable_get(name) } いじょ。 で、test.rb load 'config.rb',true p $config これを実行してみると、 $ ruby test.rb {:hoge=>

    rubyで設定ファイルを書くとき - m-birdとFreeBSDの同棲日記
  • 1