Module: RSpec::Undefined::Sentinels

Defined in:
lib/rspec/undefined/sentinels.rb

Overview

レポーター共通の Symbol 値文字列化ヘルパ。be_undefined 系マッチャが expected / actual に埋め込むセンチネル Symbol (:__any__, :nil_or_empty)を含め、Symbol は一律 to_s で文字列化する。センチネルと通常 Symbol を区別しないのは、旧実装の Hash マッピングがキーと値を to_s 相当で等価に扱っていたため(互換維持)。

Class Method Summary collapse

Class Method Details

.normalize(value) ⇒ Object

Symbol は to_s で String 化する。非 Symbol は、ブロックが与えられればその結果を、無ければ値をそのまま返す。



15
16
17
18
# File 'lib/rspec/undefined/sentinels.rb', line 15

def normalize(value)
  return value.to_s if value.is_a?(Symbol)
  block_given? ? yield(value) : value
end