Tag Archives: Ruby

ActiveSupportを読む: ActiveSupport::Concern

こんにちは、鈴木です。

先日、「ActiveSupport::Concern でハッピーなモジュールライフを送る」で ActiveSupport::Concern をご紹介しましたが、きっと裏側では色々なテクニックが使われているのではないでしょうか。
続きを読む...

ActiveSupport::Concern でハッピーなモジュールライフを送る

こんにちは、鈴木です。

 

以前のエントリで「includeされた時にクラスメソッドとインスタンスメソッドを同時に追加する頻出パターン」をご紹介しました。
続きを読む...

ActiveSupport の strip_heredoc でヒアドキュメントを綺麗に書く

こんにちは、鈴木です。

ActiveSpport の strip_heredoc というメソッドをご存知でしょうか?

 
行頭の不要なインデント
以下のスクリプトを見てください。
続きを読む...

Rails: includeされた時にクラスメソッドとインスタンスメソッドを同時に追加する頻出パターン

こんにちは、鈴木です。

 

モジュールの include と extend は慣れるまではややこしいですね。
続きを読む...

ActiveSupportを読む: Module#alias_method_chain

こんにちは、鈴木です。

「Rails: alias_method_chain: 既存の処理を修正する常套手段」では alias_method_chain をご紹介しました。
続きを読む...

Rails: alias_method_chain: 既存の処理を修正する常套手段

こんにちは、鈴木です。

 

既存のメソッドの動作を少しだけ変更したい、という場合に使われる常套手段をご紹介します。
続きを読む...

よく使うgemコマンドのオプション

こんにちは、鈴木です。

最近は Gem ライブラリの管理は Bundler で行うことが多いですが、Gemfile に書く時に、

「あのライブラリの正しい名前はなんだっけ?」
「このライブラリの今のバージョンはなんだっけ?」

となることが多いのです。
続きを読む...

ルールを仕組みに置き換える

こんにちは、鈴木です。

 

Rails に限った話ではありませんが、プロジェクトが大きくなるに従い「○○するときは必ず○○する」というルールは増えていきます。
続きを読む...

ActiveSupportを読む: Object#in? で含んでる?

こんにちは、鈴木です。

前回読んだ Hash#reverse_merge は、着目している変数をレシーバにできる便利なメソッドでした。
続きを読む...

ActiveSupportを読む: Hash#reverse_merge

こんにちは、鈴木です。

ActiveSupport では Ruby のコアクラスに多くの拡張を提供しています。

その中に、「core_ext/hash/reverse_merge.rb」で定義されている Hash#reverse_merge があります。
続きを読む...