勉強不足を晒すことになりますが。 仕事で "Specification" なるオブジェクトが出てきたときに、しばらくは漠然としたイメージしか持てませんでした。 当面は直接関わることがなかったのでそのままにしていたのですが、原典に当たったことですっきりしました。 仕様とは、あるオブジェクトが何らかの基準を満たしているかどうかを判定する述語である。 www.shoeisha.co.jp なるほど、述語のオブジェクトということのようです。 その応用については Martin Fowler のサイトで公開されている論文に詳しく書かれています。 https://martinfowler.com/apsupp/spec.pdf そこで、この論文に出てくる CompositeSpecification を Ruby で書いてみました。 module CompositeSpecification class