bool * @method static callable|bool doesJobNeedReview( ...$job ) - Curried :: \stdClass->bool */ class ReviewStatus { use Macroable; const NEEDS_REVIEW = 'NEEDS_REVIEW'; const EDITING = 'EDITING'; const ACCEPTED = 'ACCEPTED'; public static function init() { self::macro( 'needsReview', Lst::includes( Fns::__, [ ReviewStatus::NEEDS_REVIEW, ReviewStatus::EDITING ] ) ); self::macro( 'doesJobNeedReview', curryN( 1, Logic::ifElse( Fns::identity(), pipe( Obj::prop( 'review_status' ), self::needsReview() ), Fns::always(false) ) )); } } ReviewStatus::init();