読者です 読者をやめる 読者になる 読者になる

c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programmingに分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡

音樂はSoundCloud等バラバラの場所に公開中です。申し訳ないがlinkをたどるなどして探してください。

考察は現在は主に此のblogで公表中です。

programmingは、ひろくみせるものはGitHubで、個人的なものはBitBucketで開発中です。

c4se

RspecのJSON ExpressionsでNullableなマッチャー (若しくはORマッチャー) を作る

Programming Ruby

RspecJSON Expressions ( https://github.com/chancancode/json_expressions ) を使ってゐる。便利かと云ふと便利ではない気がするが、変へる余裕も無いので使ってゐる。
其れなりにJSONの構造をマッチできるのだが、ORができない気がする。できるのかもしれないが、できない気がする。「文字列 若しくは nil」なんてのができない気がする。wildcard_matcherなんて云ふあらゆるものに無条件にマッチするものを、ほいほいとは使ひたくない。とても困る。
JSON Expressionsはマッチに === を使ってゐるので、手製のマッチャーを作ってやる。以下をRSpecのhelperに書く。

# license: Public Domain

class OrMatcher
  def initialize *vs; @vs = vs; end
  def === target; @vs.any?{|v| v === target }; end
end
def or_matcher *vs; OrMatcher.new *vs; end

然し面倒なので、or_matcher(/.*/, nil)とかor_matcher((0..Float::INFINITY), nil)なんてcodeを書いてゐたりする。
JSV (JSON Schema Validator) を使おう。