Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/r/ruby-dry-logic/ruby-dry-logic_1.2.0-3_all.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/ruby-dry-logic-1.2.0-359txuv87/ruby-dry-logic_1.2.0-3_all.buildinfo Get source package info: ruby-dry-logic=1.2.0-3 Source URL: http://snapshot.notset.fr/mr/package/ruby-dry-logic/1.2.0-3/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=adduser=3.118 autoconf=2.71-2 automake=1:1.16.5-1.1 autopoint=0.21-4 autotools-dev=20180224.1+nmu1 base-files=12 base-passwd=3.5.52 bash=5.1-3.1 binutils=2.37-10 binutils-common=2.37-10 binutils-x86-64-linux-gnu=2.37-10 bsdextrautils=2.37.2-4 bsdutils=1:2.37.2-4 build-essential=12.9 bzip2=1.0.8-4 ca-certificates=20211016 coreutils=8.32-4.1 cpp=4:11.2.0-2 cpp-11=11.2.0-12 dash=0.5.11+git20210903+057cd650a4ed-3 debconf=1.5.79 debhelper=13.5.2 debianutils=5.5-1 devscripts=2.21.5 dh-autoreconf=20 dh-strip-nondeterminism=1.12.1-1 diffutils=1:3.7-5 dirmngr=2.2.27-2 dpkg=1.20.9 dpkg-dev=1.20.9 dwz=0.14-1 fakeroot=1.26-1 file=1:5.41-2 findutils=4.8.0-1 g++=4:11.2.0-2 g++-11=11.2.0-12 gcc=4:11.2.0-2 gcc-11=11.2.0-12 gcc-11-base=11.2.0-12 gem2deb=1.7 gem2deb-test-runner=1.7 gettext=0.21-4 gettext-base=0.21-4 gnupg=2.2.27-2 gnupg-l10n=2.2.27-2 gnupg-utils=2.2.27-2 gpg=2.2.27-2 gpg-agent=2.2.27-2 gpg-wks-client=2.2.27-2 gpg-wks-server=2.2.27-2 gpgconf=2.2.27-2 gpgsm=2.2.27-2 gpgv=2.2.27-2 grep=3.7-1 groff-base=1.22.4-7 gzip=1.10-4 hostname=3.23 init-system-helpers=1.60 intltool-debian=0.35.0+20060710.5 libacl1=2.3.1-1 libarchive-zip-perl=1.68-1 libasan6=11.2.0-12 libassuan0=2.5.5-1 libatomic1=11.2.0-12 libattr1=1:2.5.1-1 libaudit-common=1:3.0.6-1 libaudit1=1:3.0.6-1+b1 libb-hooks-op-check-perl=0.22-1+b3 libbinutils=2.37-10 libblkid1=2.37.2-4 libbsd0=0.11.3-1 libbz2-1.0=1.0.8-4 libc-bin=2.32-4 libc-dev-bin=2.32-4 libc6=2.32-4 libc6-dev=2.32-4 libcap-ng0=0.7.9-2.2+b1 libcap2=1:2.44-1 libcc1-0=11.2.0-12 libclass-method-modifiers-perl=2.13-1 libcom-err2=1.46.4-1 libcrypt-dev=1:4.4.26-1 libcrypt1=1:4.4.26-1 libctf-nobfd0=2.37-10 libctf0=2.37-10 libdb5.3=5.3.28+dfsg1-0.8 libdebconfclient0=0.261 libdebhelper-perl=13.5.2 libdevel-callchecker-perl=0.008-1+b2 libdpkg-perl=1.20.9 libdynaloader-functions-perl=0.003-1.1 libedit2=3.1-20210910-1 libelf1=0.186-1 libencode-locale-perl=1.05-1.1 libexpat1=2.4.1-3 libfakeroot=1.26-1 libffi8=3.4.2-3 libfile-dirlist-perl=0.05-2 libfile-homedir-perl=1.006-1 libfile-listing-perl=6.14-1 libfile-stripnondeterminism-perl=1.12.1-1 libfile-touch-perl=0.12-1 libfile-which-perl=1.23-1 libgcc-11-dev=11.2.0-12 libgcc-s1=11.2.0-12 libgcrypt20=1.9.4-3+b1 libgdbm-compat4=1.22-1 libgdbm6=1.22-1 libgmp-dev=2:6.2.1+dfsg-3 libgmp10=2:6.2.1+dfsg-3 libgmpxx4ldbl=2:6.2.1+dfsg-3 libgnutls30=3.7.2-2 libgomp1=11.2.0-12 libgpg-error0=1.42-3 libgssapi-krb5-2=1.18.3-7 libhogweed6=3.7.3-1 libhtml-parser-perl=3.76-1 libhtml-tagset-perl=3.20-4 libhtml-tree-perl=5.07-2 libhttp-cookies-perl=6.10-1 libhttp-date-perl=6.05-1 libhttp-message-perl=6.35-1 libhttp-negotiate-perl=6.01-1 libicu67=67.1-7 libidn2-0=2.3.2-2 libimport-into-perl=1.002005-1 libio-html-perl=1.004-2 libio-pty-perl=1:1.15-2 libio-socket-ssl-perl=2.072-1 libipc-run-perl=20200505.0-1 libisl23=0.24-2 libitm1=11.2.0-12 libk5crypto3=1.18.3-7 libkeyutils1=1.6.1-2 libkrb5-3=1.18.3-7 libkrb5support0=1.18.3-7 libksba8=1.6.0-2 libldap-2.4-2=2.4.59+dfsg-1 liblsan0=11.2.0-12 liblwp-mediatypes-perl=6.04-1 liblwp-protocol-https-perl=6.10-1 liblz4-1=1.9.3-2 liblzma5=5.2.5-2 libmagic-mgc=1:5.41-2 libmagic1=1:5.41-2 libmd0=1.0.4-1 libmodule-runtime-perl=0.016-1 libmoo-perl=2.005004-2 libmount1=2.37.2-4 libmpc3=1.2.1-1 libmpdec3=2.5.1-2 libmpfr6=4.1.0-3 libncursesw6=6.3-1 libnet-http-perl=6.21-1 libnet-ssleay-perl=1.90-1 libnettle8=3.7.3-1 libnpth0=1.6-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libp11-kit0=0.24.0-5 libpam-modules=1.4.0-10 libpam-modules-bin=1.4.0-10 libpam-runtime=1.4.0-10 libpam0g=1.4.0-10 libparams-classify-perl=0.015-1+b3 libpcre2-8-0=10.39-3 libpcre3=2:8.39-13 libperl5.32=5.32.1-6 libpipeline1=1.5.4-1 libpython3-stdlib=3.9.8-1 libpython3.9-minimal=3.9.9-1 libpython3.9-stdlib=3.9.9-1 libquadmath0=11.2.0-12 libreadline8=8.1-2 librole-tiny-perl=2.002004-1 libruby2.7=2.7.4-1+b1 libruby3.0=3.0.2-5 libsasl2-2=2.1.27+dfsg2-2 libsasl2-modules-db=2.1.27+dfsg2-2 libseccomp2=2.5.3-2 libselinux1=3.3-1+b1 libsemanage-common=3.3-1 libsemanage2=3.3-1+b1 libsepol2=3.3-1 libsigsegv2=2.13-1 libsmartcols1=2.37.2-4 libsqlite3-0=3.36.0-2 libssl1.1=1.1.1l-1 libstdc++-11-dev=11.2.0-12 libstdc++6=11.2.0-12 libsub-override-perl=0.09-2 libsub-quote-perl=2.006006-1 libsystemd0=249.7-1 libtasn1-6=4.18.0-4 libtimedate-perl=2.3300-2 libtinfo6=6.3-1 libtirpc-common=1.3.2-2 libtirpc-dev=1.3.2-2 libtirpc3=1.3.2-2 libtool=2.4.6-15 libtry-tiny-perl=0.30-1 libtsan0=11.2.0-12 libubsan1=11.2.0-12 libuchardet0=0.0.7-1 libudev1=249.7-1 libunistring2=0.9.10-6 liburi-perl=5.10-1 libuuid1=2.37.2-4 libwww-perl=6.58-1 libwww-robotrules-perl=6.02-1 libxml2=2.9.12+dfsg-5+b1 libyaml-0-2=0.2.2-1 libzstd1=1.4.8+dfsg-3 linux-libc-dev=5.15.3-1 login=1:4.8.1-2 lsb-base=11.1.0 m4=1.4.18-5 make=4.3-4.1 man-db=2.9.4-2 mawk=1.3.4.20200120-2 media-types=4.0.0 ncurses-base=6.3-1 ncurses-bin=6.3-1 netbase=6.3 openssl=1.1.1l-1 passwd=1:4.8.1-2 patch=2.7.6-7 patchutils=0.4.2-1 perl=5.32.1-6 perl-base=5.32.1-6 perl-modules-5.32=5.32.1-6 perl-openssl-defaults=5 pinentry-curses=1.1.0-4 po-debconf=1.0.21+nmu1 python3=3.9.8-1 python3-minimal=3.9.8-1 python3.9=3.9.9-1 python3.9-minimal=3.9.9-1 rake=13.0.3-1 readline-common=8.1-2 rpcsvc-proto=1.4.2-4 ruby=1:2.7.6 ruby-all-dev=1:2.7.6 ruby-concurrent=1.1.6+dfsg-3 ruby-diff-lcs=1.4.4-1 ruby-dry-core=0.7.1-1 ruby-minitest=5.13.0-1 ruby-net-telnet=0.1.1-2 ruby-power-assert=1.1.7-2 ruby-rspec=3.10.0c1e1m2s3-1 ruby-rspec-core=3.10.0c1e1m2s3-1 ruby-rspec-expectations=3.10.0c1e1m2s3-1 ruby-rspec-mocks=3.10.0c1e1m2s3-1 ruby-rspec-support=3.10.0c1e1m2s3-1 ruby-rubygems=3.2.27-3 ruby-test-unit=3.3.9-1 ruby-warning=1.2.1-1 ruby-xmlrpc=0.3.2-1 ruby2.7=2.7.4-1+b1 ruby2.7-dev=2.7.4-1+b1 ruby3.0=3.0.2-5 ruby3.0-dev=3.0.2-5 rubygems-integration=1.18 sed=4.8-1 sensible-utils=0.0.17 sysvinit-utils=3.00-1 tar=1.34+dfsg-1 tzdata=2021e-1 util-linux=2.37.2-4 wdiff=1.2.2-2+b1 xz-utils=5.2.5-2 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20211125T024936Z/ unstable main deb-src http://snapshot.notset.fr/archive/debian/20211125T024936Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20211126T150138Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d ruby-dry-logic=1.2.0-3 && mkdir -p /build/ruby-dry-logic-EkQpDe && dpkg-source --no-check -x /*.dsc /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0 && chown -R builduser:builduser /build/ruby-dry-logic-EkQpDe" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1637789008" dpkg-buildpackage -uc -a amd64 --build=all" --customize-hook=sync-out /build/ruby-dry-logic-EkQpDe /tmp/ruby-dry-logic-1.2.0-359txuv87 bookworm /dev/null deb http://snapshot.notset.fr/archive/debian/20211126T150138Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.2KFSCB8Sag as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.2KFSCB8Sag Reading package lists... Building dependency tree... util-linux is already the newest version (2.37.2-4). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20211126T150138Z unstable/main amd64 libfakeroot amd64 1.26-1 [47.3 kB] Get:2 http://snapshot.notset.fr/archive/debian/20211126T150138Z unstable/main amd64 fakeroot amd64 1.26-1 [87.1 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (1037 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4672 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.26-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.26-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.26-1_amd64.deb ... Unpacking fakeroot (1.26-1) ... Setting up libfakeroot:amd64 (1.26-1) ... Setting up fakeroot (1.26-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.32-4) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20211125T024936Z/ unstable main deb-src http://snapshot.notset.fr/archive/debian/20211125T024936Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20211126T150138Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.2KFSCB8Sag Get:1 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable InRelease [165 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20211126T150138Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main Sources [12.5 MB] Get:4 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main amd64 Packages [12.0 MB] Fetched 24.7 MB in 21s (1189 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.2KFSCB8Sag I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d ruby-dry-logic=1.2.0-3 && mkdir -p /build/ruby-dry-logic-EkQpDe && dpkg-source --no-check -x /*.dsc /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0 && chown -R builduser:builduser /build/ruby-dry-logic-EkQpDe"' exec /tmp/mmdebstrap.2KFSCB8Sag Reading package lists... NOTICE: 'ruby-dry-logic' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/ruby-team/ruby-dry-logic.git Please use: git clone https://salsa.debian.org/ruby-team/ruby-dry-logic.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 42.9 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main ruby-dry-logic 1.2.0-3 (dsc) [2114 B] Get:2 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main ruby-dry-logic 1.2.0-3 (tar) [37.0 kB] Get:3 http://snapshot.notset.fr/archive/debian/20211125T024936Z unstable/main ruby-dry-logic 1.2.0-3 (diff) [3788 B] Fetched 42.9 kB in 0s (551 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'ruby-dry-logic_1.2.0-3.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting ruby-dry-logic in /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0 dpkg-source: info: unpacking ruby-dry-logic_1.2.0.orig.tar.gz dpkg-source: info: unpacking ruby-dry-logic_1.2.0-3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying Fix-NameError-by-requiring-uri.patch dpkg-source: info: applying Fix-specs-for-size-min_size-max_size-predicates-fixes-91.patch I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1637789008" dpkg-buildpackage -uc -a amd64 --build=all"' exec /tmp/mmdebstrap.2KFSCB8Sag dpkg-buildpackage: info: source package ruby-dry-logic dpkg-buildpackage: info: source version 1.2.0-3 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Daniel Leidert dpkg-source --before-build . debian/rules clean dh clean --buildsystem=ruby --with ruby dh_auto_clean -O--buildsystem=ruby dh_ruby --clean dh_ruby --clean dh_autoreconf_clean -O--buildsystem=ruby dh_clean -O--buildsystem=ruby debian/rules binary-indep dh binary-indep --buildsystem=ruby --with ruby dh_update_autotools_config -i -O--buildsystem=ruby dh_autoreconf -i -O--buildsystem=ruby dh_auto_configure -i -O--buildsystem=ruby dh_ruby --configure dh_auto_build -i -O--buildsystem=ruby dh_ruby --build dh_ruby --build dh_auto_test -i -O--buildsystem=ruby dh_ruby --test create-stamp debian/debhelper-build-stamp dh_testroot -i -O--buildsystem=ruby dh_prep -i -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-dry-logic/ -i -O--buildsystem=ruby dh_ruby --install /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic dh_ruby --install /usr/bin/ruby2.7 -S gem build --config-file /dev/null --verbose /tmp/d20211130-33192-1a202jz/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: description and summary are identical WARNING: open-ended dependency on bundler (>= 0, development) is not recommended use a bounded requirement, such as '~> x.y' WARNING: open-ended dependency on rake (>= 0, development) is not recommended use a bounded requirement, such as '~> x.y' WARNING: open-ended dependency on rspec (>= 0, development) is not recommended use a bounded requirement, such as '~> x.y' WARNING: See https://guides.rubygems.org/specification-reference/ for help Successfully built RubyGem Name: dry-logic Version: 1.2.0 File: dry-logic-1.2.0.gem /usr/bin/ruby2.7 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-dry-logic/usr/share/rubygems-integration/all /tmp/d20211130-33192-1a202jz/dry-logic-1.2.0.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry-logic.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/appliable.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/builder.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/evaluator.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/abstract.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/and.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/attr.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/binary.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/check.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/each.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/implication.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/key.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/negation.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/or.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/set.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/unary.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operations/xor.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/operators.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/predicates.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/result.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/rule.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/rule/interface.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/rule/predicate.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/rule_compiler.rb /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all/gems/dry-logic-1.2.0/lib/dry/logic/version.rb Successfully installed dry-logic-1.2.0 1 gem installed cd debian/ruby-dry-logic/usr/share/rubygems-integration/all rm -rf bin rm -rf build_info rm -rf cache rm -rf doc rm -rf extensions rmdir plugins cd gems/dry-logic-1.2.0 rm -f chmod 644 lib/dry-logic.rb lib/dry/logic.rb lib/dry/logic/appliable.rb lib/dry/logic/builder.rb lib/dry/logic/evaluator.rb lib/dry/logic/operations.rb lib/dry/logic/operations/abstract.rb lib/dry/logic/operations/and.rb lib/dry/logic/operations/attr.rb lib/dry/logic/operations/binary.rb lib/dry/logic/operations/check.rb lib/dry/logic/operations/each.rb lib/dry/logic/operations/implication.rb lib/dry/logic/operations/key.rb lib/dry/logic/operations/negation.rb lib/dry/logic/operations/or.rb lib/dry/logic/operations/set.rb lib/dry/logic/operations/unary.rb lib/dry/logic/operations/xor.rb lib/dry/logic/operators.rb lib/dry/logic/predicates.rb lib/dry/logic/result.rb lib/dry/logic/rule.rb lib/dry/logic/rule/interface.rb lib/dry/logic/rule/predicate.rb lib/dry/logic/rule_compiler.rb lib/dry/logic/version.rb find lib/ -type d -empty -delete cd - cd - dh_installchangelogs -pruby-dry-logic /build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/CHANGELOG.md upstream /usr/bin/ruby2.7 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby2.7 │ └──────────────────────────────────────────────────────────────────────────────┘ GEM_PATH=/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all:/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/2.7.0:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/x86_64-linux-gnu/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 ruby2.7 -e gem\ \"dry-logic\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby2.7 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all:/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/2.7.0:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/x86_64-linux-gnu/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 ruby2.7 -S rake -f debian/ruby-tests.rake /usr/bin/ruby2.7 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation Randomized with seed 10197 Dry::Logic::Predicates #attr? when value responds to the attr name behaves like a passing predicate is expected to equal true with value does not respond to the attr name behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #excluded_from? with value is present in list behaves like a failing predicate is expected to equal false when value is not present in list behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #hash? when value is not a hash behaves like a failing predicate is expected to equal false when value is a hash behaves like a passing predicate is expected to equal true Dry::Logic::Operations::And #and creates and with the other #to_s returns string representation #to_ast returns failure result ast returns result ast returns ast #call calls left and right #or creates or with the other operations negation failure behaves like operation is expected to eq false success behaves like operation is expected to eq true operators | success behaves like operation is expected to eq true behaves like operation is expected to eq true then [true => true] behaves like operation is expected to eq true [false => true] behaves like operation is expected to eq true [true => false] behaves like operation is expected to eq false & success behaves like operation is expected to eq true failure behaves like operation is expected to eq false ^ success behaves like operation is expected to eq true behaves like operation is expected to eq true failure behaves like operation is expected to eq false > [false => true] behaves like operation is expected to eq true [true => false] behaves like operation is expected to eq false [true => true] behaves like operation is expected to eq true key failure behaves like operation is expected to eq false success behaves like operation is expected to eq true check one path success behaves like operation is expected to eq true failure behaves like operation is expected to eq false two paths success behaves like operation is expected to eq true failure behaves like operation is expected to eq false nested success is expected to be a success failure is expected not to be a success and failure behaves like operation is expected to eq false success behaves like operation is expected to eq true or success behaves like operation is expected to eq true behaves like operation is expected to eq true each success behaves like operation is expected to eq true failure behaves like operation is expected to eq false set success behaves like operation is expected to eq false success behaves like operation is expected to eq true xor success behaves like operation is expected to eq true behaves like operation is expected to eq true failure behaves like operation is expected to eq false implication [true => true] behaves like operation is expected to eq true [false => true] behaves like operation is expected to eq true [true => false] behaves like operation is expected to eq false Dry::Logic::Predicates #false? when value is false behaves like a passing predicate is expected to equal true when value is not false behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #min_size? when value size is greater than n behaves like a passing predicate is expected to equal true with value size is less than n behaves like a failing predicate is expected to equal false when value size is equal to n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #time? with value is not an integer behaves like a failing predicate is expected to equal false when value is a time behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #even? when value is an odd int behaves like a failing predicate is expected to equal false with value is an even int behaves like a passing predicate is expected to equal true Dry::Logic::Operations::Negation #to_ast returns result ast returns ast returns result ast with an :id #call negates its rule double negation works as rule #to_s returns string representation Dry::Logic::Builder leakage given a module extending ::Builder is expected not to respond to #int? is expected to respond to #call is expected to respond to #build undefined methods raises NameError Dry::Logic::Operations::Set #to_ast returns result ast returns ast returns result ast with an :id #to_s returns string representation #call applies all its rules to the input Dry::Logic::Predicates #number? when value is numerical behaves like a passing predicate is expected to equal true with value is not numerical behaves like a failing predicate is expected to equal false predicates respond_to? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true is? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false gteq? success 10 behaves like predicate is expected to eq true 11 behaves like predicate is expected to eq true failure 9 behaves like predicate is expected to eq false nil? failure symbol behaves like predicate is expected to eq false success behaves like predicate is expected to eq true predicate success behaves like predicate is expected to eq false success behaves like predicate is expected to eq true type? failure behaves like predicate is expected to eq false success string behaves like predicate is expected to eq true min_size? success [1, 2, 3] behaves like predicate is expected to eq true failure [1] behaves like predicate is expected to eq false gt? failure 5 behaves like predicate is expected to eq false success 200 behaves like predicate is expected to eq true uri? https success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false [:http, :https] success behaves like predicate is expected to eq true behaves like predicate is expected to eq true http success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false Regexp success behaves like predicate is expected to eq true behaves like predicate is expected to eq true array? failure Hash behaves like predicate is expected to eq false success Array behaves like predicate is expected to eq true decimal? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false date_time? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false true? & false? true? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false false? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false included_in? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true uuid uuid_v1? success behaves like predicate is expected to eq true uuid_v4? success behaves like predicate is expected to eq true hash? success Hash behaves like predicate is expected to eq true failure Array behaves like predicate is expected to eq false max_size? failure [1, 2, 3] behaves like predicate is expected to eq false success [1] behaves like predicate is expected to eq true includes? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false number? success behaves like predicate is expected to eq true behaves like predicate is expected to eq true behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false behaves like predicate is expected to eq false behaves like predicate is expected to eq false behaves like predicate is expected to eq false date? success -4712-01-01 behaves like predicate is expected to eq true failure symbol behaves like predicate is expected to eq false empty? success String behaves like predicate is expected to eq true [] behaves like predicate is expected to eq true {} behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false {:key=>"value"} behaves like predicate is expected to eq false [1, 2] behaves like predicate is expected to eq false string behaves like predicate is expected to eq false compare methods not_eql? failure behaves like predicate is expected to eq true success behaves like predicate is expected to eq false eql? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false format? failure behaves like predicate is expected to eq false behaves like predicate is expected to eq false success behaves like predicate is expected to eq true behaves like predicate is expected to eq true odd? success 5 behaves like predicate is expected to eq true failure 10 behaves like predicate is expected to eq false filled? success [1, 2] behaves like predicate is expected to eq true behaves like predicate is expected to eq true string behaves like predicate is expected to eq true {:key=>"value"} behaves like predicate is expected to eq true failure String behaves like predicate is expected to eq false {} behaves like predicate is expected to eq false [] behaves like predicate is expected to eq false excluded_from? failure behaves like predicate is expected to eq true success behaves like predicate is expected to eq false min_bytesize? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false bytesize? failure Integer behaves like predicate is expected to eq false Array behaves like predicate is expected to eq false Range behaves like predicate is expected to eq false success Array behaves like predicate is expected to eq true Range behaves like predicate is expected to eq true Integer behaves like predicate is expected to eq true bool? success true behaves like predicate is expected to eq true false behaves like predicate is expected to eq true failure symbol behaves like predicate is expected to eq false 5 behaves like predicate is expected to eq false attr? success # behaves like predicate is expected to eq true failure # behaves like predicate is expected to eq false even? failure 5 behaves like predicate is expected to eq false success 10 behaves like predicate is expected to eq true float? success behaves like predicate is expected to eq false success behaves like predicate is expected to eq true case? Range success behaves like predicate is expected to eq true Fixnum success behaves like predicate is expected to eq true str? success String behaves like predicate is expected to eq true failure Array behaves like predicate is expected to eq false int? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true lteq? success 9 behaves like predicate is expected to eq true failure 11 behaves like predicate is expected to eq false key? success {:speed=>100} behaves like predicate is expected to eq true failure {:age=>50} behaves like predicate is expected to eq false max_bytesize? failure behaves like predicate is expected to eq true success behaves like predicate is expected to eq false lt? failure 200 behaves like predicate is expected to eq false success 5 behaves like predicate is expected to eq true time? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true excludes? String success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false Array success behaves like predicate is expected to eq false failure behaves like predicate is expected to eq true size? success Integer behaves like predicate is expected to eq true Range behaves like predicate is expected to eq true Array behaves like predicate is expected to eq true failure Integer behaves like predicate is expected to eq false Range behaves like predicate is expected to eq false Array behaves like predicate is expected to eq false Dry::Logic::Predicates can be included in another module .predicate defines a predicate method Dry::Logic::Predicates #odd? with value is an even int behaves like a failing predicate is expected to equal false when value is an odd int behaves like a passing predicate is expected to equal true Dry::Logic::Rule .new accepts an :id #bind with an arbitrary block stores parameters returns a new with its predicate executed in the context of the provided object carries id stores arity with a schema instance returns a new with its predicate executed in the context of the provided object with an unbound method returns a new rule with its predicate bound to a specific object carries id #eval_args with an unbound method evaluates args in the context of the provided object with a schema instance returns a new with its predicate executed in the context of the provided object #ast returns predicate node with :id returns predicate node with undefined args #type returns rule type behaves like Dry::Logic::Rule #arity returns its predicate arity #call returns success for valid input returns failure for invalid input #[] delegates to its predicate #parameters returns a list of args with their names #curry raises argument error when arity does not match returns a curried rule with a function returning truthy value is not successful for invalid input is successful for valid input arity specialization currying generates correct arity on currying 0-arity rule generates interface with the right arity 1-arity rule generates interface with the right arity arbitrary arity generates correct arity -2 arity accepts variable number of arguments curried 1 doesn't have required arguments curried 2 doesn't have required arguments constants accepts variable number of arguments -1 arity accepts variable number of arguments Dry::Logic::Predicates #decimal? when value is a decimal behaves like a passing predicate is expected to equal true with value is not an integer behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #uuid_v2? with value is not a valid V4 UUID behaves like a failing predicate is expected to equal false when value is a valid V1 UUID behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #float? with value is not an integer behaves like a failing predicate is expected to equal false when value is a float behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #size? when value size is equal to n behaves like a passing predicate is expected to equal true when value size is greater than n behaves like a failing predicate is expected to equal false with value size is less than n behaves like a failing predicate is expected to equal false with an unsupported size raises an error Dry::Logic::Predicates #key? with key is not present in value behaves like a failing predicate is expected to equal false when key is present in value behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #uuid_v4? when value is a valid V4 UUID behaves like a passing predicate is expected to equal true with value is not a valid V4 UUID behaves like a failing predicate is expected to equal false Dry::Logic::Rule::Predicate #name returns predicate identifier #to_ast without a result returns :failure with an id returns rule ast with a zero-arity predicate returns ast with a result returns failure ast returns success behaves like Dry::Logic::Rule #parameters returns a list of args with their names #call returns failure for invalid input returns success for valid input #arity returns its predicate arity #curry raises argument error when arity does not match returns a curried rule #[] delegates to its predicate #to_s returns string representation Dry::Logic::Operations::Key #to_s returns string representation #to_ast returns ast #ast returns ast without the input returns ast with the input #call with an each rule as predicate applies each rule to the value that passses applies each rule to the value that fails with a plain predicate returns a success for valid input returns a failure for invalid input with a set rule as predicate applies set rule to the value that passes applies set rule to the value that fails #and returns and rule where value is passed to the right Dry::Logic::Predicates#is? with value is not equal to the arg behaves like a failing predicate is expected to equal false when value is equal to the arg behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #case? when the value matches the pattern behaves like a passing predicate is expected to equal true when the value doesn't match the pattern behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #max_size? when value size is less than n behaves like a passing predicate is expected to equal true when value size is equal to n behaves like a passing predicate is expected to equal true with value size is greater than n behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #empty? with value is not empty behaves like a failing predicate is expected to equal false when value is empty behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #true? with value is not true behaves like a failing predicate is expected to equal false when value is true behaves like a passing predicate is expected to equal true Rules defining a disjunction defining an implication defining an anonymous rule with an arbitrary predicate defining a conjunction defining an exclusive disjunction defining a rule with options Dry::Logic::Operations::Attr #and returns and where value is passed to the right #call applies predicate to the value Dry::Logic::Result #to_s with NOT operation behaves like string representation returns string representation with AND operation behaves like string representation returns string representation with THEN operation behaves like string representation returns string representation with OR operation behaves like string representation returns string representation with XOR operation behaves like string representation returns string representation with a predicate behaves like string representation returns string representation Dry::Logic::Operations::Check #to_ast returns ast #call with 2-levels nesting applies predicate to args extracted from the input curries args properly with its output as input success is expected to be a success failure is expected not to be a success with 1-level nesting applies predicate to args extracted from the input Dry::Logic::RuleCompiler#call compiles or rules compiles check rules compiles exclusive or rules compiles attr rules compiles attr rules compiles each rules compiles negated rules compiles set rules compiles and rules compiles key rules Dry::Logic::Predicates#eql? when value is equal to the arg behaves like a passing predicate is expected to equal true with value is not equal to the arg behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #included_in? when value is present in list behaves like a passing predicate is expected to equal true with value is not present in list behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #date_time? when value is a datetime behaves like a passing predicate is expected to equal true with value is not an integer behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #lt? when value is less than n behaves like a passing predicate is expected to equal true with value is greater than n behaves like a failing predicate is expected to equal false when value is equal to n behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #type? with value is not true behaves like a failing predicate is expected to equal false when value has a correct type behaves like a passing predicate is expected to equal true Dry::Logic::Operations::Implication #to_ast returns ast #to_s returns string representation #call calls left and right Dry::Logic::Operations::Or #to_s returns string representation #call calls left and right #or creates or with the other #and creates and with the other #to_ast returns failure result ast returns result ast returns ast Dry::Logic::Predicates#not_eql? with value is not equal to the arg behaves like a passing predicate is expected to equal true when value is equal to the arg behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #uri? with value is not a valid URI behaves like a failing predicate is expected to equal false when value is a valid URI behaves like a passing predicate is expected to equal true Dry::Logic::Operations::Xor #or creates disjunction with the other #to_s returns string representation #and creates conjunction with the other #call calls left and right #to_ast returns failure result ast returns ast returns result ast Dry::Logic::Predicates #nil? when value is nil behaves like a passing predicate is expected to equal true when value is not nil behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #bool? when value is a boolean behaves like a passing predicate is expected to equal true when value is not a bool behaves like a failing predicate is expected to equal false Dry::Logic::Operations::Each #to_s returns string representation #call applies its rules to all elements in the input #to_ast returns failure result ast returns result ast returns ast Dry::Logic::Predicates #respond_to? when value responds to method behaves like a passing predicate is expected to equal true when value does not respond to method behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #uuid_v5? when value is a valid V5 UUID behaves like a passing predicate is expected to equal true with value is not a valid V4 UUID behaves like a failing predicate is expected to equal false Dry::Logic::Predicates#format? when value does not match provided regexp behaves like a failing predicate is expected to equal false when value matches provided regexp behaves like a passing predicate is expected to equal true when input is nil behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #uuid_v1? with value is not a valid V1 UUID behaves like a failing predicate is expected to equal false when value is a valid V1 UUID behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #min_bytesize? with value size is less than n behaves like a failing predicate is expected to equal false when value size is greater than n behaves like a passing predicate is expected to equal true when value size is equal to n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #gteq? when value is greater than n behaves like a passing predicate is expected to equal true when value is equal to n behaves like a passing predicate is expected to equal true with value is less than n behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #lteq? with value is greater than n behaves like a failing predicate is expected to equal false when value is equal to n behaves like a passing predicate is expected to equal true when value is less than n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #array? when value is an array behaves like a passing predicate is expected to equal true when value is not an array behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #gt? when value is equal to n behaves like a failing predicate is expected to equal false with value is less than n behaves like a failing predicate is expected to equal false when value is greater than n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #str? with value is not a string behaves like a failing predicate is expected to equal false when value is a string behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #int? with value is not an integer behaves like a failing predicate is expected to equal false when value is an integer behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #date? with value is not an integer behaves like a failing predicate is expected to equal false when value is a date behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #bytesize? with value size is less than n behaves like a failing predicate is expected to equal false when value size is greater than n behaves like a failing predicate is expected to equal false with an unsupported size raises an error when value size is equal to n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #excludes? with input of invalid type behaves like a passing predicate is expected to equal true with input excludes value behaves like a passing predicate is expected to equal true when input includes value behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #max_bytesize? when value size is less than n behaves like a passing predicate is expected to equal true when value size is equal to n behaves like a passing predicate is expected to equal true with value size is greater than n behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #filled? when value is filled behaves like a passing predicate is expected to equal true with value is not filled behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #uuid_v3? when value is a valid V3 UUID behaves like a passing predicate is expected to equal true with value is not a valid V4 UUID behaves like a failing predicate is expected to equal false Finished in 0.30154 seconds (files took 0.72284 seconds to load) 399 examples, 0 failures Randomized with seed 10197 /usr/bin/ruby3.0 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby3.0 │ └──────────────────────────────────────────────────────────────────────────────┘ GEM_PATH=/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all:/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.0.0:/var/lib/gems/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/lib/ruby/gems/3.0.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.0.0:/usr/share/rubygems-integration/3.0.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0 ruby3.0 -e gem\ \"dry-logic\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.0 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/ruby-dry-logic/usr/share/rubygems-integration/all:/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.0.0:/var/lib/gems/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/lib/ruby/gems/3.0.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.0.0:/usr/share/rubygems-integration/3.0.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0 ruby3.0 -S rake -f debian/ruby-tests.rake /usr/bin/ruby3.0 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.10.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.10.1/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation Randomized with seed 58183 Dry::Logic::Predicates #min_size? with value size is less than n behaves like a failing predicate is expected to equal false when value size is equal to n behaves like a passing predicate is expected to equal true when value size is greater than n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #uuid_v3? when value is a valid V3 UUID behaves like a passing predicate is expected to equal true with value is not a valid V4 UUID behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #case? when the value doesn't match the pattern behaves like a failing predicate is expected to equal false when the value matches the pattern behaves like a passing predicate is expected to equal true Dry::Logic::Operations::Attr #call applies predicate to the value #and returns and where value is passed to the right Dry::Logic::Predicates #uuid_v1? with value is not a valid V1 UUID behaves like a failing predicate is expected to equal false when value is a valid V1 UUID behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #gt? with value is less than n behaves like a failing predicate is expected to equal false when value is equal to n behaves like a failing predicate is expected to equal false when value is greater than n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #lt? with value is greater than n behaves like a failing predicate is expected to equal false when value is less than n behaves like a passing predicate is expected to equal true when value is equal to n behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #uri? when value is a valid URI behaves like a passing predicate is expected to equal true with value is not a valid URI behaves like a failing predicate is expected to equal false Dry::Logic::RuleCompiler#call compiles each rules compiles negated rules compiles or rules compiles attr rules compiles check rules compiles attr rules compiles exclusive or rules compiles set rules compiles key rules compiles and rules Dry::Logic::Operations::Check #call with its output as input success is expected to be a success failure is expected not to be a success with 2-levels nesting curries args properly applies predicate to args extracted from the input with 1-level nesting applies predicate to args extracted from the input #to_ast returns ast Dry::Logic::Predicates #time? when value is a time behaves like a passing predicate is expected to equal true with value is not an integer behaves like a failing predicate is expected to equal false Dry::Logic::Rule::Predicate #name returns predicate identifier behaves like Dry::Logic::Rule #parameters returns a list of args with their names #arity returns its predicate arity #[] delegates to its predicate #call returns failure for invalid input returns success for valid input #curry raises argument error when arity does not match returns a curried rule #to_ast without a result returns :failure with an id returns rule ast with a zero-arity predicate returns ast with a result returns failure ast returns success #to_s returns string representation Dry::Logic::Predicates #nil? when value is nil behaves like a passing predicate is expected to equal true when value is not nil behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #str? with value is not a string behaves like a failing predicate is expected to equal false when value is a string behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #filled? with value is not filled behaves like a failing predicate is expected to equal false when value is filled behaves like a passing predicate is expected to equal true Dry::Logic::Predicates#is? with value is not equal to the arg behaves like a failing predicate is expected to equal false when value is equal to the arg behaves like a passing predicate is expected to equal true Dry::Logic::Operations::Set #to_s returns string representation #to_ast returns ast returns result ast with an :id returns result ast #call applies all its rules to the input Dry::Logic::Predicates #odd? when value is an odd int behaves like a passing predicate is expected to equal true with value is an even int behaves like a failing predicate is expected to equal false Dry::Logic::Predicates#eql? when value is equal to the arg behaves like a passing predicate is expected to equal true with value is not equal to the arg behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #type? with value is not true behaves like a failing predicate is expected to equal false when value has a correct type behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #decimal? when value is a decimal behaves like a passing predicate is expected to equal true with value is not an integer behaves like a failing predicate is expected to equal false Dry::Logic::Operations::Each #to_s returns string representation #call applies its rules to all elements in the input #to_ast returns failure result ast returns result ast returns ast operations check one path success behaves like operation is expected to eq true failure behaves like operation is expected to eq false two paths success behaves like operation is expected to eq true failure behaves like operation is expected to eq false xor failure behaves like operation is expected to eq false success behaves like operation is expected to eq true behaves like operation is expected to eq true nested failure is expected not to be a success success is expected to be a success implication [false => true] behaves like operation is expected to eq true [true => false] behaves like operation is expected to eq false [true => true] behaves like operation is expected to eq true key failure behaves like operation is expected to eq false success behaves like operation is expected to eq true and failure behaves like operation is expected to eq false success behaves like operation is expected to eq true set success behaves like operation is expected to eq false success behaves like operation is expected to eq true each success behaves like operation is expected to eq true failure behaves like operation is expected to eq false operators > [true => true] behaves like operation is expected to eq true [false => true] behaves like operation is expected to eq true [true => false] behaves like operation is expected to eq false & failure behaves like operation is expected to eq false success behaves like operation is expected to eq true then [true => false] behaves like operation is expected to eq false [true => true] behaves like operation is expected to eq true [false => true] behaves like operation is expected to eq true ^ success behaves like operation is expected to eq true behaves like operation is expected to eq true failure behaves like operation is expected to eq false | success behaves like operation is expected to eq true behaves like operation is expected to eq true or success behaves like operation is expected to eq true behaves like operation is expected to eq true negation failure behaves like operation is expected to eq false success behaves like operation is expected to eq true Dry::Logic::Result #to_s with a predicate behaves like string representation returns string representation with OR operation behaves like string representation returns string representation with XOR operation behaves like string representation returns string representation with AND operation behaves like string representation returns string representation with NOT operation behaves like string representation returns string representation with THEN operation behaves like string representation returns string representation Dry::Logic::Predicates #respond_to? when value does not respond to method behaves like a failing predicate is expected to equal false when value responds to method behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #int? with value is not an integer behaves like a failing predicate is expected to equal false when value is an integer behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #uuid_v4? with value is not a valid V4 UUID behaves like a failing predicate is expected to equal false when value is a valid V4 UUID behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #included_in? when value is present in list behaves like a passing predicate is expected to equal true with value is not present in list behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #empty? with value is not empty behaves like a failing predicate is expected to equal false when value is empty behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #bool? when value is a boolean behaves like a passing predicate is expected to equal true when value is not a bool behaves like a failing predicate is expected to equal false Dry::Logic::Builder leakage given a module extending ::Builder is expected to respond to #call is expected not to respond to #int? is expected to respond to #build undefined methods raises NameError predicates decimal? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true compare methods not_eql? success behaves like predicate is expected to eq false failure behaves like predicate is expected to eq true eql? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true excluded_from? failure behaves like predicate is expected to eq true success behaves like predicate is expected to eq false int? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true attr? failure # behaves like predicate is expected to eq false success # behaves like predicate is expected to eq true date_time? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false min_bytesize? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true is? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true gt? success 200 behaves like predicate is expected to eq true failure 5 behaves like predicate is expected to eq false includes? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true type? failure behaves like predicate is expected to eq false success string behaves like predicate is expected to eq true bytesize? success Range behaves like predicate is expected to eq true Integer behaves like predicate is expected to eq true Array behaves like predicate is expected to eq true failure Integer behaves like predicate is expected to eq false Array behaves like predicate is expected to eq false Range behaves like predicate is expected to eq false case? Fixnum success behaves like predicate is expected to eq true Range success behaves like predicate is expected to eq true nil? success behaves like predicate is expected to eq true failure symbol behaves like predicate is expected to eq false max_size? failure [1, 2, 3] behaves like predicate is expected to eq false success [1] behaves like predicate is expected to eq true uuid uuid_v1? success behaves like predicate is expected to eq true uuid_v4? success behaves like predicate is expected to eq true lteq? failure 11 behaves like predicate is expected to eq false success 9 behaves like predicate is expected to eq true date? failure symbol behaves like predicate is expected to eq false success -4712-01-01 behaves like predicate is expected to eq true str? success String behaves like predicate is expected to eq true failure Array behaves like predicate is expected to eq false predicate success behaves like predicate is expected to eq true success behaves like predicate is expected to eq false bool? success false behaves like predicate is expected to eq true true behaves like predicate is expected to eq true failure symbol behaves like predicate is expected to eq false 5 behaves like predicate is expected to eq false time? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true filled? failure [] behaves like predicate is expected to eq false String behaves like predicate is expected to eq false {} behaves like predicate is expected to eq false success {:key=>"value"} behaves like predicate is expected to eq true behaves like predicate is expected to eq true string behaves like predicate is expected to eq true [1, 2] behaves like predicate is expected to eq true empty? success String behaves like predicate is expected to eq true {} behaves like predicate is expected to eq true [] behaves like predicate is expected to eq true failure [1, 2] behaves like predicate is expected to eq false string behaves like predicate is expected to eq false behaves like predicate is expected to eq false {:key=>"value"} behaves like predicate is expected to eq false array? success Array behaves like predicate is expected to eq true failure Hash behaves like predicate is expected to eq false true? & false? false? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true true? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true min_size? failure [1] behaves like predicate is expected to eq false success [1, 2, 3] behaves like predicate is expected to eq true max_bytesize? success behaves like predicate is expected to eq false failure behaves like predicate is expected to eq true respond_to? failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true excludes? Array success behaves like predicate is expected to eq false failure behaves like predicate is expected to eq true String success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false odd? failure 10 behaves like predicate is expected to eq false success 5 behaves like predicate is expected to eq true hash? success Hash behaves like predicate is expected to eq true failure Array behaves like predicate is expected to eq false even? success 10 behaves like predicate is expected to eq true failure 5 behaves like predicate is expected to eq false size? failure Integer behaves like predicate is expected to eq false Range behaves like predicate is expected to eq false Array behaves like predicate is expected to eq false success Integer behaves like predicate is expected to eq true Array behaves like predicate is expected to eq true Range behaves like predicate is expected to eq true format? success behaves like predicate is expected to eq true behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false behaves like predicate is expected to eq false included_in? success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false lt? failure 200 behaves like predicate is expected to eq false success 5 behaves like predicate is expected to eq true gteq? success 10 behaves like predicate is expected to eq true 11 behaves like predicate is expected to eq true failure 9 behaves like predicate is expected to eq false key? failure {:age=>50} behaves like predicate is expected to eq false success {:speed=>100} behaves like predicate is expected to eq true number? success behaves like predicate is expected to eq true behaves like predicate is expected to eq true behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false behaves like predicate is expected to eq false behaves like predicate is expected to eq false behaves like predicate is expected to eq false uri? Regexp success behaves like predicate is expected to eq true behaves like predicate is expected to eq true [:http, :https] success behaves like predicate is expected to eq true behaves like predicate is expected to eq true http success behaves like predicate is expected to eq true failure behaves like predicate is expected to eq false https failure behaves like predicate is expected to eq false success behaves like predicate is expected to eq true float? success behaves like predicate is expected to eq false success behaves like predicate is expected to eq true Dry::Logic::Predicates #attr? with value does not respond to the attr name behaves like a failing predicate is expected to equal false when value responds to the attr name behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #hash? when value is a hash behaves like a passing predicate is expected to equal true when value is not a hash behaves like a failing predicate is expected to equal false Dry::Logic::Rule .new accepts an :id #eval_args with an unbound method evaluates args in the context of the provided object with a schema instance returns a new with its predicate executed in the context of the provided object #bind with a schema instance returns a new with its predicate executed in the context of the provided object with an arbitrary block returns a new with its predicate executed in the context of the provided object carries id stores parameters stores arity with an unbound method returns a new rule with its predicate bound to a specific object carries id #type returns rule type behaves like Dry::Logic::Rule #[] delegates to its predicate #parameters returns a list of args with their names #arity returns its predicate arity #call returns failure for invalid input returns success for valid input #curry raises argument error when arity does not match returns a curried rule with a function returning truthy value is not successful for invalid input is successful for valid input #ast returns predicate node with :id returns predicate node with undefined args arity specialization 1-arity rule generates interface with the right arity -1 arity accepts variable number of arguments currying generates correct arity on currying constants accepts variable number of arguments -2 arity accepts variable number of arguments curried 2 doesn't have required arguments curried 1 doesn't have required arguments 0-arity rule generates interface with the right arity arbitrary arity generates correct arity Dry::Logic::Predicates#not_eql? when value is equal to the arg behaves like a failing predicate is expected to equal false with value is not equal to the arg behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #even? when value is an odd int behaves like a failing predicate is expected to equal false with value is an even int behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #date_time? with value is not an integer behaves like a failing predicate is expected to equal false when value is a datetime behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #uuid_v2? with value is not a valid V4 UUID behaves like a failing predicate is expected to equal false when value is a valid V1 UUID behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #array? when value is not an array behaves like a failing predicate is expected to equal false when value is an array behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #gteq? with value is less than n behaves like a failing predicate is expected to equal false when value is equal to n behaves like a passing predicate is expected to equal true when value is greater than n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #excludes? with input excludes value behaves like a passing predicate is expected to equal true with input of invalid type behaves like a passing predicate is expected to equal true when input includes value behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #min_bytesize? when value size is greater than n behaves like a passing predicate is expected to equal true with value size is less than n behaves like a failing predicate is expected to equal false when value size is equal to n behaves like a passing predicate is expected to equal true Dry::Logic::Operations::Implication #call calls left and right #to_ast returns ast #to_s returns string representation Dry::Logic::Predicates #float? with value is not an integer behaves like a failing predicate is expected to equal false when value is a float behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #size? with value size is less than n behaves like a failing predicate is expected to equal false when value size is greater than n behaves like a failing predicate is expected to equal false when value size is equal to n behaves like a passing predicate is expected to equal true with an unsupported size raises an error Dry::Logic::Predicates#format? when value does not match provided regexp behaves like a failing predicate is expected to equal false when value matches provided regexp behaves like a passing predicate is expected to equal true when input is nil behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #key? when key is present in value behaves like a passing predicate is expected to equal true with key is not present in value behaves like a failing predicate is expected to equal false Rules defining an exclusive disjunction defining a conjunction defining an anonymous rule with an arbitrary predicate defining an implication defining a rule with options defining a disjunction Dry::Logic::Operations::Key #call with a plain predicate returns a success for valid input returns a failure for invalid input with a set rule as predicate applies set rule to the value that passes applies set rule to the value that fails with an each rule as predicate applies each rule to the value that passses applies each rule to the value that fails #to_ast returns ast #to_s returns string representation #and returns and rule where value is passed to the right #ast returns ast without the input returns ast with the input Dry::Logic::Operations::Or #and creates and with the other #to_s returns string representation #or creates or with the other #to_ast returns ast returns result ast returns failure result ast #call calls left and right Dry::Logic::Operations::Xor #to_ast returns result ast returns ast returns failure result ast #or creates disjunction with the other #and creates conjunction with the other #call calls left and right #to_s returns string representation Dry::Logic::Predicates #uuid_v5? when value is a valid V5 UUID behaves like a passing predicate is expected to equal true with value is not a valid V4 UUID behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #lteq? with value is greater than n behaves like a failing predicate is expected to equal false when value is equal to n behaves like a passing predicate is expected to equal true when value is less than n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #bytesize? with an unsupported size raises an error when value size is greater than n behaves like a failing predicate is expected to equal false with value size is less than n behaves like a failing predicate is expected to equal false when value size is equal to n behaves like a passing predicate is expected to equal true Dry::Logic::Operations::And #to_ast returns result ast returns failure result ast returns ast #and creates and with the other #to_s returns string representation #call calls left and right #or creates or with the other Dry::Logic::Predicates #max_bytesize? when value size is less than n behaves like a passing predicate is expected to equal true with value size is greater than n behaves like a failing predicate is expected to equal false when value size is equal to n behaves like a passing predicate is expected to equal true Dry::Logic::Operations::Negation #to_s returns string representation #call negates its rule double negation works as rule #to_ast returns result ast returns ast returns result ast with an :id Dry::Logic::Predicates #number? with value is not numerical behaves like a failing predicate is expected to equal false when value is numerical behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #date? with value is not an integer behaves like a failing predicate is expected to equal false when value is a date behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #true? when value is true behaves like a passing predicate is expected to equal true with value is not true behaves like a failing predicate is expected to equal false Dry::Logic::Predicates #excluded_from? with value is present in list behaves like a failing predicate is expected to equal false when value is not present in list behaves like a passing predicate is expected to equal true Dry::Logic::Predicates #max_size? when value size is less than n behaves like a passing predicate is expected to equal true with value size is greater than n behaves like a failing predicate is expected to equal false when value size is equal to n behaves like a passing predicate is expected to equal true Dry::Logic::Predicates can be included in another module .predicate defines a predicate method Dry::Logic::Predicates #false? when value is not false behaves like a failing predicate is expected to equal false when value is false behaves like a passing predicate is expected to equal true Finished in 0.36179 seconds (files took 0.74718 seconds to load) 399 examples, 0 failures Randomized with seed 58183 ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ └──────────────────────────────────────────────────────────────────────────────┘ dh_installdocs -i -O--buildsystem=ruby dh_ruby_fixdocs -i -O--buildsystem=ruby debian/rules override_dh_installchangelogs make[1]: Entering directory '/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0' dh_installchangelogs -O--buildsystem=ruby CHANGELOG.md make[1]: Leaving directory '/build/ruby-dry-logic-EkQpDe/ruby-dry-logic-1.2.0' dh_installexamples -i -O--buildsystem=ruby dh_installsystemduser -i -O--buildsystem=ruby dh_perl -i -O--buildsystem=ruby dh_link -i -O--buildsystem=ruby dh_strip_nondeterminism -i -O--buildsystem=ruby dh_compress -X.rb -i -O--buildsystem=ruby dh_fixperms -i -O--buildsystem=ruby dh_missing -i -O--buildsystem=ruby dh_ruby_fixdepends -i -O--buildsystem=ruby dh_installdeb -i -O--buildsystem=ruby dh_gencontrol -i -O--buildsystem=ruby dpkg-gencontrol: warning: Depends field of package ruby-dry-logic: substitution variable ${shlibs:Depends} used, but is not defined dh_md5sums -i -O--buildsystem=ruby dh_builddeb -i -O--buildsystem=ruby dpkg-deb: building package 'ruby-dry-logic' in '../ruby-dry-logic_1.2.0-3_all.deb'. dpkg-genbuildinfo --build=all dpkg-genchanges --build=all >../ruby-dry-logic_1.2.0-3_all.changes dpkg-genchanges: info: binary-only arch-indep upload (source code and arch-specific packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/ruby-dry-logic-EkQpDe /tmp/ruby-dry-logic-1.2.0-359txuv87 I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.2KFSCB8Sag... I: success in 2068.3974 seconds md5: ruby-dry-logic_1.2.0-3_all.deb: OK sha1: ruby-dry-logic_1.2.0-3_all.deb: OK sha256: ruby-dry-logic_1.2.0-3_all.deb: OK Checksums: OK