Tbpgr Blog

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

Ruby on Rails

ActiveSupport | String#at,from,to,first

概要 String#at,from,to,first 詳細 String#at,from,to,first について String#at,from,to,first 文字列の位置指定抽出関連のメソッド群。at任意のインデックスの文字を取得 from任意のインデックス以降の文字列を取得 to任意のインデックスまでの文字列を取…

ActiveSupport | String#indent

概要 String#indent 詳細 String#indent について String#indent テキストをインデントしてくれる。内部のインデント形式に合わせてスペースインデントやタブインデントを行ってくれる。 インデント形式を明示的に指定することも可能。 サンプル # encoding:…

ActiveSupport | String#strip_heredoc

概要 String#strip_heredoc 詳細 String#strip_heredoc について String#strip_heredoc ヒアドキュメントをインデントの開始位置をインデントの1階層目として 不要な空白を除去してくれる。ヒアドキュメントはこういう風に書けたらいいのに、と思っていたの…

ActiveSupport | StringInquirer

概要 StringInquirer 詳細 StringInquirer について StringInquirer 文字列比較を構文の一部のように見せる機能を提供する。例えば Rails.env = "production" サンプル # encoding: utf-8 require 'active_support/core_ext' env = "production" p env == "p…

ActiveSupport | String#truncate

概要 String#truncate 詳細 String#truncate について String#truncate 指定文字数以降を除去した文字列を返す。 デフォルトでは最後の3文字を...にして返却する。よくブログ等で見る、「...続き」などの用途に使える。 デフォルト以外の文字を設定したけれ…

ActiveSupport | String#squish

概要 String#squish 詳細 String#squish について String#squish squish = 圧搾。 文字列中の改行文字を取り除き、連続したスペースを一つにする。 サンプル # encoding: utf-8 require 'active_support/core_ext/string/filters' p " test1 test2\ntest3\rt…

ActiveSupport | Class#descendants

概要 Class#descendants 詳細 Class#descendants について Class#descendants 子孫クラスを取得する。descendants=子孫 サブクラス、サブクラスのサブクラス等特定クラスから継承された全てのクラスを取得する。 サンプル # encoding: utf-8 require 'activ…

ActiveSupport | Class#subclasses

概要 Class#subclasses 詳細 Class#subclasses について Class#subclasses サブクラスを取得する。 サンプル # encoding: utf-8 require 'active_support/core_ext/class/subclasses' require 'tbpgr_utils' class A;end class B < A;end class D < A;end cl…

ActiveSupport | Module#class_attribute

概要 Module#class_attribute 詳細 Module#class_attribute について Module#class_attribute クラスレベルの属性を設定する。 継承先でも引き継がれる。 インスタンスからも利用可能。 instance_readerオプション、instance_writerオプションの指定によって…

ActiveSupport | Module#delegate

概要 Module#delegate 詳細 Module#delegate について Module#delegate メソッドの委譲を行う。 複数のメソッドの一括委譲も可能。toオプションで委譲オブジェクトの指定 prefixオプションでプリフィックスの有無を設定(省略するとプリフィックスなし) all…

ActiveSupport | Module#parent

概要 Module#parent 詳細 Module#parentについて Module#parent 親モジュールを取得する。 トップレベルまで到達した場合はObjectを返却する。 サンプル # encoding: utf-8 require 'active_support/core_ext/module/introspection' require 'tbpgr_utils' m…

ActiveSupport | Module#alias_attribute

概要 Module#alias_attribute 詳細 Module#alias_attributeについて Module#alias_attribute Attributeにエイリアスを付与する。 サンプル # encoding: utf-8 require 'active_support/core_ext/module/aliasing' require 'tbpgr_utils' require 'attributes…

ActiveSupport | Module#alias_method_chain (公式サイトに載っていないブロック呼び出しのサンプル付)

概要 Module#alias_method_chain 詳細 Module#alias_method_chainについて Module#alias_method_chain メソッドにエイリアスを付与する際に、old_with_new,old_without_new という名称のエイリアスを生成する。(メソッド名の衝突防止) ※old=古いメソッド名…

ActiveSupport | Object#in?

概要 Object#in? 詳細 Object#in?について Object#in? 対象オブジェクトのinclude?を呼び出し、結果を真偽値で返却します。 配列、文字列、範囲など種類を問わず指定した値が含まれているか判定したい場合に有用です。 サンプル # encoding: utf-8 require "…

ActiveSupport | reporting

概要 reporting 詳細 reportingについて 一覧 method 内容 Kernel#enable_warnings $VERBOSEをtrueにしてブロックを実行する。ブロック実行後、$VERBOSEは処理前の値に戻す Kernel#slice_warnings $VERBOSEをnilにしてブロックを実行する。ブロック実行後、$…

Ruby on Rails | Controllerのテスト | Controllerが保持しているインスタンス変数の検証

概要 Controllerのテスト | Controllerが保持しているインスタンス変数の検証 詳細 ControllerのテストのControllerが保持しているインスタンス変数の検証をします。 検証対象 Controller実行時のインスタンス変数の内容はassignsに格納されています。 サン…

Ruby on Rails | Controllerのテスト | リクエストの成功確認

概要 Controllerのテスト | リクエストの成功確認 詳細 Controllerのテストのリクエストの成功確認を行います。 リクエストの呼び出し リクエストの実行はリクエスト種別の指定とメソッドの指定を行います。呼び出し方法 リクエスト種別 :method 例えば get:…

Ruby on Rails | Devise利用時のテスト

概要 Devise利用時のテスト 詳細 Devise利用時のController等のテストにおいて、認証以降のページが対称となる場合のテスト方法。まずDevise::TestHelpersをincludeします include Devise::TestHelpers あとは各ケースのbefore等でsign_inメソッドを呼び出し…

ActiveSupport | Object#instance_values/instance_variable_names

概要 Object#instance_values/instance_variable_names 詳細 Object#instance_values/instance_variable_namesについて Object#instance_values/instance_variable_names instance_values:インスタンス変数の値をハッシュで取得する。 instance_variable_na…

ActiveSupport | Object#with_options

概要 Object#with_options 詳細 Object#with_optionsについて Object#with_options オプションを受け取るメソッドに対して、一部のオプションは固定・一部のオプションは可変、 のような場合に固定部を繰り返し記述しない済む。 詳しくはサンプルを参照 サン…

ActiveSupport | Object#to_query

概要 Object#to_query 詳細 Object#to_paramについて Object#to_query クエリ文字列を作成する際に利用される。 Arrayはキーが空で "user=aaa&user=bbb"のようになる。 Hashはクエリー文字列を想定しているため、aaa='aaa'&bbb='bbb'&ccc='ccc'のような文字…

ActiveSupport | Object#to_param

概要 Object#to_param 詳細 Object#to_paramについて Object#to_param URLおよびクエリ文字列を作成する際に利用される。 基本はselfを返却する。 ArrayはURLを想定しているため、/区切りの文字列を返却する。 Hashはクエリー文字列を想定しているため、aaa=…

ActiveSupport | Object#acts_like?

概要 Object#acts_like? 詳細 Object#acts_like?について Object#acts_like? acts_like_xxx?を実装している場合に acts_like? :xxxを呼び出すと真を返却する。ダックタイピングを利用する際のマーカーとして利用する。 サンプル # encoding: utf-8 require "…

ActiveSupport | Kernel#class_eval

概要 Kernel#class_eval 詳細 Kernel#class_evalについて Kernel#class_eval 特異クラス(singleton_class)のclass_evalを呼び出すのと同等。 サンプル # encoding: utf-8 require "active_support/core_ext/kernel/singleton_class" require "tbpgr_utils"…

ActiveSupport | Object#try

概要 Object#try 詳細 Object#tryについて Object#try nilでは無い時だけメソッドを実行したい場合に利用する。 nilの場合は例外は発生せず、nilを返却するObject#tryはメソッドが存在しない場合にエラーにならない。(nilを返却する) Object#try!はメソッ…

ActiveSupport | Object#deep_dup

概要 Object#deep_dup 詳細 Object#deep_dupについて Object#deep_dup Rubyの標準コピーのdupメソッドはシャローコピーになっている。 deep_dupはディープコピーの機能を提供する。 サンプル # encoding: utf-8 require "active_support/core_ext/object/dee…

ActiveSupport | Object#duplicable?

概要 Object#duplicable? 詳細 Object#duplicable?について Object#duplicable? dupが可能かどうかを返却する。 Rubyのオブジェクトのうち、一部のオブジェクトはシングルトンになっているため dupが不可能になっている。例えば、数字の1や論理値のtrueなど…

ActiveSupport | Object#presence

概要 Object#presence 詳細 Object#presenceについて Object#presence present?がtrueならインスタンスを返却、それ以外ならnilを返却する。 nilガードと併用されるパターンが多い。 present?については下記記事参照ActiveSupport | Extensions to All Objec…

ActiveSupport | Extensions to All Objects | blank?/present?

概要 Object#blank?/present? 詳細 Object#blank?/present?について Object#blank? false、nil、スペース文字のみの文字列、空のHash、空の配列、対象クラスにempty?が実装されていてtrueを返した場合に真を返す。 Object#present? blank?の反対。実際に実装…

ActiveSupport

概要 Ruby on Railsのライブラリ、ActiveSupportについて。 一覧 ActiveSupport 項目 URL 各種ロード方法 http://d.hatena.ne.jp/tbpg/20140111/1389450398 Object#blank?/present? http://d.hatena.ne.jp/tbpg/20140113/1389613367 Object#presence http://…