Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

ActiveSupport | 各種ロード方法

概要

各種ロード方法

詳細

部分ロード(一定のテーマに基づくメソッド単位)

core_ext/array/accessなどクラスレベル+テーマごとに分割されて作成されているメソッド群単位で利用する。
下記はcore_ext/array/accessのみを利用する場合の例です。

# encoding: utf-8
require "active_support/core_ext/array/access"

p %w{hoge hige hage}.from 1
p %w{hoge hige hage}.to 1

出力

["hige", "hage"]
["hoge", "hige"]
部分ロード(クラス単位)

core_ext/arrayなどクラス単位で利用する。
下記はcore_ext/array/accessとcore_ext/array/conversionsの機能を同時に利用する例です。

# encoding: utf-8
require "active_support/core_ext/array"

ary = %w{hoge hige hage}
p ary.from 1
p ary.to 1
I18n.enforce_available_locales = false
p ary.to_sentence

出力

["hige", "hage"]
["hoge", "hige"]
"hoge, hige, and hage"
部分ロード(モジュール単位)

core_extやinflectorなどモジュールレベルの機能で利用する。
下記でactive_support/core_ext/arrayとactive_support/core_ext/objectの機能を同時に利用する場合の例です。

# encoding: utf-8
require "active_support/core_ext"

ary = %w{hoge hige hage}
p ary.from 1
p ary.to 1
p "".blank?
p " ".blank?
p "hoge".blank?

出力

["hige", "hage"]
["hoge", "hige"]
true
true
false
全ロード

ActiveSupport全体を利用する。全ロードとはいっても、利用するファイルのみがロードされるようになっています。
下記でactive_support/core_extとactive_support/inflectorの機能を同時に利用する場合の例です。

# encoding: utf-8
require "active_support/all"

p %w{hoge hige hage}.from 1
p "hoge_hige".camelize

出力

["hige", "hage"]
"HogeHige"