0s autopkgtest [03:00:09]: starting date and time: 2024-03-28 03:00:09+0000 0s autopkgtest [03:00:09]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [03:00:09]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.u6_bhrbx/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed --apt-upgrade rubocop --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=ruby3.1/3.1.2-7ubuntu5 ruby3.2/3.2.3-1build2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos02-s390x-16.secgroup --name adt-noble-s390x-rubocop-20240328-030009-juju-7f2275-prod-proposed-migration-environment-3-754c14c3-621d-4ea2-9373-e7ea4379b6ac --image adt/ubuntu-noble-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 98s autopkgtest [03:01:47]: testbed dpkg architecture: s390x 98s autopkgtest [03:01:47]: testbed apt version: 2.7.12 98s autopkgtest [03:01:47]: @@@@@@@@@@@@@@@@@@@@ test bed setup 99s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 99s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [8504 B] 100s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3949 kB] 101s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [471 kB] 101s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [55.9 kB] 101s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x Packages [648 kB] 101s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x c-n-f Metadata [3032 B] 101s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x Packages [1372 B] 101s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x c-n-f Metadata [116 B] 101s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x Packages [4036 kB] 101s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x c-n-f Metadata [7292 B] 101s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x Packages [46.2 kB] 101s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x c-n-f Metadata [116 B] 103s Fetched 9343 kB in 3s (2794 kB/s) 103s Reading package lists... 105s Reading package lists... 105s Building dependency tree... 105s Reading state information... 106s Calculating upgrade... 106s The following packages will be upgraded: 106s binutils binutils-common binutils-s390x-linux-gnu dmsetup gcc-13-base 106s gcc-14-base initramfs-tools initramfs-tools-bin initramfs-tools-core jq 106s libbinutils libctf-nobfd0 libctf0 libdevmapper1.02.1 libexpat1 libftdi1-2 106s libgcc-s1 libjq1 libpam-modules libpam-modules-bin libpam-runtime libpam0g 106s libseccomp2 libsframe1 libstdc++6 libusb-1.0-0 106s 26 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 106s Need to get 5444 kB of archives. 106s After this operation, 17.4 kB of additional disk space will be used. 106s Get:1 http://ftpmaster.internal/ubuntu noble/main s390x libpam0g s390x 1.5.3-5ubuntu3 [69.8 kB] 106s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x libpam-modules-bin s390x 1.5.3-5ubuntu3 [57.4 kB] 106s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x libpam-modules s390x 1.5.3-5ubuntu3 [289 kB] 107s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x gcc-14-base s390x 14-20240315-1ubuntu1 [47.0 kB] 107s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x libstdc++6 s390x 14-20240315-1ubuntu1 [908 kB] 107s Get:6 http://ftpmaster.internal/ubuntu noble/main s390x libgcc-s1 s390x 14-20240315-1ubuntu1 [35.9 kB] 107s Get:7 http://ftpmaster.internal/ubuntu noble/main s390x libpam-runtime all 1.5.3-5ubuntu3 [40.8 kB] 107s Get:8 http://ftpmaster.internal/ubuntu noble/main s390x libseccomp2 s390x 2.5.5-1ubuntu2 [53.4 kB] 107s Get:9 http://ftpmaster.internal/ubuntu noble/main s390x libdevmapper1.02.1 s390x 2:1.02.185-3ubuntu2 [142 kB] 107s Get:10 http://ftpmaster.internal/ubuntu noble/main s390x dmsetup s390x 2:1.02.185-3ubuntu2 [80.4 kB] 107s Get:11 http://ftpmaster.internal/ubuntu noble/main s390x libexpat1 s390x 2.6.1-2 [94.8 kB] 107s Get:12 http://ftpmaster.internal/ubuntu noble/main s390x libusb-1.0-0 s390x 2:1.0.27-1 [54.8 kB] 107s Get:13 http://ftpmaster.internal/ubuntu noble/main s390x libctf0 s390x 2.42-4ubuntu1 [98.4 kB] 107s Get:14 http://ftpmaster.internal/ubuntu noble/main s390x libctf-nobfd0 s390x 2.42-4ubuntu1 [100 kB] 107s Get:15 http://ftpmaster.internal/ubuntu noble/main s390x binutils-s390x-linux-gnu s390x 2.42-4ubuntu1 [2270 kB] 108s Get:16 http://ftpmaster.internal/ubuntu noble/main s390x libbinutils s390x 2.42-4ubuntu1 [477 kB] 108s Get:17 http://ftpmaster.internal/ubuntu noble/main s390x binutils s390x 2.42-4ubuntu1 [3056 B] 108s Get:18 http://ftpmaster.internal/ubuntu noble/main s390x binutils-common s390x 2.42-4ubuntu1 [217 kB] 108s Get:19 http://ftpmaster.internal/ubuntu noble/main s390x libsframe1 s390x 2.42-4ubuntu1 [14.2 kB] 108s Get:20 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13-base s390x 13.2.0-21ubuntu1 [48.3 kB] 108s Get:21 http://ftpmaster.internal/ubuntu noble/main s390x initramfs-tools all 0.142ubuntu23 [9058 B] 108s Get:22 http://ftpmaster.internal/ubuntu noble/main s390x initramfs-tools-core all 0.142ubuntu23 [50.1 kB] 108s Get:23 http://ftpmaster.internal/ubuntu noble/main s390x initramfs-tools-bin s390x 0.142ubuntu23 [20.5 kB] 108s Get:24 http://ftpmaster.internal/ubuntu noble/main s390x jq s390x 1.7.1-3 [66.5 kB] 108s Get:25 http://ftpmaster.internal/ubuntu noble/main s390x libjq1 s390x 1.7.1-3 [168 kB] 109s Get:26 http://ftpmaster.internal/ubuntu noble/main s390x libftdi1-2 s390x 1.5-6build4 [29.3 kB] 109s Preconfiguring packages ... 109s Fetched 5444 kB in 3s (1987 kB/s) 109s (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 ... 52167 files and directories currently installed.) 109s Preparing to unpack .../libpam0g_1.5.3-5ubuntu3_s390x.deb ... 109s Unpacking libpam0g:s390x (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 109s Setting up libpam0g:s390x (1.5.3-5ubuntu3) ... 109s (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 ... 52167 files and directories currently installed.) 109s Preparing to unpack .../libpam-modules-bin_1.5.3-5ubuntu3_s390x.deb ... 109s Unpacking libpam-modules-bin (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 109s Setting up libpam-modules-bin (1.5.3-5ubuntu3) ... 109s pam_namespace.service is a disabled or a static unit not running, not starting it. 110s (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 ... 52167 files and directories currently installed.) 110s Preparing to unpack .../libpam-modules_1.5.3-5ubuntu3_s390x.deb ... 110s Unpacking libpam-modules:s390x (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 110s Setting up libpam-modules:s390x (1.5.3-5ubuntu3) ... 110s Installing new version of config file /etc/security/namespace.init ... 110s (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 ... 52165 files and directories currently installed.) 110s Preparing to unpack .../gcc-14-base_14-20240315-1ubuntu1_s390x.deb ... 110s Unpacking gcc-14-base:s390x (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 110s Setting up gcc-14-base:s390x (14-20240315-1ubuntu1) ... 110s (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 ... 52165 files and directories currently installed.) 110s Preparing to unpack .../libstdc++6_14-20240315-1ubuntu1_s390x.deb ... 110s Unpacking libstdc++6:s390x (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 110s Setting up libstdc++6:s390x (14-20240315-1ubuntu1) ... 110s (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 ... 52165 files and directories currently installed.) 110s Preparing to unpack .../libgcc-s1_14-20240315-1ubuntu1_s390x.deb ... 110s Unpacking libgcc-s1:s390x (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 110s Setting up libgcc-s1:s390x (14-20240315-1ubuntu1) ... 110s (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 ... 52165 files and directories currently installed.) 110s Preparing to unpack .../libpam-runtime_1.5.3-5ubuntu3_all.deb ... 110s Unpacking libpam-runtime (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 110s Setting up libpam-runtime (1.5.3-5ubuntu3) ... 110s (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 ... 52165 files and directories currently installed.) 110s Preparing to unpack .../libseccomp2_2.5.5-1ubuntu2_s390x.deb ... 110s Unpacking libseccomp2:s390x (2.5.5-1ubuntu2) over (2.5.5-1ubuntu1) ... 110s Setting up libseccomp2:s390x (2.5.5-1ubuntu2) ... 110s (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 ... 52165 files and directories currently installed.) 110s Preparing to unpack .../00-libdevmapper1.02.1_2%3a1.02.185-3ubuntu2_s390x.deb ... 110s Unpacking libdevmapper1.02.1:s390x (2:1.02.185-3ubuntu2) over (2:1.02.185-3ubuntu1) ... 110s Preparing to unpack .../01-dmsetup_2%3a1.02.185-3ubuntu2_s390x.deb ... 110s Unpacking dmsetup (2:1.02.185-3ubuntu2) over (2:1.02.185-3ubuntu1) ... 110s Preparing to unpack .../02-libexpat1_2.6.1-2_s390x.deb ... 110s Unpacking libexpat1:s390x (2.6.1-2) over (2.6.0-1) ... 110s Preparing to unpack .../03-libusb-1.0-0_2%3a1.0.27-1_s390x.deb ... 110s Unpacking libusb-1.0-0:s390x (2:1.0.27-1) over (2:1.0.26-1) ... 110s Preparing to unpack .../04-libctf0_2.42-4ubuntu1_s390x.deb ... 110s Unpacking libctf0:s390x (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../05-libctf-nobfd0_2.42-4ubuntu1_s390x.deb ... 110s Unpacking libctf-nobfd0:s390x (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../06-binutils-s390x-linux-gnu_2.42-4ubuntu1_s390x.deb ... 110s Unpacking binutils-s390x-linux-gnu (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 111s Preparing to unpack .../07-libbinutils_2.42-4ubuntu1_s390x.deb ... 111s Unpacking libbinutils:s390x (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 111s Preparing to unpack .../08-binutils_2.42-4ubuntu1_s390x.deb ... 111s Unpacking binutils (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 111s Preparing to unpack .../09-binutils-common_2.42-4ubuntu1_s390x.deb ... 111s Unpacking binutils-common:s390x (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 111s Preparing to unpack .../10-libsframe1_2.42-4ubuntu1_s390x.deb ... 111s Unpacking libsframe1:s390x (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 111s Preparing to unpack .../11-gcc-13-base_13.2.0-21ubuntu1_s390x.deb ... 111s Unpacking gcc-13-base:s390x (13.2.0-21ubuntu1) over (13.2.0-17ubuntu2) ... 111s Preparing to unpack .../12-initramfs-tools_0.142ubuntu23_all.deb ... 111s Unpacking initramfs-tools (0.142ubuntu23) over (0.142ubuntu20) ... 111s Preparing to unpack .../13-initramfs-tools-core_0.142ubuntu23_all.deb ... 111s Unpacking initramfs-tools-core (0.142ubuntu23) over (0.142ubuntu20) ... 111s Preparing to unpack .../14-initramfs-tools-bin_0.142ubuntu23_s390x.deb ... 111s Unpacking initramfs-tools-bin (0.142ubuntu23) over (0.142ubuntu20) ... 111s Preparing to unpack .../15-jq_1.7.1-3_s390x.deb ... 111s Unpacking jq (1.7.1-3) over (1.7.1-2) ... 111s Preparing to unpack .../16-libjq1_1.7.1-3_s390x.deb ... 111s Unpacking libjq1:s390x (1.7.1-3) over (1.7.1-2) ... 111s Preparing to unpack .../17-libftdi1-2_1.5-6build4_s390x.deb ... 111s Unpacking libftdi1-2:s390x (1.5-6build4) over (1.5-6build3) ... 111s Setting up libexpat1:s390x (2.6.1-2) ... 111s Setting up libjq1:s390x (1.7.1-3) ... 111s Setting up binutils-common:s390x (2.42-4ubuntu1) ... 111s Setting up libctf-nobfd0:s390x (2.42-4ubuntu1) ... 111s Setting up libsframe1:s390x (2.42-4ubuntu1) ... 111s Setting up gcc-13-base:s390x (13.2.0-21ubuntu1) ... 111s Setting up libdevmapper1.02.1:s390x (2:1.02.185-3ubuntu2) ... 111s Setting up dmsetup (2:1.02.185-3ubuntu2) ... 111s Setting up jq (1.7.1-3) ... 111s Setting up libusb-1.0-0:s390x (2:1.0.27-1) ... 111s Setting up libbinutils:s390x (2.42-4ubuntu1) ... 111s Setting up initramfs-tools-bin (0.142ubuntu23) ... 111s Setting up libctf0:s390x (2.42-4ubuntu1) ... 111s Setting up binutils-s390x-linux-gnu (2.42-4ubuntu1) ... 111s Setting up binutils (2.42-4ubuntu1) ... 111s Setting up libftdi1-2:s390x (1.5-6build4) ... 111s Setting up initramfs-tools-core (0.142ubuntu23) ... 111s Setting up initramfs-tools (0.142ubuntu23) ... 111s update-initramfs: deferring update (trigger activated) 111s Processing triggers for man-db (2.12.0-3) ... 111s Processing triggers for libc-bin (2.39-0ubuntu6) ... 112s Processing triggers for initramfs-tools (0.142ubuntu23) ... 112s update-initramfs: Generating /boot/initrd.img-6.8.0-11-generic 112s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 115s Using config file '/etc/zipl.conf' 115s Building bootmap in '/boot' 115s Adding IPL section 'ubuntu' (default) 115s Preparing boot device for LD-IPL: vda (0000). 115s Done. 116s Reading package lists... 116s Building dependency tree... 116s Reading state information... 116s 0 upgraded, 0 newly installed, 0 to remove and 217 not upgraded. 117s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 117s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 117s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 117s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 118s Reading package lists... 118s Reading package lists... 118s Building dependency tree... 118s Reading state information... 119s Calculating upgrade... 119s The following packages were automatically installed and are no longer required: 119s libaio1 libnetplan0 python3-distutils python3-lib2to3 119s Use 'sudo apt autoremove' to remove them. 119s The following packages will be REMOVED: 119s libapt-pkg6.0 libarchive13 libatm1 libcurl3-gnutls libcurl4 libdb5.3 libelf1 119s libext2fs2 libgdbm-compat4 libgdbm6 libglib2.0-0 libgnutls30 libgpgme11 119s libhogweed6 libmagic1 libnettle8 libnpth0 libnvme1 libparted2 libperl5.38 119s libpng16-16 libpsl5 libreadline8 libreiserfscore0 libssl3 libtirpc3 liburcu8 119s libuv1 119s The following NEW packages will be installed: 119s bpfcc-tools bpftrace fontconfig-config fonts-dejavu-core fonts-dejavu-mono 119s hwdata ieee-data libaio1t64 libapt-pkg6.0t64 libarchive13t64 libatm1t64 119s libbpfcc libc-dev-bin libc-devtools libc6-dev libclang-cpp18 libclang1-18 119s libcrypt-dev libcurl3t64-gnutls libcurl4t64 libdb5.3t64 libdeflate0 119s libdw1t64 libelf1t64 libext2fs2t64 libfontconfig1 libfreetype6 libgd3 119s libgdbm-compat4t64 libgdbm6t64 libglib2.0-0t64 libgnutls30t64 libgpgme11t64 119s libhogweed6t64 libjbig0 libjpeg-turbo8 libjpeg8 libllvm18 libmagic1t64 119s libnetplan1 libnettle8t64 libnpth0t64 libnvme1t64 libparted2t64 119s libperl5.38t64 libpng16-16t64 libpsl5t64 libreadline8t64 libreiserfscore0t64 119s libsharpyuv0 libssl3t64 libtiff6 libtirpc3t64 liburcu8t64 libuv1t64 libwebp7 119s libxpm4 linux-headers-6.8.0-20 linux-headers-6.8.0-20-generic 119s linux-image-6.8.0-20-generic linux-libc-dev linux-modules-6.8.0-20-generic 119s linux-modules-extra-6.8.0-20-generic linux-tools-6.8.0-20 119s linux-tools-6.8.0-20-generic linux-tools-common manpages manpages-dev 119s python3-bpfcc python3-netaddr rpcsvc-proto ubuntu-kernel-accessories 119s xdg-user-dirs 119s The following packages have been kept back: 119s s390-tools 119s The following packages will be upgraded: 119s apparmor apt apt-utils base-files bash bind9-dnsutils bind9-host bind9-libs 119s bolt bsdextrautils bsdutils btrfs-progs coreutils cryptsetup-bin curl dbus 119s dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common 119s dbus-user-session dhcpcd-base dirmngr dpkg dpkg-dev e2fsprogs e2fsprogs-l10n 119s eject fdisk file ftp fwupd gawk gir1.2-girepository-2.0 gir1.2-glib-2.0 119s gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpgconf gpgsm gpgv 119s groff-base ibverbs-providers inetutils-telnet info install-info iproute2 119s keyboxd kmod kpartx krb5-locales libapparmor1 libaudit-common libaudit1 119s libblkid1 libblockdev-crypto3 libblockdev-fs3 libblockdev-loop3 119s libblockdev-mdraid3 libblockdev-nvme3 libblockdev-part3 libblockdev-swap3 119s libblockdev-utils3 libblockdev3 libbpf1 libbrotli1 libcap-ng0 libcom-err2 119s libcryptsetup12 libdbus-1-3 libdebconfclient0 libdpkg-perl 119s libevent-core-2.1-7 libfdisk1 libfido2-1 libfwupd2 libgirepository-1.0-1 119s libglib2.0-data libgssapi-krb5-2 libgudev-1.0-0 libgusb2 libibverbs1 119s libjcat1 libjson-glib-1.0-0 libjson-glib-1.0-common libk5crypto3 libkmod2 119s libkrb5-3 libkrb5support0 libldap-common libldap2 liblocale-gettext-perl 119s liblzma5 libmagic-mgc libmbim-glib4 libmbim-proxy libmm-glib0 libmount1 119s libnghttp2-14 libnsl2 libnss-systemd libpam-systemd libplymouth5 119s libpolkit-agent-1-0 libpolkit-gobject-1-0 libproc2-0 libprotobuf-c1 119s libpython3-stdlib libpython3.11-minimal libpython3.11-stdlib 119s libpython3.12-minimal libpython3.12-stdlib libqmi-glib5 libqmi-proxy 119s libqrtr-glib0 librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db 119s libselinux1 libsemanage-common libsemanage2 libslang2 libsmartcols1 119s libsqlite3-0 libss2 libssh-4 libsystemd-shared libsystemd0 119s libtext-charwidth-perl libtext-iconv-perl libtirpc-common libudev1 119s libudisks2-0 libuuid1 libvolume-key1 libxml2 libxmlb2 libxmuu1 linux-generic 119s linux-headers-generic linux-headers-virtual linux-image-generic 119s linux-image-virtual linux-virtual logsave lshw lsof man-db motd-news-config 119s mount mtr-tiny multipath-tools netplan-generator netplan.io openssh-client 119s openssh-server openssh-sftp-server openssl parted perl perl-base 119s perl-modules-5.38 pinentry-curses plymouth plymouth-theme-ubuntu-text procps 119s python-apt-common python3 python3-apt python3-cryptography python3-dbus 119s python3-distutils python3-gdbm python3-gi python3-lib2to3 python3-minimal 119s python3-netplan python3-pkg-resources python3-pyrsistent python3-setuptools 119s python3-typing-extensions python3.11 python3.11-minimal python3.12 119s python3.12-minimal readline-common rsync rsyslog s390-tools-data 119s shared-mime-info sudo systemd systemd-dev systemd-resolved systemd-sysv 119s systemd-timesyncd tcpdump telnet tnftp ubuntu-pro-client 119s ubuntu-pro-client-l10n udev udisks2 usb.ids util-linux uuid-runtime 119s vim-common vim-tiny wget xxd xz-utils zlib1g 119s 216 upgraded, 73 newly installed, 28 to remove and 1 not upgraded. 119s Need to get 223 MB of archives. 119s After this operation, 524 MB of additional disk space will be used. 119s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main s390x motd-news-config all 13ubuntu8 [5098 B] 119s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main s390x base-files s390x 13ubuntu8 [74.2 kB] 119s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main s390x bash s390x 5.2.21-2ubuntu3 [845 kB] 120s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main s390x bsdutils s390x 1:2.39.3-9ubuntu2 [96.1 kB] 120s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libbrotli1 s390x 1.1.0-2build1 [375 kB] 120s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgssapi-krb5-2 s390x 1.20.1-6ubuntu1 [149 kB] 120s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libkrb5-3 s390x 1.20.1-6ubuntu1 [360 kB] 120s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libkrb5support0 s390x 1.20.1-6ubuntu1 [34.6 kB] 120s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libk5crypto3 s390x 1.20.1-6ubuntu1 [90.3 kB] 120s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libcom-err2 s390x 1.47.0-2.4~exp1ubuntu2 [22.9 kB] 120s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main s390x zlib1g s390x 1:1.3.dfsg-3.1ubuntu1 [75.7 kB] 120s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/main s390x librtmp1 s390x 2.4+20151223.gitfa8646d.1-2build6 [58.4 kB] 120s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/main s390x udisks2 s390x 2.10.1-6 [298 kB] 120s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libudisks2-0 s390x 2.10.1-6 [179 kB] 120s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblkid1 s390x 2.39.3-9ubuntu2 [128 kB] 120s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/main s390x liblzma5 s390x 5.6.0-0.2 [137 kB] 120s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/main s390x kmod s390x 31+20240202-2ubuntu4 [107 kB] 120s Get:18 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libkmod2 s390x 31+20240202-2ubuntu4 [56.3 kB] 120s Get:19 http://ftpmaster.internal/ubuntu noble-proposed/main s390x systemd-dev all 255.4-1ubuntu5 [103 kB] 120s Get:20 http://ftpmaster.internal/ubuntu noble-proposed/main s390x systemd-timesyncd s390x 255.4-1ubuntu5 [35.3 kB] 120s Get:21 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dbus-session-bus-common all 1.14.10-4ubuntu2 [80.3 kB] 120s Get:22 http://ftpmaster.internal/ubuntu noble-proposed/main s390x systemd-sysv s390x 255.4-1ubuntu5 [11.9 kB] 120s Get:23 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpam-systemd s390x 255.4-1ubuntu5 [242 kB] 120s Get:24 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dbus-user-session s390x 1.14.10-4ubuntu2 [9960 B] 120s Get:25 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libapparmor1 s390x 4.0.0-beta3-0ubuntu2 [50.8 kB] 120s Get:26 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libaudit-common all 1:3.1.2-2.1 [5674 B] 120s Get:27 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libcap-ng0 s390x 0.8.4-2build1 [15.7 kB] 120s Get:28 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libaudit1 s390x 1:3.1.2-2.1 [48.9 kB] 120s Get:29 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libselinux1 s390x 3.5-2ubuntu1 [84.7 kB] 120s Get:30 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libcurl4t64 s390x 8.5.0-2ubuntu8 [363 kB] 120s Get:31 http://ftpmaster.internal/ubuntu noble-proposed/main s390x curl s390x 8.5.0-2ubuntu8 [227 kB] 121s Get:32 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpsl5t64 s390x 0.21.2-1.1 [57.6 kB] 121s Get:33 http://ftpmaster.internal/ubuntu noble-proposed/main s390x wget s390x 1.21.4-1ubuntu2 [351 kB] 121s Get:34 http://ftpmaster.internal/ubuntu noble-proposed/main s390x tnftp s390x 20230507-2build1 [107 kB] 121s Get:35 http://ftpmaster.internal/ubuntu noble-proposed/main s390x tcpdump s390x 4.99.4-3ubuntu2 [490 kB] 121s Get:36 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsystemd-shared s390x 255.4-1ubuntu5 [2131 kB] 121s Get:37 http://ftpmaster.internal/ubuntu noble-proposed/main s390x systemd-resolved s390x 255.4-1ubuntu5 [304 kB] 121s Get:38 http://ftpmaster.internal/ubuntu noble-proposed/main s390x sudo s390x 1.9.15p5-3ubuntu3 [968 kB] 121s Get:39 http://ftpmaster.internal/ubuntu noble-proposed/main s390x rsync s390x 3.2.7-1build1 [446 kB] 121s Get:40 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-cryptography s390x 41.0.7-4build2 [918 kB] 121s Get:41 http://ftpmaster.internal/ubuntu noble-proposed/main s390x openssl s390x 3.0.13-0ubuntu2 [1010 kB] 121s Get:42 http://ftpmaster.internal/ubuntu noble-proposed/main s390x openssh-sftp-server s390x 1:9.6p1-3ubuntu11 [39.0 kB] 121s Get:43 http://ftpmaster.internal/ubuntu noble-proposed/main s390x openssh-client s390x 1:9.6p1-3ubuntu11 [935 kB] 122s Get:44 http://ftpmaster.internal/ubuntu noble-proposed/main s390x openssh-server s390x 1:9.6p1-3ubuntu11 [529 kB] 122s Get:45 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libssh-4 s390x 0.10.6-2build1 [189 kB] 122s Get:46 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsasl2-modules s390x 2.1.28+dfsg1-5ubuntu1 [76.6 kB] 122s Get:47 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3.12 s390x 3.12.2-4build3 [645 kB] 122s Get:48 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3.12-minimal s390x 3.12.2-4build3 [2419 kB] 123s Get:49 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpython3.12-minimal s390x 3.12.2-4build3 [829 kB] 123s Get:50 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libparted2t64 s390x 3.6-3.1build2 [172 kB] 123s Get:51 http://ftpmaster.internal/ubuntu noble-proposed/main s390x parted s390x 3.6-3.1build2 [44.6 kB] 123s Get:52 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3.11 s390x 3.11.8-1build4 [589 kB] 123s Get:53 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3.11-minimal s390x 3.11.8-1build4 [2280 kB] 123s Get:54 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpython3.11-minimal s390x 3.11.8-1build4 [838 kB] 123s Get:55 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpython3.11-stdlib s390x 3.11.8-1build4 [1944 kB] 123s Get:56 http://ftpmaster.internal/ubuntu noble-proposed/main s390x shared-mime-info s390x 2.4-1build1 [474 kB] 123s Get:57 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gir1.2-girepository-2.0 s390x 1.79.1-1ubuntu6 [24.5 kB] 123s Get:58 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gir1.2-glib-2.0 s390x 2.79.3-3ubuntu5 [180 kB] 123s Get:59 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgirepository-1.0-1 s390x 1.79.1-1ubuntu6 [84.0 kB] 123s Get:60 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-gi s390x 3.47.0-3build1 [236 kB] 123s Get:61 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-dbus s390x 1.3.2-5build2 [100 kB] 123s Get:62 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libnetplan1 s390x 1.0-1 [123 kB] 123s Get:63 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-netplan s390x 1.0-1 [23.0 kB] 123s Get:64 http://ftpmaster.internal/ubuntu noble-proposed/main s390x netplan-generator s390x 1.0-1 [59.1 kB] 123s Get:65 http://ftpmaster.internal/ubuntu noble-proposed/main s390x netplan.io s390x 1.0-1 [65.4 kB] 123s Get:66 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libxmlb2 s390x 0.3.15-1build1 [70.6 kB] 123s Get:67 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgpgme11t64 s390x 1.18.0-4.1ubuntu3 [150 kB] 123s Get:68 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libvolume-key1 s390x 0.3.12-7build1 [40.8 kB] 123s Get:69 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libqrtr-glib0 s390x 1.2.2-1ubuntu3 [17.5 kB] 123s Get:70 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libqmi-glib5 s390x 1.35.2-0ubuntu1 [918 kB] 123s Get:71 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libqmi-proxy s390x 1.35.2-0ubuntu1 [6122 B] 123s Get:72 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpolkit-agent-1-0 s390x 124-1ubuntu1 [17.8 kB] 123s Get:73 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpolkit-gobject-1-0 s390x 124-1ubuntu1 [48.3 kB] 123s Get:74 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libmm-glib0 s390x 1.23.4-0ubuntu1 [251 kB] 123s Get:75 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libmbim-glib4 s390x 1.31.2-0ubuntu2 [238 kB] 123s Get:76 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libmbim-proxy s390x 1.31.2-0ubuntu2 [6154 B] 123s Get:77 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libjson-glib-1.0-common all 1.8.0-2build1 [4210 B] 123s Get:78 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libjson-glib-1.0-0 s390x 1.8.0-2build1 [68.4 kB] 123s Get:79 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgusb2 s390x 0.4.8-1build1 [39.0 kB] 123s Get:80 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgudev-1.0-0 s390x 1:238-3ubuntu2 [15.7 kB] 123s Get:81 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libarchive13t64 s390x 3.7.2-1.1ubuntu2 [419 kB] 123s Get:82 http://ftpmaster.internal/ubuntu noble-proposed/main s390x fwupd s390x 1.9.15-2 [4435 kB] 123s Get:83 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libcurl3t64-gnutls s390x 8.5.0-2ubuntu8 [356 kB] 123s Get:84 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libfwupd2 s390x 1.9.15-2 [136 kB] 123s Get:85 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev3 s390x 3.1.0-1build1 [52.3 kB] 123s Get:86 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev-utils3 s390x 3.1.0-1build1 [19.2 kB] 123s Get:87 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev-swap3 s390x 3.1.0-1build1 [7778 B] 123s Get:88 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev-part3 s390x 3.1.0-1build1 [15.4 kB] 123s Get:89 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libnvme1t64 s390x 1.8-3 [78.7 kB] 123s Get:90 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev-nvme3 s390x 3.1.0-1build1 [18.3 kB] 123s Get:91 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev-mdraid3 s390x 3.1.0-1build1 [13.2 kB] 123s Get:92 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev-loop3 s390x 3.1.0-1build1 [7138 B] 123s Get:93 http://ftpmaster.internal/ubuntu noble-proposed/main s390x logsave s390x 1.47.0-2.4~exp1ubuntu2 [22.5 kB] 123s Get:94 http://ftpmaster.internal/ubuntu noble-proposed/main s390x e2fsprogs-l10n all 1.47.0-2.4~exp1ubuntu2 [5996 B] 123s Get:95 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libext2fs2t64 s390x 1.47.0-2.4~exp1ubuntu2 [235 kB] 123s Get:96 http://ftpmaster.internal/ubuntu noble-proposed/main s390x e2fsprogs s390x 1.47.0-2.4~exp1ubuntu2 [615 kB] 123s Get:97 http://ftpmaster.internal/ubuntu noble/main s390x libreiserfscore0t64 s390x 1:3.6.27-7.1 [85.5 kB] 123s Get:98 http://ftpmaster.internal/ubuntu noble-proposed/main s390x btrfs-progs s390x 6.6.3-1.1build1 [959 kB] 123s Get:99 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev-fs3 s390x 3.1.0-1build1 [36.5 kB] 123s Get:100 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libblockdev-crypto3 s390x 3.1.0-1build1 [21.6 kB] 123s Get:101 http://ftpmaster.internal/ubuntu noble-proposed/main s390x bolt s390x 0.9.6-2build1 [142 kB] 123s Get:102 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libglib2.0-0t64 s390x 2.79.3-3ubuntu5 [1566 kB] 124s Get:103 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libjcat1 s390x 0.2.0-2build2 [34.4 kB] 124s Get:104 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libldap2 s390x 2.6.7+dfsg-1~exp1ubuntu6 [202 kB] 124s Get:105 http://ftpmaster.internal/ubuntu noble-proposed/main s390x ubuntu-pro-client-l10n s390x 31.2.2 [19.4 kB] 124s Get:106 http://ftpmaster.internal/ubuntu noble-proposed/main s390x ubuntu-pro-client s390x 31.2.2 [214 kB] 124s Get:107 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gnupg-utils s390x 2.4.4-2ubuntu15 [116 kB] 124s Get:108 http://ftpmaster.internal/ubuntu noble-proposed/main s390x keyboxd s390x 2.4.4-2ubuntu15 [83.1 kB] 124s Get:109 http://ftpmaster.internal/ubuntu noble/main s390x libnpth0t64 s390x 1.6-3.1 [8148 B] 124s Get:110 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gpgv s390x 2.4.4-2ubuntu15 [165 kB] 124s Get:111 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gpg-wks-client s390x 2.4.4-2ubuntu15 [76.8 kB] 124s Get:112 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gpg-agent s390x 2.4.4-2ubuntu15 [240 kB] 124s Get:113 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gpg s390x 2.4.4-2ubuntu15 [589 kB] 124s Get:114 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dirmngr s390x 2.4.4-2ubuntu15 [340 kB] 124s Get:115 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gnupg all 2.4.4-2ubuntu15 [359 kB] 124s Get:116 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-apt s390x 2.7.7 [171 kB] 124s Get:117 http://ftpmaster.internal/ubuntu noble-proposed/main s390x apt-utils s390x 2.7.14 [214 kB] 124s Get:118 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libapt-pkg6.0t64 s390x 2.7.14 [1014 kB] 124s Get:119 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libnettle8t64 s390x 3.9.1-2.2 [210 kB] 124s Get:120 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libhogweed6t64 s390x 3.9.1-2.2 [204 kB] 124s Get:121 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgnutls30t64 s390x 3.8.3-1.1ubuntu2 [1044 kB] 124s Get:122 http://ftpmaster.internal/ubuntu noble-proposed/main s390x apt s390x 2.7.14 [1390 kB] 124s Get:123 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gpgconf s390x 2.4.4-2ubuntu15 [111 kB] 124s Get:124 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gpgsm s390x 2.4.4-2ubuntu15 [244 kB] 124s Get:125 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libreadline8t64 s390x 8.2-4 [170 kB] 124s Get:126 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gawk s390x 1:5.2.1-2build2 [496 kB] 124s Get:127 http://ftpmaster.internal/ubuntu noble-proposed/main s390x fdisk s390x 2.39.3-9ubuntu2 [124 kB] 124s Get:128 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpython3.12-stdlib s390x 3.12.2-4build3 [2046 kB] 125s Get:129 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl-base s390x 5.38.2-3.2 [1961 kB] 125s Get:130 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 125s Get:131 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-gdbm s390x 3.12.2-3ubuntu1.1 [19.0 kB] 125s Get:132 http://ftpmaster.internal/ubuntu noble-proposed/main s390x man-db s390x 2.12.0-3build4 [1246 kB] 125s Get:133 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgdbm6t64 s390x 1.23-5.1 [36.4 kB] 125s Get:134 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgdbm-compat4t64 s390x 1.23-5.1 [6880 B] 125s Get:135 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libperl5.38t64 s390x 5.38.2-3.2 [5007 kB] 125s Get:136 http://ftpmaster.internal/ubuntu noble-proposed/main s390x perl s390x 5.38.2-3.2 [231 kB] 125s Get:137 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libdb5.3t64 s390x 5.3.28+dfsg2-6 [763 kB] 125s Get:138 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsasl2-modules-db s390x 2.1.28+dfsg1-5ubuntu1 [21.1 kB] 125s Get:139 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsasl2-2 s390x 2.1.28+dfsg1-5ubuntu1 [57.8 kB] 125s Get:140 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libfido2-1 s390x 1.14.0-1build1 [81.0 kB] 125s Get:141 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libcryptsetup12 s390x 2:2.7.0-1ubuntu2 [264 kB] 125s Get:142 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dhcpcd-base s390x 1:10.0.6-1ubuntu2 [217 kB] 125s Get:143 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libuv1t64 s390x 1.48.0-1.1 [101 kB] 125s Get:144 http://ftpmaster.internal/ubuntu noble-proposed/main s390x bind9-host s390x 1:9.18.24-0ubuntu3 [50.5 kB] 125s Get:145 http://ftpmaster.internal/ubuntu noble-proposed/main s390x bind9-dnsutils s390x 1:9.18.24-0ubuntu3 [162 kB] 125s Get:146 http://ftpmaster.internal/ubuntu noble-proposed/main s390x bind9-libs s390x 1:9.18.24-0ubuntu3 [1243 kB] 125s Get:147 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libssl3t64 s390x 3.0.13-0ubuntu2 [1675 kB] 125s Get:148 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libnss-systemd s390x 255.4-1ubuntu5 [166 kB] 125s Get:149 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libudev1 s390x 255.4-1ubuntu5 [178 kB] 125s Get:150 http://ftpmaster.internal/ubuntu noble-proposed/main s390x systemd s390x 255.4-1ubuntu5 [3533 kB] 126s Get:151 http://ftpmaster.internal/ubuntu noble-proposed/main s390x udev s390x 255.4-1ubuntu5 [1887 kB] 126s Get:152 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsystemd0 s390x 255.4-1ubuntu5 [443 kB] 126s Get:153 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dbus-system-bus-common all 1.14.10-4ubuntu2 [81.5 kB] 126s Get:154 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dbus-bin s390x 1.14.10-4ubuntu2 [41.4 kB] 126s Get:155 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dbus s390x 1.14.10-4ubuntu2 [24.3 kB] 126s Get:156 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dbus-daemon s390x 1.14.10-4ubuntu2 [118 kB] 126s Get:157 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libdbus-1-3 s390x 1.14.10-4ubuntu2 [213 kB] 126s Get:158 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libmount1 s390x 2.39.3-9ubuntu2 [138 kB] 126s Get:159 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libuuid1 s390x 2.39.3-9ubuntu2 [35.6 kB] 126s Get:160 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libfdisk1 s390x 2.39.3-9ubuntu2 [151 kB] 126s Get:161 http://ftpmaster.internal/ubuntu noble-proposed/main s390x mount s390x 2.39.3-9ubuntu2 [119 kB] 126s Get:162 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsqlite3-0 s390x 3.45.1-1ubuntu1 [747 kB] 126s Get:163 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dpkg s390x 1.22.6ubuntu5 [1278 kB] 126s Get:164 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-minimal s390x 3.12.2-0ubuntu1 [27.1 kB] 126s Get:165 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3 s390x 3.12.2-0ubuntu1 [24.1 kB] 126s Get:166 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpython3-stdlib s390x 3.12.2-0ubuntu1 [9804 B] 126s Get:167 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsmartcols1 s390x 2.39.3-9ubuntu2 [67.9 kB] 126s Get:168 http://ftpmaster.internal/ubuntu noble-proposed/main s390x bsdextrautils s390x 2.39.3-9ubuntu2 [76.3 kB] 126s Get:169 http://ftpmaster.internal/ubuntu noble-proposed/main s390x groff-base s390x 1.23.0-3build1 [1049 kB] 126s Get:170 http://ftpmaster.internal/ubuntu noble-proposed/main s390x pinentry-curses s390x 1.2.1-3ubuntu4 [37.6 kB] 126s Get:171 http://ftpmaster.internal/ubuntu noble-proposed/main s390x readline-common all 8.2-4 [56.4 kB] 126s Get:172 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libxml2 s390x 2.9.14+dfsg-1.3ubuntu2 [818 kB] 126s Get:173 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libbpf1 s390x 1:1.3.0-2build1 [176 kB] 126s Get:174 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libelf1t64 s390x 0.190-1.1build2 [69.7 kB] 126s Get:175 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libtirpc-common all 1.3.4+ds-1.1 [8018 B] 126s Get:176 http://ftpmaster.internal/ubuntu noble-proposed/main s390x lsof s390x 4.95.0-1build2 [248 kB] 126s Get:177 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libnsl2 s390x 1.3.0-3build2 [44.1 kB] 126s Get:178 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libtirpc3t64 s390x 1.3.4+ds-1.1 [85.8 kB] 126s Get:179 http://ftpmaster.internal/ubuntu noble-proposed/main s390x iproute2 s390x 6.1.0-1ubuntu5 [1156 kB] 126s Get:180 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libprotobuf-c1 s390x 1.4.1-1ubuntu3 [23.4 kB] 126s Get:181 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libnghttp2-14 s390x 1.59.0-1build1 [77.8 kB] 126s Get:182 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libproc2-0 s390x 2:4.0.4-4ubuntu2 [60.1 kB] 126s Get:183 http://ftpmaster.internal/ubuntu noble-proposed/main s390x procps s390x 2:4.0.4-4ubuntu2 [724 kB] 126s Get:184 http://ftpmaster.internal/ubuntu noble-proposed/main s390x coreutils s390x 9.4-3ubuntu3 [1482 kB] 126s Get:185 http://ftpmaster.internal/ubuntu noble-proposed/main s390x util-linux s390x 2.39.3-9ubuntu2 [1143 kB] 126s Get:186 http://ftpmaster.internal/ubuntu noble-proposed/main s390x file s390x 1:5.45-3 [22.2 kB] 126s Get:187 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libmagic-mgc s390x 1:5.45-3 [305 kB] 126s Get:188 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libmagic1t64 s390x 1:5.45-3 [93.1 kB] 126s Get:189 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libplymouth5 s390x 24.004.60-1ubuntu6 [151 kB] 126s Get:190 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libpng16-16t64 s390x 1.6.43-3 [200 kB] 126s Get:191 http://ftpmaster.internal/ubuntu noble-proposed/main s390x multipath-tools s390x 0.9.4-5ubuntu6 [318 kB] 126s Get:192 http://ftpmaster.internal/ubuntu noble/main s390x liburcu8t64 s390x 0.14.0-3.1 [67.3 kB] 126s Get:193 http://ftpmaster.internal/ubuntu noble-proposed/main s390x liblocale-gettext-perl s390x 1.07-6ubuntu4 [15.8 kB] 126s Get:194 http://ftpmaster.internal/ubuntu noble-proposed/main s390x uuid-runtime s390x 2.39.3-9ubuntu2 [33.4 kB] 127s Get:195 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libdebconfclient0 s390x 0.271ubuntu2 [11.4 kB] 127s Get:196 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsemanage-common all 3.5-1build4 [10.1 kB] 127s Get:197 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsemanage2 s390x 3.5-1build4 [96.7 kB] 127s Get:198 http://ftpmaster.internal/ubuntu noble-proposed/main s390x install-info s390x 7.1-3build1 [64.5 kB] 127s Get:199 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libss2 s390x 1.47.0-2.4~exp1ubuntu2 [17.2 kB] 127s Get:200 http://ftpmaster.internal/ubuntu noble-proposed/main s390x eject s390x 2.39.3-9ubuntu2 [26.2 kB] 127s Get:201 http://ftpmaster.internal/ubuntu noble-proposed/main s390x krb5-locales all 1.20.1-6ubuntu1 [13.8 kB] 127s Get:202 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libglib2.0-data all 2.79.3-3ubuntu5 [46.6 kB] 127s Get:203 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libslang2 s390x 2.3.3-3build1 [501 kB] 127s Get:204 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libtext-charwidth-perl s390x 0.04-11build2 [9484 B] 127s Get:205 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libtext-iconv-perl s390x 1.7-8build2 [13.8 kB] 127s Get:206 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python-apt-common all 2.7.7 [19.8 kB] 127s Get:207 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-setuptools all 68.1.2-2ubuntu1 [396 kB] 127s Get:208 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-pkg-resources all 68.1.2-2ubuntu1 [168 kB] 127s Get:209 http://ftpmaster.internal/ubuntu noble-proposed/main s390x rsyslog s390x 8.2312.0-3ubuntu7 [536 kB] 127s Get:210 http://ftpmaster.internal/ubuntu noble-proposed/main s390x vim-tiny s390x 2:9.1.0016-1ubuntu6 [879 kB] 127s Get:211 http://ftpmaster.internal/ubuntu noble-proposed/main s390x vim-common all 2:9.1.0016-1ubuntu6 [385 kB] 127s Get:212 http://ftpmaster.internal/ubuntu noble/main s390x xdg-user-dirs s390x 0.18-1 [18.5 kB] 127s Get:213 http://ftpmaster.internal/ubuntu noble-proposed/main s390x xxd s390x 2:9.1.0016-1ubuntu6 [63.5 kB] 127s Get:214 http://ftpmaster.internal/ubuntu noble-proposed/main s390x apparmor s390x 4.0.0-beta3-0ubuntu2 [710 kB] 128s Get:215 http://ftpmaster.internal/ubuntu noble-proposed/main s390x ftp all 20230507-2build1 [4724 B] 128s Get:216 http://ftpmaster.internal/ubuntu noble-proposed/main s390x inetutils-telnet s390x 2:2.5-3ubuntu3 [105 kB] 128s Get:217 http://ftpmaster.internal/ubuntu noble-proposed/main s390x info s390x 7.1-3build1 [152 kB] 128s Get:218 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libxmuu1 s390x 2:1.1.3-3build1 [8860 B] 128s Get:219 http://ftpmaster.internal/ubuntu noble-proposed/main s390x lshw s390x 02.19.git.2021.06.19.996aaad9c7-2build2 [346 kB] 128s Get:220 http://ftpmaster.internal/ubuntu noble/main s390x manpages all 6.05.01-1 [1340 kB] 128s Get:221 http://ftpmaster.internal/ubuntu noble-proposed/main s390x mtr-tiny s390x 0.95-1.1build1 [57.0 kB] 128s Get:222 http://ftpmaster.internal/ubuntu noble-proposed/main s390x plymouth-theme-ubuntu-text s390x 24.004.60-1ubuntu6 [10.2 kB] 128s Get:223 http://ftpmaster.internal/ubuntu noble-proposed/main s390x plymouth s390x 24.004.60-1ubuntu6 [147 kB] 128s Get:224 http://ftpmaster.internal/ubuntu noble-proposed/main s390x telnet all 0.17+2.5-3ubuntu3 [3682 B] 128s Get:225 http://ftpmaster.internal/ubuntu noble-proposed/main s390x usb.ids all 2024.03.18-1 [223 kB] 128s Get:226 http://ftpmaster.internal/ubuntu noble-proposed/main s390x xz-utils s390x 5.6.0-0.2 [274 kB] 128s Get:227 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libllvm18 s390x 1:18.1.2-1ubuntu2 [33.4 MB] 130s Get:228 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libclang-cpp18 s390x 1:18.1.2-1ubuntu2 [16.1 MB] 131s Get:229 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x libbpfcc s390x 0.29.1+ds-1ubuntu4 [697 kB] 131s Get:230 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x python3-bpfcc all 0.29.1+ds-1ubuntu4 [40.2 kB] 131s Get:231 http://ftpmaster.internal/ubuntu noble/main s390x ieee-data all 20220827.1 [2113 kB] 132s Get:232 http://ftpmaster.internal/ubuntu noble/main s390x python3-netaddr all 0.8.0-2ubuntu1 [319 kB] 132s Get:233 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x bpfcc-tools all 0.29.1+ds-1ubuntu4 [687 kB] 132s Get:234 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libclang1-18 s390x 1:18.1.2-1ubuntu2 [9349 kB] 133s Get:235 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libdw1t64 s390x 0.190-1.1build2 [286 kB] 133s Get:236 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x bpftrace s390x 0.20.2-1ubuntu1 [1139 kB] 133s Get:237 http://ftpmaster.internal/ubuntu noble-proposed/main s390x cryptsetup-bin s390x 2:2.7.0-1ubuntu2 [211 kB] 133s Get:238 http://ftpmaster.internal/ubuntu noble-proposed/main s390x dpkg-dev all 1.22.6ubuntu5 [1074 kB] 133s Get:239 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libdpkg-perl all 1.22.6ubuntu5 [269 kB] 133s Get:240 http://ftpmaster.internal/ubuntu noble/main s390x fonts-dejavu-mono all 2.37-8 [502 kB] 133s Get:241 http://ftpmaster.internal/ubuntu noble/main s390x fonts-dejavu-core all 2.37-8 [835 kB] 133s Get:242 http://ftpmaster.internal/ubuntu noble/main s390x fontconfig-config s390x 2.15.0-1.1ubuntu1 [37.4 kB] 133s Get:243 http://ftpmaster.internal/ubuntu noble-proposed/main s390x gnupg-l10n all 2.4.4-2ubuntu15 [65.8 kB] 133s Get:244 http://ftpmaster.internal/ubuntu noble/main s390x hwdata all 0.379-1 [29.1 kB] 133s Get:245 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libibverbs1 s390x 50.0-2build1 [70.0 kB] 133s Get:246 http://ftpmaster.internal/ubuntu noble-proposed/main s390x ibverbs-providers s390x 50.0-2build1 [408 kB] 133s Get:247 http://ftpmaster.internal/ubuntu noble/main s390x libaio1t64 s390x 0.3.113-6 [7290 B] 133s Get:248 http://ftpmaster.internal/ubuntu noble/main s390x libatm1t64 s390x 1:2.5.1-5.1 [24.5 kB] 133s Get:249 http://ftpmaster.internal/ubuntu noble/main s390x libc-dev-bin s390x 2.39-0ubuntu6 [20.2 kB] 133s Get:250 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libfreetype6 s390x 2.13.2+dfsg-1build2 [437 kB] 133s Get:251 http://ftpmaster.internal/ubuntu noble/main s390x libfontconfig1 s390x 2.15.0-1.1ubuntu1 [150 kB] 133s Get:252 http://ftpmaster.internal/ubuntu noble/main s390x libjpeg-turbo8 s390x 2.1.5-2ubuntu1 [128 kB] 133s Get:253 http://ftpmaster.internal/ubuntu noble/main s390x libjpeg8 s390x 8c-2ubuntu11 [2146 B] 133s Get:254 http://ftpmaster.internal/ubuntu noble/main s390x libdeflate0 s390x 1.19-1 [46.0 kB] 133s Get:255 http://ftpmaster.internal/ubuntu noble/main s390x libjbig0 s390x 2.1-6.1ubuntu1 [29.8 kB] 133s Get:256 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libsharpyuv0 s390x 1.3.2-0.4build2 [14.9 kB] 133s Get:257 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libwebp7 s390x 1.3.2-0.4build2 [207 kB] 133s Get:258 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libtiff6 s390x 4.5.1+git230720-4ubuntu1 [218 kB] 133s Get:259 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libxpm4 s390x 1:3.5.17-1build1 [41.4 kB] 133s Get:260 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libgd3 s390x 2.3.3-9ubuntu3 [141 kB] 133s Get:261 http://ftpmaster.internal/ubuntu noble/main s390x libc-devtools s390x 2.39-0ubuntu6 [30.6 kB] 133s Get:262 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-libc-dev s390x 6.8.0-20.20 [1592 kB] 133s Get:263 http://ftpmaster.internal/ubuntu noble/main s390x libcrypt-dev s390x 1:4.4.36-4 [135 kB] 133s Get:264 http://ftpmaster.internal/ubuntu noble/main s390x rpcsvc-proto s390x 1.4.2-0ubuntu6 [64.7 kB] 133s Get:265 http://ftpmaster.internal/ubuntu noble/main s390x libc6-dev s390x 2.39-0ubuntu6 [1629 kB] 134s Get:266 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libevent-core-2.1-7 s390x 2.1.12-stable-9build1 [94.3 kB] 134s Get:267 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libldap-common all 2.6.7+dfsg-1~exp1ubuntu6 [31.3 kB] 134s Get:268 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-modules-6.8.0-20-generic s390x 6.8.0-20.20 [21.0 MB] 136s Get:269 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-image-6.8.0-20-generic s390x 6.8.0-20.20 [9872 kB] 137s Get:270 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-modules-extra-6.8.0-20-generic s390x 6.8.0-20.20 [11.7 MB] 138s Get:271 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-generic s390x 6.8.0-20.20+1 [1734 B] 138s Get:272 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-image-generic s390x 6.8.0-20.20+1 [9688 B] 138s Get:273 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-virtual s390x 6.8.0-20.20+1 [1682 B] 138s Get:274 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-image-virtual s390x 6.8.0-20.20+1 [9700 B] 138s Get:275 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-headers-virtual s390x 6.8.0-20.20+1 [1642 B] 138s Get:276 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-headers-6.8.0-20 all 6.8.0-20.20 [13.6 MB] 140s Get:277 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-headers-6.8.0-20-generic s390x 6.8.0-20.20 [2579 kB] 141s Get:278 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-headers-generic s390x 6.8.0-20.20+1 [9608 B] 141s Get:279 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-tools-common all 6.8.0-20.20 [437 kB] 141s Get:280 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-tools-6.8.0-20 s390x 6.8.0-20.20 [2674 kB] 141s Get:281 http://ftpmaster.internal/ubuntu noble-proposed/main s390x linux-tools-6.8.0-20-generic s390x 6.8.0-20.20 [1724 B] 141s Get:282 http://ftpmaster.internal/ubuntu noble/main s390x manpages-dev all 6.05.01-1 [2018 kB] 142s Get:283 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-distutils all 3.12.2-3ubuntu1.1 [133 kB] 142s Get:284 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-lib2to3 all 3.12.2-3ubuntu1.1 [79.1 kB] 142s Get:285 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-pyrsistent s390x 0.20.0-1build1 [55.8 kB] 142s Get:286 http://ftpmaster.internal/ubuntu noble-proposed/main s390x python3-typing-extensions all 4.10.0-1 [60.7 kB] 142s Get:287 http://ftpmaster.internal/ubuntu noble-proposed/main s390x s390-tools-data all 2.31.0-0ubuntu3 [17.8 kB] 142s Get:288 http://ftpmaster.internal/ubuntu noble/main s390x ubuntu-kernel-accessories s390x 1.536build1 [10.5 kB] 142s Get:289 http://ftpmaster.internal/ubuntu noble-proposed/main s390x kpartx s390x 0.9.4-5ubuntu6 [32.8 kB] 143s Preconfiguring packages ... 143s Fetched 223 MB in 23s (9741 kB/s) 143s (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 ... 52166 files and directories currently installed.) 143s Preparing to unpack .../motd-news-config_13ubuntu8_all.deb ... 143s Unpacking motd-news-config (13ubuntu8) over (13ubuntu7) ... 143s Preparing to unpack .../base-files_13ubuntu8_s390x.deb ... 143s Unpacking base-files (13ubuntu8) over (13ubuntu7) ... 143s Setting up base-files (13ubuntu8) ... 144s motd-news.service is a disabled or a static unit not running, not starting it. 144s (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 ... 52166 files and directories currently installed.) 144s Preparing to unpack .../bash_5.2.21-2ubuntu3_s390x.deb ... 144s Unpacking bash (5.2.21-2ubuntu3) over (5.2.21-2ubuntu2) ... 144s Setting up bash (5.2.21-2ubuntu3) ... 144s update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode 144s (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 ... 52166 files and directories currently installed.) 144s Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu2_s390x.deb ... 144s Unpacking bsdutils (1:2.39.3-9ubuntu2) over (1:2.39.3-6ubuntu2) ... 144s Setting up bsdutils (1:2.39.3-9ubuntu2) ... 144s (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 ... 52166 files and directories currently installed.) 144s Preparing to unpack .../0-libbrotli1_1.1.0-2build1_s390x.deb ... 144s Unpacking libbrotli1:s390x (1.1.0-2build1) over (1.1.0-2) ... 144s Preparing to unpack .../1-libgssapi-krb5-2_1.20.1-6ubuntu1_s390x.deb ... 144s Unpacking libgssapi-krb5-2:s390x (1.20.1-6ubuntu1) over (1.20.1-5build1) ... 144s Preparing to unpack .../2-libkrb5-3_1.20.1-6ubuntu1_s390x.deb ... 144s Unpacking libkrb5-3:s390x (1.20.1-6ubuntu1) over (1.20.1-5build1) ... 144s Preparing to unpack .../3-libkrb5support0_1.20.1-6ubuntu1_s390x.deb ... 144s Unpacking libkrb5support0:s390x (1.20.1-6ubuntu1) over (1.20.1-5build1) ... 144s Preparing to unpack .../4-libk5crypto3_1.20.1-6ubuntu1_s390x.deb ... 144s Unpacking libk5crypto3:s390x (1.20.1-6ubuntu1) over (1.20.1-5build1) ... 144s Preparing to unpack .../5-libcom-err2_1.47.0-2.4~exp1ubuntu2_s390x.deb ... 144s Unpacking libcom-err2:s390x (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 144s Preparing to unpack .../6-zlib1g_1%3a1.3.dfsg-3.1ubuntu1_s390x.deb ... 144s Unpacking zlib1g:s390x (1:1.3.dfsg-3.1ubuntu1) over (1:1.3.dfsg-3ubuntu1) ... 144s Setting up zlib1g:s390x (1:1.3.dfsg-3.1ubuntu1) ... 144s (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 ... 52166 files and directories currently installed.) 144s Preparing to unpack .../librtmp1_2.4+20151223.gitfa8646d.1-2build6_s390x.deb ... 144s Unpacking librtmp1:s390x (2.4+20151223.gitfa8646d.1-2build6) over (2.4+20151223.gitfa8646d.1-2build4) ... 144s Preparing to unpack .../udisks2_2.10.1-6_s390x.deb ... 144s Unpacking udisks2 (2.10.1-6) over (2.10.1-1ubuntu2) ... 144s Preparing to unpack .../libudisks2-0_2.10.1-6_s390x.deb ... 144s Unpacking libudisks2-0:s390x (2.10.1-6) over (2.10.1-1ubuntu2) ... 144s Preparing to unpack .../libblkid1_2.39.3-9ubuntu2_s390x.deb ... 144s Unpacking libblkid1:s390x (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 144s Setting up libblkid1:s390x (2.39.3-9ubuntu2) ... 144s (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 ... 52166 files and directories currently installed.) 144s Preparing to unpack .../liblzma5_5.6.0-0.2_s390x.deb ... 144s Unpacking liblzma5:s390x (5.6.0-0.2) over (5.4.5-0.3) ... 144s Setting up liblzma5:s390x (5.6.0-0.2) ... 144s (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 ... 52166 files and directories currently installed.) 144s Preparing to unpack .../0-kmod_31+20240202-2ubuntu4_s390x.deb ... 144s Unpacking kmod (31+20240202-2ubuntu4) over (30+20230601-2ubuntu1) ... 144s Preparing to unpack .../1-libkmod2_31+20240202-2ubuntu4_s390x.deb ... 144s Unpacking libkmod2:s390x (31+20240202-2ubuntu4) over (30+20230601-2ubuntu1) ... 144s Preparing to unpack .../2-systemd-dev_255.4-1ubuntu5_all.deb ... 144s Unpacking systemd-dev (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 144s Preparing to unpack .../3-systemd-timesyncd_255.4-1ubuntu5_s390x.deb ... 144s Unpacking systemd-timesyncd (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 144s Preparing to unpack .../4-dbus-session-bus-common_1.14.10-4ubuntu2_all.deb ... 144s Unpacking dbus-session-bus-common (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 144s Preparing to unpack .../5-systemd-sysv_255.4-1ubuntu5_s390x.deb ... 144s Unpacking systemd-sysv (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 144s Preparing to unpack .../6-libpam-systemd_255.4-1ubuntu5_s390x.deb ... 144s Unpacking libpam-systemd:s390x (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 144s Preparing to unpack .../7-dbus-user-session_1.14.10-4ubuntu2_s390x.deb ... 144s Unpacking dbus-user-session (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 144s Preparing to unpack .../8-libapparmor1_4.0.0-beta3-0ubuntu2_s390x.deb ... 144s Unpacking libapparmor1:s390x (4.0.0-beta3-0ubuntu2) over (4.0.0~alpha4-0ubuntu1) ... 144s Preparing to unpack .../9-libaudit-common_1%3a3.1.2-2.1_all.deb ... 144s Unpacking libaudit-common (1:3.1.2-2.1) over (1:3.1.2-2) ... 144s Setting up libaudit-common (1:3.1.2-2.1) ... 144s (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 ... 52166 files and directories currently installed.) 144s Preparing to unpack .../libcap-ng0_0.8.4-2build1_s390x.deb ... 144s Unpacking libcap-ng0:s390x (0.8.4-2build1) over (0.8.4-2) ... 145s Setting up libcap-ng0:s390x (0.8.4-2build1) ... 145s (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 ... 52166 files and directories currently installed.) 145s Preparing to unpack .../libaudit1_1%3a3.1.2-2.1_s390x.deb ... 145s Unpacking libaudit1:s390x (1:3.1.2-2.1) over (1:3.1.2-2) ... 145s Setting up libaudit1:s390x (1:3.1.2-2.1) ... 145s (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 ... 52166 files and directories currently installed.) 145s Preparing to unpack .../libselinux1_3.5-2ubuntu1_s390x.deb ... 145s Unpacking libselinux1:s390x (3.5-2ubuntu1) over (3.5-2build1) ... 145s Setting up libselinux1:s390x (3.5-2ubuntu1) ... 145s dpkg: libcurl4:s390x: dependency problems, but removing anyway as you requested: 145s s390-tools depends on libcurl4 (>= 7.16.2). 145s curl depends on libcurl4 (= 8.5.0-2ubuntu2). 145s 145s (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 ... 52166 files and directories currently installed.) 145s Removing libcurl4:s390x (8.5.0-2ubuntu2) ... 145s Selecting previously unselected package libcurl4t64:s390x. 145s (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 ... 52161 files and directories currently installed.) 145s Preparing to unpack .../libcurl4t64_8.5.0-2ubuntu8_s390x.deb ... 145s Unpacking libcurl4t64:s390x (8.5.0-2ubuntu8) ... 145s Preparing to unpack .../curl_8.5.0-2ubuntu8_s390x.deb ... 145s Unpacking curl (8.5.0-2ubuntu8) over (8.5.0-2ubuntu2) ... 145s dpkg: libpsl5:s390x: dependency problems, but removing anyway as you requested: 145s wget depends on libpsl5 (>= 0.16.0). 145s libcurl3-gnutls:s390x depends on libpsl5 (>= 0.16.0). 145s 145s (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 ... 52167 files and directories currently installed.) 145s Removing libpsl5:s390x (0.21.2-1build1) ... 145s Selecting previously unselected package libpsl5t64:s390x. 145s (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 ... 52162 files and directories currently installed.) 145s Preparing to unpack .../00-libpsl5t64_0.21.2-1.1_s390x.deb ... 145s Unpacking libpsl5t64:s390x (0.21.2-1.1) ... 145s Preparing to unpack .../01-wget_1.21.4-1ubuntu2_s390x.deb ... 145s Unpacking wget (1.21.4-1ubuntu2) over (1.21.4-1ubuntu1) ... 145s Preparing to unpack .../02-tnftp_20230507-2build1_s390x.deb ... 145s Unpacking tnftp (20230507-2build1) over (20230507-2) ... 145s Preparing to unpack .../03-tcpdump_4.99.4-3ubuntu2_s390x.deb ... 145s Unpacking tcpdump (4.99.4-3ubuntu2) over (4.99.4-3ubuntu1) ... 145s Preparing to unpack .../04-libsystemd-shared_255.4-1ubuntu5_s390x.deb ... 145s Unpacking libsystemd-shared:s390x (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 145s Preparing to unpack .../05-systemd-resolved_255.4-1ubuntu5_s390x.deb ... 145s Unpacking systemd-resolved (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 145s Preparing to unpack .../06-sudo_1.9.15p5-3ubuntu3_s390x.deb ... 145s Unpacking sudo (1.9.15p5-3ubuntu3) over (1.9.15p5-3ubuntu1) ... 145s Preparing to unpack .../07-rsync_3.2.7-1build1_s390x.deb ... 145s Unpacking rsync (3.2.7-1build1) over (3.2.7-1) ... 145s Preparing to unpack .../08-python3-cryptography_41.0.7-4build2_s390x.deb ... 145s Unpacking python3-cryptography (41.0.7-4build2) over (41.0.7-3) ... 145s Preparing to unpack .../09-openssl_3.0.13-0ubuntu2_s390x.deb ... 145s Unpacking openssl (3.0.13-0ubuntu2) over (3.0.10-1ubuntu4) ... 145s Preparing to unpack .../10-openssh-sftp-server_1%3a9.6p1-3ubuntu11_s390x.deb ... 145s Unpacking openssh-sftp-server (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 145s Preparing to unpack .../11-openssh-client_1%3a9.6p1-3ubuntu11_s390x.deb ... 145s Unpacking openssh-client (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 145s Preparing to unpack .../12-openssh-server_1%3a9.6p1-3ubuntu11_s390x.deb ... 146s Unpacking openssh-server (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 146s Preparing to unpack .../13-libssh-4_0.10.6-2build1_s390x.deb ... 146s Unpacking libssh-4:s390x (0.10.6-2build1) over (0.10.6-2) ... 146s Preparing to unpack .../14-libsasl2-modules_2.1.28+dfsg1-5ubuntu1_s390x.deb ... 146s Unpacking libsasl2-modules:s390x (2.1.28+dfsg1-5ubuntu1) over (2.1.28+dfsg1-4) ... 146s Preparing to unpack .../15-python3.12_3.12.2-4build3_s390x.deb ... 146s Unpacking python3.12 (3.12.2-4build3) over (3.12.2-1) ... 146s Preparing to unpack .../16-python3.12-minimal_3.12.2-4build3_s390x.deb ... 146s Unpacking python3.12-minimal (3.12.2-4build3) over (3.12.2-1) ... 146s Preparing to unpack .../17-libpython3.12-minimal_3.12.2-4build3_s390x.deb ... 146s Unpacking libpython3.12-minimal:s390x (3.12.2-4build3) over (3.12.2-1) ... 146s dpkg: libparted2:s390x: dependency problems, but removing anyway as you requested: 146s parted depends on libparted2 (= 3.6-3). 146s 146s (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 ... 52168 files and directories currently installed.) 146s Removing libparted2:s390x (3.6-3) ... 146s Selecting previously unselected package libparted2t64:s390x. 146s (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 ... 52162 files and directories currently installed.) 146s Preparing to unpack .../00-libparted2t64_3.6-3.1build2_s390x.deb ... 146s Unpacking libparted2t64:s390x (3.6-3.1build2) ... 146s Preparing to unpack .../01-parted_3.6-3.1build2_s390x.deb ... 146s Unpacking parted (3.6-3.1build2) over (3.6-3) ... 146s Preparing to unpack .../02-python3.11_3.11.8-1build4_s390x.deb ... 146s Unpacking python3.11 (3.11.8-1build4) over (3.11.8-1) ... 146s Preparing to unpack .../03-python3.11-minimal_3.11.8-1build4_s390x.deb ... 146s Unpacking python3.11-minimal (3.11.8-1build4) over (3.11.8-1) ... 146s Preparing to unpack .../04-libpython3.11-minimal_3.11.8-1build4_s390x.deb ... 146s Unpacking libpython3.11-minimal:s390x (3.11.8-1build4) over (3.11.8-1) ... 146s Preparing to unpack .../05-libpython3.11-stdlib_3.11.8-1build4_s390x.deb ... 146s Unpacking libpython3.11-stdlib:s390x (3.11.8-1build4) over (3.11.8-1) ... 147s Preparing to unpack .../06-shared-mime-info_2.4-1build1_s390x.deb ... 147s Unpacking shared-mime-info (2.4-1build1) over (2.4-1) ... 147s Preparing to unpack .../07-gir1.2-girepository-2.0_1.79.1-1ubuntu6_s390x.deb ... 147s Unpacking gir1.2-girepository-2.0:s390x (1.79.1-1ubuntu6) over (1.79.1-1) ... 147s Preparing to unpack .../08-gir1.2-glib-2.0_2.79.3-3ubuntu5_s390x.deb ... 147s Unpacking gir1.2-glib-2.0:s390x (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 147s Preparing to unpack .../09-libgirepository-1.0-1_1.79.1-1ubuntu6_s390x.deb ... 147s Unpacking libgirepository-1.0-1:s390x (1.79.1-1ubuntu6) over (1.79.1-1) ... 147s Preparing to unpack .../10-python3-gi_3.47.0-3build1_s390x.deb ... 147s Unpacking python3-gi (3.47.0-3build1) over (3.47.0-3) ... 147s Preparing to unpack .../11-python3-dbus_1.3.2-5build2_s390x.deb ... 147s Unpacking python3-dbus (1.3.2-5build2) over (1.3.2-5build1) ... 147s Selecting previously unselected package libnetplan1:s390x. 147s Preparing to unpack .../12-libnetplan1_1.0-1_s390x.deb ... 147s Unpacking libnetplan1:s390x (1.0-1) ... 147s Preparing to unpack .../13-python3-netplan_1.0-1_s390x.deb ... 147s Unpacking python3-netplan (1.0-1) over (0.107.1-3) ... 147s Preparing to unpack .../14-netplan-generator_1.0-1_s390x.deb ... 147s Adding 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 147s Unpacking netplan-generator (1.0-1) over (0.107.1-3) ... 147s Preparing to unpack .../15-netplan.io_1.0-1_s390x.deb ... 147s Unpacking netplan.io (1.0-1) over (0.107.1-3) ... 147s Preparing to unpack .../16-libxmlb2_0.3.15-1build1_s390x.deb ... 147s Unpacking libxmlb2:s390x (0.3.15-1build1) over (0.3.15-1) ... 147s dpkg: libgpgme11:s390x: dependency problems, but removing anyway as you requested: 147s libvolume-key1:s390x depends on libgpgme11 (>= 1.4.1). 147s libjcat1:s390x depends on libgpgme11 (>= 1.2.0). 147s 147s (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 ... 52170 files and directories currently installed.) 147s Removing libgpgme11:s390x (1.18.0-4ubuntu1) ... 147s Selecting previously unselected package libgpgme11t64:s390x. 147s (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 ... 52164 files and directories currently installed.) 147s Preparing to unpack .../00-libgpgme11t64_1.18.0-4.1ubuntu3_s390x.deb ... 147s Unpacking libgpgme11t64:s390x (1.18.0-4.1ubuntu3) ... 147s Preparing to unpack .../01-libvolume-key1_0.3.12-7build1_s390x.deb ... 147s Unpacking libvolume-key1:s390x (0.3.12-7build1) over (0.3.12-5build2) ... 147s Preparing to unpack .../02-libqrtr-glib0_1.2.2-1ubuntu3_s390x.deb ... 147s Unpacking libqrtr-glib0:s390x (1.2.2-1ubuntu3) over (1.2.2-1ubuntu2) ... 147s Preparing to unpack .../03-libqmi-glib5_1.35.2-0ubuntu1_s390x.deb ... 147s Unpacking libqmi-glib5:s390x (1.35.2-0ubuntu1) over (1.34.0-2) ... 148s Preparing to unpack .../04-libqmi-proxy_1.35.2-0ubuntu1_s390x.deb ... 148s Unpacking libqmi-proxy (1.35.2-0ubuntu1) over (1.34.0-2) ... 148s Preparing to unpack .../05-libpolkit-agent-1-0_124-1ubuntu1_s390x.deb ... 148s Unpacking libpolkit-agent-1-0:s390x (124-1ubuntu1) over (124-1) ... 148s Preparing to unpack .../06-libpolkit-gobject-1-0_124-1ubuntu1_s390x.deb ... 148s Unpacking libpolkit-gobject-1-0:s390x (124-1ubuntu1) over (124-1) ... 148s Preparing to unpack .../07-libmm-glib0_1.23.4-0ubuntu1_s390x.deb ... 148s Unpacking libmm-glib0:s390x (1.23.4-0ubuntu1) over (1.22.0-3) ... 148s Preparing to unpack .../08-libmbim-glib4_1.31.2-0ubuntu2_s390x.deb ... 148s Unpacking libmbim-glib4:s390x (1.31.2-0ubuntu2) over (1.30.0-1) ... 148s Preparing to unpack .../09-libmbim-proxy_1.31.2-0ubuntu2_s390x.deb ... 148s Unpacking libmbim-proxy (1.31.2-0ubuntu2) over (1.30.0-1) ... 148s Preparing to unpack .../10-libjson-glib-1.0-common_1.8.0-2build1_all.deb ... 148s Unpacking libjson-glib-1.0-common (1.8.0-2build1) over (1.8.0-2) ... 148s Preparing to unpack .../11-libjson-glib-1.0-0_1.8.0-2build1_s390x.deb ... 148s Unpacking libjson-glib-1.0-0:s390x (1.8.0-2build1) over (1.8.0-2) ... 148s Preparing to unpack .../12-libgusb2_0.4.8-1build1_s390x.deb ... 148s Unpacking libgusb2:s390x (0.4.8-1build1) over (0.4.8-1) ... 148s Preparing to unpack .../13-libgudev-1.0-0_1%3a238-3ubuntu2_s390x.deb ... 148s Unpacking libgudev-1.0-0:s390x (1:238-3ubuntu2) over (1:238-3) ... 148s dpkg: libarchive13:s390x: dependency problems, but removing anyway as you requested: 148s fwupd depends on libarchive13 (>= 3.2.1). 148s 148s (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 ... 52171 files and directories currently installed.) 148s Removing libarchive13:s390x (3.7.2-1ubuntu2) ... 148s Selecting previously unselected package libarchive13t64:s390x. 148s (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 ... 52165 files and directories currently installed.) 148s Preparing to unpack .../libarchive13t64_3.7.2-1.1ubuntu2_s390x.deb ... 148s Unpacking libarchive13t64:s390x (3.7.2-1.1ubuntu2) ... 148s Preparing to unpack .../fwupd_1.9.15-2_s390x.deb ... 148s Unpacking fwupd (1.9.15-2) over (1.9.14-1) ... 148s dpkg: libcurl3-gnutls:s390x: dependency problems, but removing anyway as you requested: 148s libfwupd2:s390x depends on libcurl3-gnutls (>= 7.63.0). 148s 148s (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 ... 52172 files and directories currently installed.) 148s Removing libcurl3-gnutls:s390x (8.5.0-2ubuntu2) ... 148s Selecting previously unselected package libcurl3t64-gnutls:s390x. 148s (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 ... 52165 files and directories currently installed.) 148s Preparing to unpack .../0-libcurl3t64-gnutls_8.5.0-2ubuntu8_s390x.deb ... 148s Unpacking libcurl3t64-gnutls:s390x (8.5.0-2ubuntu8) ... 148s Preparing to unpack .../1-libfwupd2_1.9.15-2_s390x.deb ... 148s Unpacking libfwupd2:s390x (1.9.15-2) over (1.9.14-1) ... 148s Preparing to unpack .../2-libblockdev3_3.1.0-1build1_s390x.deb ... 148s Unpacking libblockdev3:s390x (3.1.0-1build1) over (3.1.0-1) ... 148s Preparing to unpack .../3-libblockdev-utils3_3.1.0-1build1_s390x.deb ... 148s Unpacking libblockdev-utils3:s390x (3.1.0-1build1) over (3.1.0-1) ... 148s Preparing to unpack .../4-libblockdev-swap3_3.1.0-1build1_s390x.deb ... 148s Unpacking libblockdev-swap3:s390x (3.1.0-1build1) over (3.1.0-1) ... 148s Preparing to unpack .../5-libblockdev-part3_3.1.0-1build1_s390x.deb ... 148s Unpacking libblockdev-part3:s390x (3.1.0-1build1) over (3.1.0-1) ... 148s dpkg: libnvme1: dependency problems, but removing anyway as you requested: 148s libblockdev-nvme3:s390x depends on libnvme1 (>= 1.7.1). 148s 148s (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 ... 52172 files and directories currently installed.) 148s Removing libnvme1 (1.8-2) ... 148s Selecting previously unselected package libnvme1t64. 148s (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 ... 52165 files and directories currently installed.) 148s Preparing to unpack .../0-libnvme1t64_1.8-3_s390x.deb ... 148s Unpacking libnvme1t64 (1.8-3) ... 148s Preparing to unpack .../1-libblockdev-nvme3_3.1.0-1build1_s390x.deb ... 148s Unpacking libblockdev-nvme3:s390x (3.1.0-1build1) over (3.1.0-1) ... 148s Preparing to unpack .../2-libblockdev-mdraid3_3.1.0-1build1_s390x.deb ... 148s Unpacking libblockdev-mdraid3:s390x (3.1.0-1build1) over (3.1.0-1) ... 148s Preparing to unpack .../3-libblockdev-loop3_3.1.0-1build1_s390x.deb ... 148s Unpacking libblockdev-loop3:s390x (3.1.0-1build1) over (3.1.0-1) ... 148s Preparing to unpack .../4-logsave_1.47.0-2.4~exp1ubuntu2_s390x.deb ... 148s Unpacking logsave (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 148s Preparing to unpack .../5-e2fsprogs-l10n_1.47.0-2.4~exp1ubuntu2_all.deb ... 148s Unpacking e2fsprogs-l10n (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 148s dpkg: libext2fs2:s390x: dependency problems, but removing anyway as you requested: 148s libblockdev-fs3:s390x depends on libext2fs2 (>= 1.42.11). 148s e2fsprogs depends on libext2fs2 (= 1.47.0-2ubuntu1). 148s btrfs-progs depends on libext2fs2 (>= 1.42). 148s 148s (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 ... 52173 files and directories currently installed.) 148s Removing libext2fs2:s390x (1.47.0-2ubuntu1) ... 148s Selecting previously unselected package libext2fs2t64:s390x. 148s (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 ... 52166 files and directories currently installed.) 148s Preparing to unpack .../libext2fs2t64_1.47.0-2.4~exp1ubuntu2_s390x.deb ... 148s Adding 'diversion of /lib/s390x-linux-gnu/libe2p.so.2 to /lib/s390x-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64' 148s Adding 'diversion of /lib/s390x-linux-gnu/libe2p.so.2.3 to /lib/s390x-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64' 148s Adding 'diversion of /lib/s390x-linux-gnu/libext2fs.so.2 to /lib/s390x-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64' 148s Adding 'diversion of /lib/s390x-linux-gnu/libext2fs.so.2.4 to /lib/s390x-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' 148s Unpacking libext2fs2t64:s390x (1.47.0-2.4~exp1ubuntu2) ... 148s Setting up libcom-err2:s390x (1.47.0-2.4~exp1ubuntu2) ... 148s Setting up libext2fs2t64:s390x (1.47.0-2.4~exp1ubuntu2) ... 149s (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 ... 52182 files and directories currently installed.) 149s Preparing to unpack .../e2fsprogs_1.47.0-2.4~exp1ubuntu2_s390x.deb ... 149s Unpacking e2fsprogs (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 149s dpkg: libreiserfscore0: dependency problems, but removing anyway as you requested: 149s btrfs-progs depends on libreiserfscore0 (>= 1:3.6.27). 149s 149s (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 ... 52182 files and directories currently installed.) 149s Removing libreiserfscore0 (1:3.6.27-7) ... 149s Selecting previously unselected package libreiserfscore0t64. 149s (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 ... 52177 files and directories currently installed.) 149s Preparing to unpack .../libreiserfscore0t64_1%3a3.6.27-7.1_s390x.deb ... 149s Unpacking libreiserfscore0t64 (1:3.6.27-7.1) ... 149s Preparing to unpack .../btrfs-progs_6.6.3-1.1build1_s390x.deb ... 149s Unpacking btrfs-progs (6.6.3-1.1build1) over (6.6.3-1.1) ... 149s Preparing to unpack .../libblockdev-fs3_3.1.0-1build1_s390x.deb ... 149s Unpacking libblockdev-fs3:s390x (3.1.0-1build1) over (3.1.0-1) ... 149s Preparing to unpack .../libblockdev-crypto3_3.1.0-1build1_s390x.deb ... 149s Unpacking libblockdev-crypto3:s390x (3.1.0-1build1) over (3.1.0-1) ... 149s Preparing to unpack .../bolt_0.9.6-2build1_s390x.deb ... 149s Unpacking bolt (0.9.6-2build1) over (0.9.6-2) ... 149s dpkg: libglib2.0-0:s390x: dependency problems, but removing anyway as you requested: 149s s390-tools depends on libglib2.0-0 (>= 2.77.0). 149s libnetplan0:s390x depends on libglib2.0-0 (>= 2.75.3). 149s libjcat1:s390x depends on libglib2.0-0 (>= 2.75.3). 149s 149s (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 ... 52183 files and directories currently installed.) 149s Removing libglib2.0-0:s390x (2.79.2-1~ubuntu1) ... 149s Selecting previously unselected package libglib2.0-0t64:s390x. 149s (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 ... 52158 files and directories currently installed.) 149s Preparing to unpack .../0-libglib2.0-0t64_2.79.3-3ubuntu5_s390x.deb ... 149s libglib2.0-0t64.preinst: Removing /var/lib/dpkg/info/libglib2.0-0:s390x.postrm to avoid loss of /usr/share/glib-2.0/schemas/gschemas.compiled... 149s removed '/var/lib/dpkg/info/libglib2.0-0:s390x.postrm' 149s Unpacking libglib2.0-0t64:s390x (2.79.3-3ubuntu5) ... 149s Preparing to unpack .../1-libjcat1_0.2.0-2build2_s390x.deb ... 149s Unpacking libjcat1:s390x (0.2.0-2build2) over (0.2.0-2) ... 149s Preparing to unpack .../2-libldap2_2.6.7+dfsg-1~exp1ubuntu6_s390x.deb ... 149s Unpacking libldap2:s390x (2.6.7+dfsg-1~exp1ubuntu6) over (2.6.7+dfsg-1~exp1ubuntu1) ... 149s Preparing to unpack .../3-ubuntu-pro-client-l10n_31.2.2_s390x.deb ... 149s Unpacking ubuntu-pro-client-l10n (31.2.2) over (31.1) ... 149s Preparing to unpack .../4-ubuntu-pro-client_31.2.2_s390x.deb ... 149s Unpacking ubuntu-pro-client (31.2.2) over (31.1) ... 149s Preparing to unpack .../5-gnupg-utils_2.4.4-2ubuntu15_s390x.deb ... 149s Unpacking gnupg-utils (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 149s Preparing to unpack .../6-keyboxd_2.4.4-2ubuntu15_s390x.deb ... 149s Unpacking keyboxd (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 149s dpkg: libnpth0:s390x: dependency problems, but removing anyway as you requested: 149s gpgv depends on libnpth0 (>= 0.90). 149s gpgsm depends on libnpth0 (>= 0.90). 149s gpg-agent depends on libnpth0 (>= 0.90). 149s gpg depends on libnpth0 (>= 0.90). 149s dirmngr depends on libnpth0 (>= 0.90). 149s 149s (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 ... 52183 files and directories currently installed.) 149s Removing libnpth0:s390x (1.6-3build2) ... 149s Selecting previously unselected package libnpth0t64:s390x. 149s (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 ... 52178 files and directories currently installed.) 149s Preparing to unpack .../libnpth0t64_1.6-3.1_s390x.deb ... 149s Unpacking libnpth0t64:s390x (1.6-3.1) ... 149s Setting up libnpth0t64:s390x (1.6-3.1) ... 150s (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 ... 52184 files and directories currently installed.) 150s Preparing to unpack .../gpgv_2.4.4-2ubuntu15_s390x.deb ... 150s Unpacking gpgv (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 150s Setting up gpgv (2.4.4-2ubuntu15) ... 150s (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 ... 52184 files and directories currently installed.) 150s Preparing to unpack .../0-gpg-wks-client_2.4.4-2ubuntu15_s390x.deb ... 150s Unpacking gpg-wks-client (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 150s Preparing to unpack .../1-gpg-agent_2.4.4-2ubuntu15_s390x.deb ... 150s Unpacking gpg-agent (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 150s Preparing to unpack .../2-gpg_2.4.4-2ubuntu15_s390x.deb ... 150s Unpacking gpg (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 150s Preparing to unpack .../3-dirmngr_2.4.4-2ubuntu15_s390x.deb ... 150s Unpacking dirmngr (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 150s Preparing to unpack .../4-gnupg_2.4.4-2ubuntu15_all.deb ... 150s Unpacking gnupg (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 150s Preparing to unpack .../5-python3-apt_2.7.7_s390x.deb ... 150s Unpacking python3-apt (2.7.7) over (2.7.6) ... 150s Preparing to unpack .../6-apt-utils_2.7.14_s390x.deb ... 150s Unpacking apt-utils (2.7.14) over (2.7.12) ... 150s dpkg: libapt-pkg6.0:s390x: dependency problems, but removing anyway as you requested: 150s apt depends on libapt-pkg6.0 (>= 2.7.12). 150s 150s (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 ... 52182 files and directories currently installed.) 150s Removing libapt-pkg6.0:s390x (2.7.12) ... 150s dpkg: libnettle8:s390x: dependency problems, but removing anyway as you requested: 150s libhogweed6:s390x depends on libnettle8. 150s libgnutls30:s390x depends on libnettle8 (>= 3.9~). 150s 150s Removing libnettle8:s390x (3.9.1-2) ... 150s Selecting previously unselected package libapt-pkg6.0t64:s390x. 150s (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 ... 52126 files and directories currently installed.) 150s Preparing to unpack .../libapt-pkg6.0t64_2.7.14_s390x.deb ... 150s Unpacking libapt-pkg6.0t64:s390x (2.7.14) ... 150s Setting up libapt-pkg6.0t64:s390x (2.7.14) ... 150s Selecting previously unselected package libnettle8t64:s390x. 150s (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 ... 52176 files and directories currently installed.) 150s Preparing to unpack .../libnettle8t64_3.9.1-2.2_s390x.deb ... 150s Unpacking libnettle8t64:s390x (3.9.1-2.2) ... 150s Setting up libnettle8t64:s390x (3.9.1-2.2) ... 150s dpkg: libhogweed6:s390x: dependency problems, but removing anyway as you requested: 150s libgnutls30:s390x depends on libhogweed6 (>= 3.6). 150s 150s (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 ... 52184 files and directories currently installed.) 150s Removing libhogweed6:s390x (3.9.1-2) ... 150s Selecting previously unselected package libhogweed6t64:s390x. 150s (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 ... 52179 files and directories currently installed.) 150s Preparing to unpack .../libhogweed6t64_3.9.1-2.2_s390x.deb ... 150s Unpacking libhogweed6t64:s390x (3.9.1-2.2) ... 150s Setting up libhogweed6t64:s390x (3.9.1-2.2) ... 150s dpkg: libgnutls30:s390x: dependency problems, but removing anyway as you requested: 150s apt depends on libgnutls30 (>= 3.8.1). 150s 150s (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 ... 52185 files and directories currently installed.) 150s Removing libgnutls30:s390x (3.8.3-1ubuntu1) ... 150s Selecting previously unselected package libgnutls30t64:s390x. 150s (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 ... 52176 files and directories currently installed.) 150s Preparing to unpack .../libgnutls30t64_3.8.3-1.1ubuntu2_s390x.deb ... 150s Unpacking libgnutls30t64:s390x (3.8.3-1.1ubuntu2) ... 150s Setting up libgnutls30t64:s390x (3.8.3-1.1ubuntu2) ... 150s (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 ... 52204 files and directories currently installed.) 150s Preparing to unpack .../archives/apt_2.7.14_s390x.deb ... 151s Unpacking apt (2.7.14) over (2.7.12) ... 151s Setting up apt (2.7.14) ... 151s (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 ... 52204 files and directories currently installed.) 151s Preparing to unpack .../gpgconf_2.4.4-2ubuntu15_s390x.deb ... 151s Unpacking gpgconf (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 151s Preparing to unpack .../gpgsm_2.4.4-2ubuntu15_s390x.deb ... 151s Unpacking gpgsm (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 151s dpkg: libreadline8:s390x: dependency problems, but removing anyway as you requested: 151s libpython3.12-stdlib:s390x depends on libreadline8 (>= 7.0~beta). 151s gawk depends on libreadline8 (>= 6.0). 151s fdisk depends on libreadline8 (>= 6.0). 151s 151s (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 ... 52204 files and directories currently installed.) 151s Removing libreadline8:s390x (8.2-3) ... 151s Selecting previously unselected package libreadline8t64:s390x. 151s (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 ... 52192 files and directories currently installed.) 151s Preparing to unpack .../libreadline8t64_8.2-4_s390x.deb ... 151s Adding 'diversion of /lib/s390x-linux-gnu/libhistory.so.8 to /lib/s390x-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' 151s Adding 'diversion of /lib/s390x-linux-gnu/libhistory.so.8.2 to /lib/s390x-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' 151s Adding 'diversion of /lib/s390x-linux-gnu/libreadline.so.8 to /lib/s390x-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' 151s Adding 'diversion of /lib/s390x-linux-gnu/libreadline.so.8.2 to /lib/s390x-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' 151s Unpacking libreadline8t64:s390x (8.2-4) ... 151s Setting up libreadline8t64:s390x (8.2-4) ... 152s (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 ... 52212 files and directories currently installed.) 152s Preparing to unpack .../gawk_1%3a5.2.1-2build2_s390x.deb ... 152s Unpacking gawk (1:5.2.1-2build2) over (1:5.2.1-2) ... 152s Preparing to unpack .../fdisk_2.39.3-9ubuntu2_s390x.deb ... 152s Unpacking fdisk (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 152s Preparing to unpack .../libpython3.12-stdlib_3.12.2-4build3_s390x.deb ... 152s Unpacking libpython3.12-stdlib:s390x (3.12.2-4build3) over (3.12.2-1) ... 152s Preparing to unpack .../perl-base_5.38.2-3.2_s390x.deb ... 152s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 152s Setting up perl-base (5.38.2-3.2) ... 152s (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 ... 52210 files and directories currently installed.) 152s Preparing to unpack .../perl-modules-5.38_5.38.2-3.2_all.deb ... 152s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 152s Preparing to unpack .../python3-gdbm_3.12.2-3ubuntu1.1_s390x.deb ... 152s Unpacking python3-gdbm:s390x (3.12.2-3ubuntu1.1) over (3.11.5-1) ... 152s Preparing to unpack .../man-db_2.12.0-3build4_s390x.deb ... 152s Unpacking man-db (2.12.0-3build4) over (2.12.0-3) ... 153s dpkg: libgdbm-compat4:s390x: dependency problems, but removing anyway as you requested: 153s libperl5.38:s390x depends on libgdbm-compat4 (>= 1.18-3). 153s 153s (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 ... 52210 files and directories currently installed.) 153s Removing libgdbm-compat4:s390x (1.23-5) ... 153s dpkg: libgdbm6:s390x: dependency problems, but removing anyway as you requested: 153s libperl5.38:s390x depends on libgdbm6 (>= 1.21). 153s 153s Removing libgdbm6:s390x (1.23-5) ... 153s Selecting previously unselected package libgdbm6t64:s390x. 153s (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 ... 52200 files and directories currently installed.) 153s Preparing to unpack .../libgdbm6t64_1.23-5.1_s390x.deb ... 153s Unpacking libgdbm6t64:s390x (1.23-5.1) ... 153s Selecting previously unselected package libgdbm-compat4t64:s390x. 153s Preparing to unpack .../libgdbm-compat4t64_1.23-5.1_s390x.deb ... 153s Unpacking libgdbm-compat4t64:s390x (1.23-5.1) ... 153s dpkg: libperl5.38:s390x: dependency problems, but removing anyway as you requested: 153s perl depends on libperl5.38 (= 5.38.2-3). 153s 153s (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 ... 52212 files and directories currently installed.) 153s Removing libperl5.38:s390x (5.38.2-3) ... 153s Selecting previously unselected package libperl5.38t64:s390x. 153s (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 ... 51690 files and directories currently installed.) 153s Preparing to unpack .../libperl5.38t64_5.38.2-3.2_s390x.deb ... 153s Unpacking libperl5.38t64:s390x (5.38.2-3.2) ... 153s Preparing to unpack .../perl_5.38.2-3.2_s390x.deb ... 153s Unpacking perl (5.38.2-3.2) over (5.38.2-3) ... 153s dpkg: libdb5.3:s390x: dependency problems, but removing anyway as you requested: 153s libsasl2-modules-db:s390x depends on libdb5.3. 153s iproute2 depends on libdb5.3. 153s 153s (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 ... 52212 files and directories currently installed.) 153s Removing libdb5.3:s390x (5.3.28+dfsg2-4) ... 153s Selecting previously unselected package libdb5.3t64:s390x. 153s (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 ... 52206 files and directories currently installed.) 153s Preparing to unpack .../0-libdb5.3t64_5.3.28+dfsg2-6_s390x.deb ... 153s Unpacking libdb5.3t64:s390x (5.3.28+dfsg2-6) ... 153s Preparing to unpack .../1-libsasl2-modules-db_2.1.28+dfsg1-5ubuntu1_s390x.deb ... 153s Unpacking libsasl2-modules-db:s390x (2.1.28+dfsg1-5ubuntu1) over (2.1.28+dfsg1-4) ... 153s Preparing to unpack .../2-libsasl2-2_2.1.28+dfsg1-5ubuntu1_s390x.deb ... 153s Unpacking libsasl2-2:s390x (2.1.28+dfsg1-5ubuntu1) over (2.1.28+dfsg1-4) ... 153s Preparing to unpack .../3-libfido2-1_1.14.0-1build1_s390x.deb ... 153s Unpacking libfido2-1:s390x (1.14.0-1build1) over (1.14.0-1) ... 153s Preparing to unpack .../4-libcryptsetup12_2%3a2.7.0-1ubuntu2_s390x.deb ... 153s Unpacking libcryptsetup12:s390x (2:2.7.0-1ubuntu2) over (2:2.7.0-1ubuntu1) ... 153s Preparing to unpack .../5-dhcpcd-base_1%3a10.0.6-1ubuntu2_s390x.deb ... 153s Unpacking dhcpcd-base (1:10.0.6-1ubuntu2) over (1:10.0.6-1ubuntu1) ... 153s dpkg: libuv1:s390x: dependency problems, but removing anyway as you requested: 153s bind9-libs:s390x depends on libuv1 (>= 1.40.0). 153s 153s (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 ... 52212 files and directories currently installed.) 153s Removing libuv1:s390x (1.48.0-1) ... 153s Selecting previously unselected package libuv1t64:s390x. 153s (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 ... 52207 files and directories currently installed.) 153s Preparing to unpack .../libuv1t64_1.48.0-1.1_s390x.deb ... 153s Unpacking libuv1t64:s390x (1.48.0-1.1) ... 153s Preparing to unpack .../bind9-host_1%3a9.18.24-0ubuntu3_s390x.deb ... 153s Unpacking bind9-host (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 153s Preparing to unpack .../bind9-dnsutils_1%3a9.18.24-0ubuntu3_s390x.deb ... 153s Unpacking bind9-dnsutils (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 153s Preparing to unpack .../bind9-libs_1%3a9.18.24-0ubuntu3_s390x.deb ... 153s Unpacking bind9-libs:s390x (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 153s dpkg: libssl3:s390x: dependency problems, but removing anyway as you requested: 153s systemd depends on libssl3 (>= 3.0.0). 153s s390-tools depends on libssl3 (>= 3.0.0). 153s linux-headers-6.8.0-11-generic depends on libssl3 (>= 3.0.0). 153s 154s (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 ... 52213 files and directories currently installed.) 154s Removing libssl3:s390x (3.0.10-1ubuntu4) ... 154s Selecting previously unselected package libssl3t64:s390x. 154s (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 ... 52202 files and directories currently installed.) 154s Preparing to unpack .../libssl3t64_3.0.13-0ubuntu2_s390x.deb ... 154s Unpacking libssl3t64:s390x (3.0.13-0ubuntu2) ... 154s Setting up libssl3t64:s390x (3.0.13-0ubuntu2) ... 154s (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 ... 52215 files and directories currently installed.) 154s Preparing to unpack .../libnss-systemd_255.4-1ubuntu5_s390x.deb ... 154s Unpacking libnss-systemd:s390x (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 154s Preparing to unpack .../libudev1_255.4-1ubuntu5_s390x.deb ... 154s Unpacking libudev1:s390x (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 154s Setting up libudev1:s390x (255.4-1ubuntu5) ... 154s (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 ... 52215 files and directories currently installed.) 154s Preparing to unpack .../systemd_255.4-1ubuntu5_s390x.deb ... 154s Unpacking systemd (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 154s Preparing to unpack .../udev_255.4-1ubuntu5_s390x.deb ... 154s Unpacking udev (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 154s Preparing to unpack .../libsystemd0_255.4-1ubuntu5_s390x.deb ... 154s Unpacking libsystemd0:s390x (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 154s Setting up libsystemd0:s390x (255.4-1ubuntu5) ... 154s (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 ... 52215 files and directories currently installed.) 154s Preparing to unpack .../0-dbus-system-bus-common_1.14.10-4ubuntu2_all.deb ... 154s Unpacking dbus-system-bus-common (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 154s Preparing to unpack .../1-dbus-bin_1.14.10-4ubuntu2_s390x.deb ... 154s Unpacking dbus-bin (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 154s Preparing to unpack .../2-dbus_1.14.10-4ubuntu2_s390x.deb ... 154s Unpacking dbus (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 154s Preparing to unpack .../3-dbus-daemon_1.14.10-4ubuntu2_s390x.deb ... 154s Unpacking dbus-daemon (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 154s Preparing to unpack .../4-libdbus-1-3_1.14.10-4ubuntu2_s390x.deb ... 154s Unpacking libdbus-1-3:s390x (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 154s Preparing to unpack .../5-libmount1_2.39.3-9ubuntu2_s390x.deb ... 154s Unpacking libmount1:s390x (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 155s Setting up libmount1:s390x (2.39.3-9ubuntu2) ... 155s (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 ... 52215 files and directories currently installed.) 155s Preparing to unpack .../libuuid1_2.39.3-9ubuntu2_s390x.deb ... 155s Unpacking libuuid1:s390x (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 155s Setting up libuuid1:s390x (2.39.3-9ubuntu2) ... 155s (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 ... 52215 files and directories currently installed.) 155s Preparing to unpack .../libfdisk1_2.39.3-9ubuntu2_s390x.deb ... 155s Unpacking libfdisk1:s390x (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 155s Preparing to unpack .../mount_2.39.3-9ubuntu2_s390x.deb ... 155s Unpacking mount (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 155s Preparing to unpack .../libsqlite3-0_3.45.1-1ubuntu1_s390x.deb ... 155s Unpacking libsqlite3-0:s390x (3.45.1-1ubuntu1) over (3.45.1-1) ... 155s Preparing to unpack .../dpkg_1.22.6ubuntu5_s390x.deb ... 155s Unpacking dpkg (1.22.6ubuntu5) over (1.22.4ubuntu5) ... 155s Setting up dpkg (1.22.6ubuntu5) ... 155s Setting up libpython3.12-minimal:s390x (3.12.2-4build3) ... 155s Setting up python3.12-minimal (3.12.2-4build3) ... 157s (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 ... 52215 files and directories currently installed.) 157s Preparing to unpack .../python3-minimal_3.12.2-0ubuntu1_s390x.deb ... 157s Unpacking python3-minimal (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 157s Setting up python3-minimal (3.12.2-0ubuntu1) ... 157s (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 ... 52215 files and directories currently installed.) 157s Preparing to unpack .../python3_3.12.2-0ubuntu1_s390x.deb ... 157s Unpacking python3 (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 157s Preparing to unpack .../libpython3-stdlib_3.12.2-0ubuntu1_s390x.deb ... 157s Unpacking libpython3-stdlib:s390x (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 157s Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu2_s390x.deb ... 157s Unpacking libsmartcols1:s390x (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 157s Setting up libsmartcols1:s390x (2.39.3-9ubuntu2) ... 157s (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 ... 52215 files and directories currently installed.) 157s Preparing to unpack .../0-bsdextrautils_2.39.3-9ubuntu2_s390x.deb ... 157s Unpacking bsdextrautils (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 157s Preparing to unpack .../1-groff-base_1.23.0-3build1_s390x.deb ... 157s Unpacking groff-base (1.23.0-3build1) over (1.23.0-3) ... 157s Preparing to unpack .../2-pinentry-curses_1.2.1-3ubuntu4_s390x.deb ... 157s Unpacking pinentry-curses (1.2.1-3ubuntu4) over (1.2.1-3ubuntu1) ... 157s Preparing to unpack .../3-readline-common_8.2-4_all.deb ... 157s Unpacking readline-common (8.2-4) over (8.2-3) ... 157s Preparing to unpack .../4-libxml2_2.9.14+dfsg-1.3ubuntu2_s390x.deb ... 157s Unpacking libxml2:s390x (2.9.14+dfsg-1.3ubuntu2) over (2.9.14+dfsg-1.3ubuntu1) ... 157s Preparing to unpack .../5-libbpf1_1%3a1.3.0-2build1_s390x.deb ... 157s Unpacking libbpf1:s390x (1:1.3.0-2build1) over (1:1.3.0-2) ... 157s dpkg: libelf1:s390x: dependency problems, but removing anyway as you requested: 157s linux-headers-6.8.0-11-generic depends on libelf1 (>= 0.144). 157s iproute2 depends on libelf1 (>= 0.131). 157s 157s (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 ... 52215 files and directories currently installed.) 157s Removing libelf1:s390x (0.190-1) ... 157s Selecting previously unselected package libelf1t64:s390x. 157s (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 ... 52210 files and directories currently installed.) 157s Preparing to unpack .../libelf1t64_0.190-1.1build2_s390x.deb ... 157s Unpacking libelf1t64:s390x (0.190-1.1build2) ... 157s Preparing to unpack .../libtirpc-common_1.3.4+ds-1.1_all.deb ... 157s Unpacking libtirpc-common (1.3.4+ds-1.1) over (1.3.4+ds-1build1) ... 157s Preparing to unpack .../lsof_4.95.0-1build2_s390x.deb ... 157s Unpacking lsof (4.95.0-1build2) over (4.95.0-1build1) ... 157s Preparing to unpack .../libnsl2_1.3.0-3build2_s390x.deb ... 157s Unpacking libnsl2:s390x (1.3.0-3build2) over (1.3.0-3) ... 157s dpkg: libtirpc3:s390x: dependency problems, but removing anyway as you requested: 157s iproute2 depends on libtirpc3 (>= 1.0.2). 157s 157s (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 ... 52215 files and directories currently installed.) 157s Removing libtirpc3:s390x (1.3.4+ds-1build1) ... 157s Selecting previously unselected package libtirpc3t64:s390x. 157s (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 ... 52209 files and directories currently installed.) 157s Preparing to unpack .../0-libtirpc3t64_1.3.4+ds-1.1_s390x.deb ... 157s Adding 'diversion of /lib/s390x-linux-gnu/libtirpc.so.3 to /lib/s390x-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' 157s Adding 'diversion of /lib/s390x-linux-gnu/libtirpc.so.3.0.0 to /lib/s390x-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' 157s Unpacking libtirpc3t64:s390x (1.3.4+ds-1.1) ... 157s Preparing to unpack .../1-iproute2_6.1.0-1ubuntu5_s390x.deb ... 157s Unpacking iproute2 (6.1.0-1ubuntu5) over (6.1.0-1ubuntu2) ... 158s Preparing to unpack .../2-libprotobuf-c1_1.4.1-1ubuntu3_s390x.deb ... 158s Unpacking libprotobuf-c1:s390x (1.4.1-1ubuntu3) over (1.4.1-1ubuntu2) ... 158s Preparing to unpack .../3-libnghttp2-14_1.59.0-1build1_s390x.deb ... 158s Unpacking libnghttp2-14:s390x (1.59.0-1build1) over (1.59.0-1) ... 158s Preparing to unpack .../4-libproc2-0_2%3a4.0.4-4ubuntu2_s390x.deb ... 158s Unpacking libproc2-0:s390x (2:4.0.4-4ubuntu2) over (2:4.0.4-4ubuntu1) ... 158s Preparing to unpack .../5-procps_2%3a4.0.4-4ubuntu2_s390x.deb ... 158s Unpacking procps (2:4.0.4-4ubuntu2) over (2:4.0.4-4ubuntu1) ... 158s Preparing to unpack .../6-coreutils_9.4-3ubuntu3_s390x.deb ... 158s Unpacking coreutils (9.4-3ubuntu3) over (9.4-2ubuntu4) ... 158s Setting up coreutils (9.4-3ubuntu3) ... 158s (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 ... 52221 files and directories currently installed.) 158s Preparing to unpack .../util-linux_2.39.3-9ubuntu2_s390x.deb ... 158s Unpacking util-linux (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 158s Setting up util-linux (2.39.3-9ubuntu2) ... 159s fstrim.service is a disabled or a static unit not running, not starting it. 159s (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 ... 52221 files and directories currently installed.) 159s Removing libatm1:s390x (1:2.5.1-5) ... 159s (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 ... 52216 files and directories currently installed.) 159s Preparing to unpack .../file_1%3a5.45-3_s390x.deb ... 159s Unpacking file (1:5.45-3) over (1:5.45-2) ... 159s (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 ... 52216 files and directories currently installed.) 159s Removing libmagic1:s390x (1:5.45-2) ... 159s (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 ... 52206 files and directories currently installed.) 159s Preparing to unpack .../libmagic-mgc_1%3a5.45-3_s390x.deb ... 159s Unpacking libmagic-mgc (1:5.45-3) over (1:5.45-2) ... 159s Selecting previously unselected package libmagic1t64:s390x. 159s Preparing to unpack .../libmagic1t64_1%3a5.45-3_s390x.deb ... 159s Unpacking libmagic1t64:s390x (1:5.45-3) ... 159s Preparing to unpack .../libplymouth5_24.004.60-1ubuntu6_s390x.deb ... 159s Unpacking libplymouth5:s390x (24.004.60-1ubuntu6) over (24.004.60-1ubuntu3) ... 159s (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 ... 52217 files and directories currently installed.) 159s Removing libpng16-16:s390x (1.6.43-1) ... 159s Selecting previously unselected package libpng16-16t64:s390x. 159s (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 ... 52207 files and directories currently installed.) 159s Preparing to unpack .../libpng16-16t64_1.6.43-3_s390x.deb ... 159s Unpacking libpng16-16t64:s390x (1.6.43-3) ... 159s Preparing to unpack .../multipath-tools_0.9.4-5ubuntu6_s390x.deb ... 159s Unpacking multipath-tools (0.9.4-5ubuntu6) over (0.9.4-5ubuntu3) ... 159s dpkg: liburcu8:s390x: dependency problems, but removing anyway as you requested: 159s xfsprogs depends on liburcu8 (>= 0.13.0). 159s 159s (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 ... 52217 files and directories currently installed.) 159s Removing liburcu8:s390x (0.14.0-3) ... 159s Selecting previously unselected package liburcu8t64:s390x. 159s (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 ... 52198 files and directories currently installed.) 159s Preparing to unpack .../liburcu8t64_0.14.0-3.1_s390x.deb ... 159s Unpacking liburcu8t64:s390x (0.14.0-3.1) ... 159s Preparing to unpack .../liblocale-gettext-perl_1.07-6ubuntu4_s390x.deb ... 159s Unpacking liblocale-gettext-perl (1.07-6ubuntu4) over (1.07-6build1) ... 159s Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu2_s390x.deb ... 159s Unpacking uuid-runtime (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 159s Preparing to unpack .../libdebconfclient0_0.271ubuntu2_s390x.deb ... 159s Unpacking libdebconfclient0:s390x (0.271ubuntu2) over (0.271ubuntu1) ... 159s Setting up libdebconfclient0:s390x (0.271ubuntu2) ... 159s (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 ... 52218 files and directories currently installed.) 159s Preparing to unpack .../libsemanage-common_3.5-1build4_all.deb ... 159s Unpacking libsemanage-common (3.5-1build4) over (3.5-1build2) ... 159s Setting up libsemanage-common (3.5-1build4) ... 160s (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 ... 52218 files and directories currently installed.) 160s Preparing to unpack .../libsemanage2_3.5-1build4_s390x.deb ... 160s Unpacking libsemanage2:s390x (3.5-1build4) over (3.5-1build2) ... 160s Setting up libsemanage2:s390x (3.5-1build4) ... 160s (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 ... 52218 files and directories currently installed.) 160s Preparing to unpack .../install-info_7.1-3build1_s390x.deb ... 160s Unpacking install-info (7.1-3build1) over (7.1-3) ... 160s Setting up install-info (7.1-3build1) ... 160s (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 ... 52218 files and directories currently installed.) 160s Preparing to unpack .../00-libss2_1.47.0-2.4~exp1ubuntu2_s390x.deb ... 160s Unpacking libss2:s390x (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 160s Preparing to unpack .../01-eject_2.39.3-9ubuntu2_s390x.deb ... 160s Unpacking eject (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 160s Preparing to unpack .../02-krb5-locales_1.20.1-6ubuntu1_all.deb ... 160s Unpacking krb5-locales (1.20.1-6ubuntu1) over (1.20.1-5build1) ... 160s Preparing to unpack .../03-libglib2.0-data_2.79.3-3ubuntu5_all.deb ... 160s Unpacking libglib2.0-data (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 160s Preparing to unpack .../04-libslang2_2.3.3-3build1_s390x.deb ... 160s Unpacking libslang2:s390x (2.3.3-3build1) over (2.3.3-3) ... 160s Preparing to unpack .../05-libtext-charwidth-perl_0.04-11build2_s390x.deb ... 160s Unpacking libtext-charwidth-perl:s390x (0.04-11build2) over (0.04-11build1) ... 160s Preparing to unpack .../06-libtext-iconv-perl_1.7-8build2_s390x.deb ... 160s Unpacking libtext-iconv-perl:s390x (1.7-8build2) over (1.7-8build1) ... 160s Preparing to unpack .../07-python-apt-common_2.7.7_all.deb ... 160s Unpacking python-apt-common (2.7.7) over (2.7.6) ... 160s Preparing to unpack .../08-python3-setuptools_68.1.2-2ubuntu1_all.deb ... 160s Unpacking python3-setuptools (68.1.2-2ubuntu1) over (68.1.2-2) ... 160s Preparing to unpack .../09-python3-pkg-resources_68.1.2-2ubuntu1_all.deb ... 160s Unpacking python3-pkg-resources (68.1.2-2ubuntu1) over (68.1.2-2) ... 160s Preparing to unpack .../10-rsyslog_8.2312.0-3ubuntu7_s390x.deb ... 160s Unpacking rsyslog (8.2312.0-3ubuntu7) over (8.2312.0-3ubuntu3) ... 160s Preparing to unpack .../11-vim-tiny_2%3a9.1.0016-1ubuntu6_s390x.deb ... 160s Unpacking vim-tiny (2:9.1.0016-1ubuntu6) over (2:9.1.0016-1ubuntu2) ... 160s Preparing to unpack .../12-vim-common_2%3a9.1.0016-1ubuntu6_all.deb ... 160s Unpacking vim-common (2:9.1.0016-1ubuntu6) over (2:9.1.0016-1ubuntu2) ... 160s Selecting previously unselected package xdg-user-dirs. 160s Preparing to unpack .../13-xdg-user-dirs_0.18-1_s390x.deb ... 160s Unpacking xdg-user-dirs (0.18-1) ... 160s Preparing to unpack .../14-xxd_2%3a9.1.0016-1ubuntu6_s390x.deb ... 160s Unpacking xxd (2:9.1.0016-1ubuntu6) over (2:9.1.0016-1ubuntu2) ... 160s Preparing to unpack .../15-apparmor_4.0.0-beta3-0ubuntu2_s390x.deb ... 161s Unpacking apparmor (4.0.0-beta3-0ubuntu2) over (4.0.0~alpha4-0ubuntu1) ... 161s Preparing to unpack .../16-ftp_20230507-2build1_all.deb ... 161s Unpacking ftp (20230507-2build1) over (20230507-2) ... 161s Preparing to unpack .../17-inetutils-telnet_2%3a2.5-3ubuntu3_s390x.deb ... 161s Unpacking inetutils-telnet (2:2.5-3ubuntu3) over (2:2.5-3ubuntu1) ... 161s Preparing to unpack .../18-info_7.1-3build1_s390x.deb ... 161s Unpacking info (7.1-3build1) over (7.1-3) ... 161s Preparing to unpack .../19-libxmuu1_2%3a1.1.3-3build1_s390x.deb ... 161s Unpacking libxmuu1:s390x (2:1.1.3-3build1) over (2:1.1.3-3) ... 161s Preparing to unpack .../20-lshw_02.19.git.2021.06.19.996aaad9c7-2build2_s390x.deb ... 161s Unpacking lshw (02.19.git.2021.06.19.996aaad9c7-2build2) over (02.19.git.2021.06.19.996aaad9c7-2build1) ... 161s Selecting previously unselected package manpages. 161s Preparing to unpack .../21-manpages_6.05.01-1_all.deb ... 161s Unpacking manpages (6.05.01-1) ... 161s Preparing to unpack .../22-mtr-tiny_0.95-1.1build1_s390x.deb ... 161s Unpacking mtr-tiny (0.95-1.1build1) over (0.95-1.1) ... 161s Preparing to unpack .../23-plymouth-theme-ubuntu-text_24.004.60-1ubuntu6_s390x.deb ... 161s Unpacking plymouth-theme-ubuntu-text (24.004.60-1ubuntu6) over (24.004.60-1ubuntu3) ... 161s Preparing to unpack .../24-plymouth_24.004.60-1ubuntu6_s390x.deb ... 161s Unpacking plymouth (24.004.60-1ubuntu6) over (24.004.60-1ubuntu3) ... 161s Preparing to unpack .../25-telnet_0.17+2.5-3ubuntu3_all.deb ... 161s Unpacking telnet (0.17+2.5-3ubuntu3) over (0.17+2.5-3ubuntu1) ... 161s Preparing to unpack .../26-usb.ids_2024.03.18-1_all.deb ... 161s Unpacking usb.ids (2024.03.18-1) over (2024.01.30-1) ... 161s Preparing to unpack .../27-xz-utils_5.6.0-0.2_s390x.deb ... 161s Unpacking xz-utils (5.6.0-0.2) over (5.4.5-0.3) ... 161s Selecting previously unselected package libllvm18:s390x. 161s Preparing to unpack .../28-libllvm18_1%3a18.1.2-1ubuntu2_s390x.deb ... 161s Unpacking libllvm18:s390x (1:18.1.2-1ubuntu2) ... 163s Selecting previously unselected package libclang-cpp18. 163s Preparing to unpack .../29-libclang-cpp18_1%3a18.1.2-1ubuntu2_s390x.deb ... 163s Unpacking libclang-cpp18 (1:18.1.2-1ubuntu2) ... 163s Selecting previously unselected package libbpfcc:s390x. 163s Preparing to unpack .../30-libbpfcc_0.29.1+ds-1ubuntu4_s390x.deb ... 163s Unpacking libbpfcc:s390x (0.29.1+ds-1ubuntu4) ... 163s Selecting previously unselected package python3-bpfcc. 163s Preparing to unpack .../31-python3-bpfcc_0.29.1+ds-1ubuntu4_all.deb ... 163s Unpacking python3-bpfcc (0.29.1+ds-1ubuntu4) ... 163s Selecting previously unselected package ieee-data. 163s Preparing to unpack .../32-ieee-data_20220827.1_all.deb ... 163s Unpacking ieee-data (20220827.1) ... 163s Selecting previously unselected package python3-netaddr. 163s Preparing to unpack .../33-python3-netaddr_0.8.0-2ubuntu1_all.deb ... 163s Unpacking python3-netaddr (0.8.0-2ubuntu1) ... 163s Selecting previously unselected package bpfcc-tools. 163s Preparing to unpack .../34-bpfcc-tools_0.29.1+ds-1ubuntu4_all.deb ... 163s Unpacking bpfcc-tools (0.29.1+ds-1ubuntu4) ... 164s Selecting previously unselected package libclang1-18. 164s Preparing to unpack .../35-libclang1-18_1%3a18.1.2-1ubuntu2_s390x.deb ... 164s Unpacking libclang1-18 (1:18.1.2-1ubuntu2) ... 164s Selecting previously unselected package libdw1t64:s390x. 164s Preparing to unpack .../36-libdw1t64_0.190-1.1build2_s390x.deb ... 164s Unpacking libdw1t64:s390x (0.190-1.1build2) ... 164s Selecting previously unselected package bpftrace. 164s Preparing to unpack .../37-bpftrace_0.20.2-1ubuntu1_s390x.deb ... 164s Unpacking bpftrace (0.20.2-1ubuntu1) ... 164s Preparing to unpack .../38-cryptsetup-bin_2%3a2.7.0-1ubuntu2_s390x.deb ... 164s Unpacking cryptsetup-bin (2:2.7.0-1ubuntu2) over (2:2.7.0-1ubuntu1) ... 164s Preparing to unpack .../39-dpkg-dev_1.22.6ubuntu5_all.deb ... 164s Unpacking dpkg-dev (1.22.6ubuntu5) over (1.22.4ubuntu5) ... 164s Preparing to unpack .../40-libdpkg-perl_1.22.6ubuntu5_all.deb ... 164s Unpacking libdpkg-perl (1.22.6ubuntu5) over (1.22.4ubuntu5) ... 164s Selecting previously unselected package fonts-dejavu-mono. 164s Preparing to unpack .../41-fonts-dejavu-mono_2.37-8_all.deb ... 164s Unpacking fonts-dejavu-mono (2.37-8) ... 164s Selecting previously unselected package fonts-dejavu-core. 164s Preparing to unpack .../42-fonts-dejavu-core_2.37-8_all.deb ... 164s Unpacking fonts-dejavu-core (2.37-8) ... 164s Selecting previously unselected package fontconfig-config. 164s Preparing to unpack .../43-fontconfig-config_2.15.0-1.1ubuntu1_s390x.deb ... 164s Unpacking fontconfig-config (2.15.0-1.1ubuntu1) ... 164s Preparing to unpack .../44-gnupg-l10n_2.4.4-2ubuntu15_all.deb ... 164s Unpacking gnupg-l10n (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 164s Selecting previously unselected package hwdata. 164s Preparing to unpack .../45-hwdata_0.379-1_all.deb ... 164s Unpacking hwdata (0.379-1) ... 164s Preparing to unpack .../46-libibverbs1_50.0-2build1_s390x.deb ... 164s Unpacking libibverbs1:s390x (50.0-2build1) over (50.0-2) ... 164s Preparing to unpack .../47-ibverbs-providers_50.0-2build1_s390x.deb ... 164s Unpacking ibverbs-providers:s390x (50.0-2build1) over (50.0-2) ... 164s Selecting previously unselected package libaio1t64:s390x. 164s Preparing to unpack .../48-libaio1t64_0.3.113-6_s390x.deb ... 164s Unpacking libaio1t64:s390x (0.3.113-6) ... 164s Selecting previously unselected package libatm1t64:s390x. 164s Preparing to unpack .../49-libatm1t64_1%3a2.5.1-5.1_s390x.deb ... 164s Unpacking libatm1t64:s390x (1:2.5.1-5.1) ... 164s Selecting previously unselected package libc-dev-bin. 164s Preparing to unpack .../50-libc-dev-bin_2.39-0ubuntu6_s390x.deb ... 164s Unpacking libc-dev-bin (2.39-0ubuntu6) ... 164s Selecting previously unselected package libfreetype6:s390x. 164s Preparing to unpack .../51-libfreetype6_2.13.2+dfsg-1build2_s390x.deb ... 164s Unpacking libfreetype6:s390x (2.13.2+dfsg-1build2) ... 164s Selecting previously unselected package libfontconfig1:s390x. 164s Preparing to unpack .../52-libfontconfig1_2.15.0-1.1ubuntu1_s390x.deb ... 164s Unpacking libfontconfig1:s390x (2.15.0-1.1ubuntu1) ... 165s Selecting previously unselected package libjpeg-turbo8:s390x. 165s Preparing to unpack .../53-libjpeg-turbo8_2.1.5-2ubuntu1_s390x.deb ... 165s Unpacking libjpeg-turbo8:s390x (2.1.5-2ubuntu1) ... 165s Selecting previously unselected package libjpeg8:s390x. 165s Preparing to unpack .../54-libjpeg8_8c-2ubuntu11_s390x.deb ... 165s Unpacking libjpeg8:s390x (8c-2ubuntu11) ... 165s Selecting previously unselected package libdeflate0:s390x. 165s Preparing to unpack .../55-libdeflate0_1.19-1_s390x.deb ... 165s Unpacking libdeflate0:s390x (1.19-1) ... 165s Selecting previously unselected package libjbig0:s390x. 165s Preparing to unpack .../56-libjbig0_2.1-6.1ubuntu1_s390x.deb ... 165s Unpacking libjbig0:s390x (2.1-6.1ubuntu1) ... 165s Selecting previously unselected package libsharpyuv0:s390x. 165s Preparing to unpack .../57-libsharpyuv0_1.3.2-0.4build2_s390x.deb ... 165s Unpacking libsharpyuv0:s390x (1.3.2-0.4build2) ... 165s Selecting previously unselected package libwebp7:s390x. 165s Preparing to unpack .../58-libwebp7_1.3.2-0.4build2_s390x.deb ... 165s Unpacking libwebp7:s390x (1.3.2-0.4build2) ... 165s Selecting previously unselected package libtiff6:s390x. 165s Preparing to unpack .../59-libtiff6_4.5.1+git230720-4ubuntu1_s390x.deb ... 165s Unpacking libtiff6:s390x (4.5.1+git230720-4ubuntu1) ... 165s Selecting previously unselected package libxpm4:s390x. 165s Preparing to unpack .../60-libxpm4_1%3a3.5.17-1build1_s390x.deb ... 165s Unpacking libxpm4:s390x (1:3.5.17-1build1) ... 165s Selecting previously unselected package libgd3:s390x. 165s Preparing to unpack .../61-libgd3_2.3.3-9ubuntu3_s390x.deb ... 165s Unpacking libgd3:s390x (2.3.3-9ubuntu3) ... 165s Selecting previously unselected package libc-devtools. 165s Preparing to unpack .../62-libc-devtools_2.39-0ubuntu6_s390x.deb ... 165s Unpacking libc-devtools (2.39-0ubuntu6) ... 165s Selecting previously unselected package linux-libc-dev:s390x. 165s Preparing to unpack .../63-linux-libc-dev_6.8.0-20.20_s390x.deb ... 165s Unpacking linux-libc-dev:s390x (6.8.0-20.20) ... 165s Selecting previously unselected package libcrypt-dev:s390x. 165s Preparing to unpack .../64-libcrypt-dev_1%3a4.4.36-4_s390x.deb ... 165s Unpacking libcrypt-dev:s390x (1:4.4.36-4) ... 165s Selecting previously unselected package rpcsvc-proto. 165s Preparing to unpack .../65-rpcsvc-proto_1.4.2-0ubuntu6_s390x.deb ... 165s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 165s Selecting previously unselected package libc6-dev:s390x. 165s Preparing to unpack .../66-libc6-dev_2.39-0ubuntu6_s390x.deb ... 165s Unpacking libc6-dev:s390x (2.39-0ubuntu6) ... 165s Preparing to unpack .../67-libevent-core-2.1-7_2.1.12-stable-9build1_s390x.deb ... 165s Unpacking libevent-core-2.1-7:s390x (2.1.12-stable-9build1) over (2.1.12-stable-9) ... 165s Preparing to unpack .../68-libldap-common_2.6.7+dfsg-1~exp1ubuntu6_all.deb ... 165s Unpacking libldap-common (2.6.7+dfsg-1~exp1ubuntu6) over (2.6.7+dfsg-1~exp1ubuntu1) ... 165s Selecting previously unselected package linux-modules-6.8.0-20-generic. 165s Preparing to unpack .../69-linux-modules-6.8.0-20-generic_6.8.0-20.20_s390x.deb ... 165s Unpacking linux-modules-6.8.0-20-generic (6.8.0-20.20) ... 165s Selecting previously unselected package linux-image-6.8.0-20-generic. 165s Preparing to unpack .../70-linux-image-6.8.0-20-generic_6.8.0-20.20_s390x.deb ... 165s Unpacking linux-image-6.8.0-20-generic (6.8.0-20.20) ... 165s Selecting previously unselected package linux-modules-extra-6.8.0-20-generic. 165s Preparing to unpack .../71-linux-modules-extra-6.8.0-20-generic_6.8.0-20.20_s390x.deb ... 165s Unpacking linux-modules-extra-6.8.0-20-generic (6.8.0-20.20) ... 166s Preparing to unpack .../72-linux-generic_6.8.0-20.20+1_s390x.deb ... 166s Unpacking linux-generic (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 166s Preparing to unpack .../73-linux-image-generic_6.8.0-20.20+1_s390x.deb ... 166s Unpacking linux-image-generic (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 166s Preparing to unpack .../74-linux-virtual_6.8.0-20.20+1_s390x.deb ... 166s Unpacking linux-virtual (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 166s Preparing to unpack .../75-linux-image-virtual_6.8.0-20.20+1_s390x.deb ... 166s Unpacking linux-image-virtual (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 166s Preparing to unpack .../76-linux-headers-virtual_6.8.0-20.20+1_s390x.deb ... 166s Unpacking linux-headers-virtual (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 166s Selecting previously unselected package linux-headers-6.8.0-20. 166s Preparing to unpack .../77-linux-headers-6.8.0-20_6.8.0-20.20_all.deb ... 166s Unpacking linux-headers-6.8.0-20 (6.8.0-20.20) ... 168s Selecting previously unselected package linux-headers-6.8.0-20-generic. 168s Preparing to unpack .../78-linux-headers-6.8.0-20-generic_6.8.0-20.20_s390x.deb ... 168s Unpacking linux-headers-6.8.0-20-generic (6.8.0-20.20) ... 169s Preparing to unpack .../79-linux-headers-generic_6.8.0-20.20+1_s390x.deb ... 169s Unpacking linux-headers-generic (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 169s Selecting previously unselected package linux-tools-common. 169s Preparing to unpack .../80-linux-tools-common_6.8.0-20.20_all.deb ... 169s Unpacking linux-tools-common (6.8.0-20.20) ... 169s Selecting previously unselected package linux-tools-6.8.0-20. 169s Preparing to unpack .../81-linux-tools-6.8.0-20_6.8.0-20.20_s390x.deb ... 169s Unpacking linux-tools-6.8.0-20 (6.8.0-20.20) ... 169s Selecting previously unselected package linux-tools-6.8.0-20-generic. 169s Preparing to unpack .../82-linux-tools-6.8.0-20-generic_6.8.0-20.20_s390x.deb ... 169s Unpacking linux-tools-6.8.0-20-generic (6.8.0-20.20) ... 169s Selecting previously unselected package manpages-dev. 169s Preparing to unpack .../83-manpages-dev_6.05.01-1_all.deb ... 169s Unpacking manpages-dev (6.05.01-1) ... 169s Preparing to unpack .../84-python3-distutils_3.12.2-3ubuntu1.1_all.deb ... 169s Unpacking python3-distutils (3.12.2-3ubuntu1.1) over (3.11.5-1) ... 169s Preparing to unpack .../85-python3-lib2to3_3.12.2-3ubuntu1.1_all.deb ... 169s Unpacking python3-lib2to3 (3.12.2-3ubuntu1.1) over (3.11.5-1) ... 169s Preparing to unpack .../86-python3-pyrsistent_0.20.0-1build1_s390x.deb ... 170s Unpacking python3-pyrsistent:s390x (0.20.0-1build1) over (0.20.0-1) ... 170s Preparing to unpack .../87-python3-typing-extensions_4.10.0-1_all.deb ... 170s Unpacking python3-typing-extensions (4.10.0-1) over (4.9.0-1) ... 170s Preparing to unpack .../88-s390-tools-data_2.31.0-0ubuntu3_all.deb ... 170s Unpacking s390-tools-data (2.31.0-0ubuntu3) over (2.31.0-0ubuntu1) ... 170s Selecting previously unselected package ubuntu-kernel-accessories. 170s Preparing to unpack .../89-ubuntu-kernel-accessories_1.536build1_s390x.deb ... 170s Unpacking ubuntu-kernel-accessories (1.536build1) ... 170s Preparing to unpack .../90-kpartx_0.9.4-5ubuntu6_s390x.deb ... 170s Unpacking kpartx (0.9.4-5ubuntu6) over (0.9.4-5ubuntu3) ... 170s Setting up pinentry-curses (1.2.1-3ubuntu4) ... 170s Setting up motd-news-config (13ubuntu8) ... 170s Setting up libtext-iconv-perl:s390x (1.7-8build2) ... 170s Setting up libtext-charwidth-perl:s390x (0.04-11build2) ... 170s Setting up libsharpyuv0:s390x (1.3.2-0.4build2) ... 170s Setting up liburcu8t64:s390x (0.14.0-3.1) ... 170s Setting up tcpdump (4.99.4-3ubuntu2) ... 170s Setting up libibverbs1:s390x (50.0-2build1) ... 170s Setting up ubuntu-kernel-accessories (1.536build1) ... 170s Setting up libapparmor1:s390x (4.0.0-beta3-0ubuntu2) ... 170s Setting up libatm1t64:s390x (1:2.5.1-5.1) ... 170s Setting up libgdbm6t64:s390x (1.23-5.1) ... 170s Setting up bsdextrautils (2.39.3-9ubuntu2) ... 170s Setting up libxpm4:s390x (1:3.5.17-1build1) ... 170s Setting up libgdbm-compat4t64:s390x (1.23-5.1) ... 170s Setting up xdg-user-dirs (0.18-1) ... 170s Setting up ibverbs-providers:s390x (50.0-2build1) ... 170s Setting up linux-headers-6.8.0-20 (6.8.0-20.20) ... 170s Setting up libmagic-mgc (1:5.45-3) ... 170s Setting up gawk (1:5.2.1-2build2) ... 170s Setting up manpages (6.05.01-1) ... 170s Setting up libtirpc-common (1.3.4+ds-1.1) ... 170s Setting up libbrotli1:s390x (1.1.0-2build1) ... 170s Setting up libsqlite3-0:s390x (3.45.1-1ubuntu1) ... 170s Setting up libsasl2-modules:s390x (2.1.28+dfsg1-5ubuntu1) ... 170s Setting up libuv1t64:s390x (1.48.0-1.1) ... 170s Setting up libmagic1t64:s390x (1:5.45-3) ... 170s Setting up rsyslog (8.2312.0-3ubuntu7) ... 170s info: The user `syslog' is already a member of `adm'. 171s Setting up libpsl5t64:s390x (0.21.2-1.1) ... 171s Setting up libnghttp2-14:s390x (1.59.0-1build1) ... 171s Setting up libdeflate0:s390x (1.19-1) ... 171s Setting up linux-libc-dev:s390x (6.8.0-20.20) ... 171s Setting up libreiserfscore0t64 (1:3.6.27-7.1) ... 171s Setting up systemd-dev (255.4-1ubuntu5) ... 171s Setting up libparted2t64:s390x (3.6-3.1build2) ... 171s Setting up krb5-locales (1.20.1-6ubuntu1) ... 171s Setting up file (1:5.45-3) ... 171s Setting up lshw (02.19.git.2021.06.19.996aaad9c7-2build2) ... 171s Setting up libldap-common (2.6.7+dfsg-1~exp1ubuntu6) ... 171s Setting up libprotobuf-c1:s390x (1.4.1-1ubuntu3) ... 171s Setting up libjbig0:s390x (2.1-6.1ubuntu1) ... 171s Setting up xxd (2:9.1.0016-1ubuntu6) ... 171s Setting up libelf1t64:s390x (0.190-1.1build2) ... 171s Setting up libkrb5support0:s390x (1.20.1-6ubuntu1) ... 171s Setting up libdw1t64:s390x (0.190-1.1build2) ... 171s Setting up linux-headers-6.8.0-20-generic (6.8.0-20.20) ... 171s Setting up eject (2.39.3-9ubuntu2) ... 171s Setting up apparmor (4.0.0-beta3-0ubuntu2) ... 171s Installing new version of config file /etc/apparmor.d/abstractions/authentication ... 171s Installing new version of config file /etc/apparmor.d/abstractions/crypto ... 171s Installing new version of config file /etc/apparmor.d/abstractions/kde-open5 ... 171s Installing new version of config file /etc/apparmor.d/abstractions/openssl ... 171s Installing new version of config file /etc/apparmor.d/code ... 171s Installing new version of config file /etc/apparmor.d/firefox ... 172s Reloading AppArmor profiles 174s Setting up libglib2.0-0t64:s390x (2.79.3-3ubuntu5) ... 174s No schema files found: doing nothing. 174s Setting up libglib2.0-data (2.79.3-3ubuntu5) ... 174s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 174s Setting up vim-common (2:9.1.0016-1ubuntu6) ... 174s Setting up libqrtr-glib0:s390x (1.2.2-1ubuntu3) ... 174s Setting up libslang2:s390x (2.3.3-3build1) ... 174s Setting up libnvme1t64 (1.8-3) ... 174s Setting up mtr-tiny (0.95-1.1build1) ... 174s Setting up gnupg-l10n (2.4.4-2ubuntu15) ... 174s Setting up librtmp1:s390x (2.4+20151223.gitfa8646d.1-2build6) ... 174s Setting up libdbus-1-3:s390x (1.14.10-4ubuntu2) ... 174s Setting up xz-utils (5.6.0-0.2) ... 174s Setting up perl-modules-5.38 (5.38.2-3.2) ... 174s Setting up libproc2-0:s390x (2:4.0.4-4ubuntu2) ... 174s Setting up fonts-dejavu-mono (2.37-8) ... 174s Setting up libpng16-16t64:s390x (1.6.43-3) ... 174s Setting up libevent-core-2.1-7:s390x (2.1.12-stable-9build1) ... 174s Setting up libss2:s390x (1.47.0-2.4~exp1ubuntu2) ... 174s Setting up usb.ids (2024.03.18-1) ... 174s Setting up sudo (1.9.15p5-3ubuntu3) ... 174s Setting up fonts-dejavu-core (2.37-8) ... 174s Setting up dhcpcd-base (1:10.0.6-1ubuntu2) ... 174s Setting up gir1.2-glib-2.0:s390x (2.79.3-3ubuntu5) ... 174s Setting up libk5crypto3:s390x (1.20.1-6ubuntu1) ... 174s Setting up libjpeg-turbo8:s390x (2.1.5-2ubuntu1) ... 174s Setting up logsave (1.47.0-2.4~exp1ubuntu2) ... 174s Setting up libwebp7:s390x (1.3.2-0.4build2) ... 174s Setting up libfdisk1:s390x (2.39.3-9ubuntu2) ... 174s Setting up libdb5.3t64:s390x (5.3.28+dfsg2-6) ... 174s Setting up libaio1t64:s390x (0.3.113-6) ... 174s Setting up python-apt-common (2.7.7) ... 174s Setting up mount (2.39.3-9ubuntu2) ... 174s Setting up uuid-runtime (2.39.3-9ubuntu2) ... 174s uuidd.service is a disabled or a static unit not running, not starting it. 174s Setting up libmm-glib0:s390x (1.23.4-0ubuntu1) ... 174s Setting up groff-base (1.23.0-3build1) ... 174s Setting up libcrypt-dev:s390x (1:4.4.36-4) ... 174s Setting up libplymouth5:s390x (24.004.60-1ubuntu6) ... 174s Setting up dbus-session-bus-common (1.14.10-4ubuntu2) ... 174s Setting up procps (2:4.0.4-4ubuntu2) ... 175s Setting up gpgconf (2.4.4-2ubuntu15) ... 175s Setting up libcryptsetup12:s390x (2:2.7.0-1ubuntu2) ... 175s Setting up libgirepository-1.0-1:s390x (1.79.1-1ubuntu6) ... 175s Setting up libjson-glib-1.0-common (1.8.0-2build1) ... 175s Setting up libkrb5-3:s390x (1.20.1-6ubuntu1) ... 175s Setting up libpython3.11-minimal:s390x (3.11.8-1build4) ... 175s Setting up libperl5.38t64:s390x (5.38.2-3.2) ... 175s Setting up tnftp (20230507-2build1) ... 175s Setting up dbus-system-bus-common (1.14.10-4ubuntu2) ... 175s Setting up libfido2-1:s390x (1.14.0-1build1) ... 175s Setting up libc-dev-bin (2.39-0ubuntu6) ... 175s Setting up openssl (3.0.13-0ubuntu2) ... 175s Setting up linux-modules-6.8.0-20-generic (6.8.0-20.20) ... 175s Setting up readline-common (8.2-4) ... 175s Setting up libxml2:s390x (2.9.14+dfsg-1.3ubuntu2) ... 175s Setting up libxmuu1:s390x (2:1.1.3-3build1) ... 175s Setting up dbus-bin (1.14.10-4ubuntu2) ... 175s Setting up info (7.1-3build1) ... 175s Setting up liblocale-gettext-perl (1.07-6ubuntu4) ... 175s Setting up gpg (2.4.4-2ubuntu15) ... 175s Setting up libgudev-1.0-0:s390x (1:238-3ubuntu2) ... 175s Setting up libpolkit-gobject-1-0:s390x (124-1ubuntu1) ... 175s Setting up libbpf1:s390x (1:1.3.0-2build1) ... 175s Setting up libmbim-glib4:s390x (1.31.2-0ubuntu2) ... 175s Setting up rsync (3.2.7-1build1) ... 176s rsync.service is a disabled or a static unit not running, not starting it. 176s Setting up libudisks2-0:s390x (2.10.1-6) ... 176s Setting up libkmod2:s390x (31+20240202-2ubuntu4) ... 176s Setting up bolt (0.9.6-2build1) ... 176s bolt.service is a disabled or a static unit not running, not starting it. 176s Setting up s390-tools-data (2.31.0-0ubuntu3) ... 176s Setting up libllvm18:s390x (1:18.1.2-1ubuntu2) ... 176s Setting up gnupg-utils (2.4.4-2ubuntu15) ... 176s Setting up libjpeg8:s390x (8c-2ubuntu11) ... 176s Setting up cryptsetup-bin (2:2.7.0-1ubuntu2) ... 176s Setting up python3.11-minimal (3.11.8-1build4) ... 177s Setting up libclang1-18 (1:18.1.2-1ubuntu2) ... 177s Setting up manpages-dev (6.05.01-1) ... 177s Setting up linux-modules-extra-6.8.0-20-generic (6.8.0-20.20) ... 178s Setting up apt-utils (2.7.14) ... 178s Setting up gpg-agent (2.4.4-2ubuntu15) ... 178s Setting up libpython3.12-stdlib:s390x (3.12.2-4build3) ... 178s Setting up wget (1.21.4-1ubuntu2) ... 178s Setting up fontconfig-config (2.15.0-1.1ubuntu1) ... 178s Setting up libxmlb2:s390x (0.3.15-1build1) ... 178s Setting up btrfs-progs (6.6.3-1.1build1) ... 178s Setting up libpython3.11-stdlib:s390x (3.11.8-1build4) ... 178s Setting up python3.12 (3.12.2-4build3) ... 180s Setting up gpgsm (2.4.4-2ubuntu15) ... 180s Setting up inetutils-telnet (2:2.5-3ubuntu3) ... 180s Setting up parted (3.6-3.1build2) ... 180s Setting up e2fsprogs (1.47.0-2.4~exp1ubuntu2) ... 180s update-initramfs: deferring update (trigger activated) 180s e2scrub_all.service is a disabled or a static unit not running, not starting it. 180s Setting up linux-headers-generic (6.8.0-20.20+1) ... 180s Setting up dbus-daemon (1.14.10-4ubuntu2) ... 180s Setting up libmbim-proxy (1.31.2-0ubuntu2) ... 180s Setting up vim-tiny (2:9.1.0016-1ubuntu6) ... 180s Setting up kmod (31+20240202-2ubuntu4) ... 181s Setting up libnetplan1:s390x (1.0-1) ... 181s Setting up man-db (2.12.0-3build4) ... 181s Updating database of manual pages ... 182s man-db.service is a disabled or a static unit not running, not starting it. 182s Setting up fdisk (2.39.3-9ubuntu2) ... 182s Setting up libjson-glib-1.0-0:s390x (1.8.0-2build1) ... 182s Setting up libsasl2-modules-db:s390x (2.1.28+dfsg1-5ubuntu1) ... 182s Setting up hwdata (0.379-1) ... 182s Setting up perl (5.38.2-3.2) ... 182s Setting up libfreetype6:s390x (2.13.2+dfsg-1build2) ... 182s Setting up gir1.2-girepository-2.0:s390x (1.79.1-1ubuntu6) ... 182s Setting up dbus (1.14.10-4ubuntu2) ... 182s A reboot is required to replace the running dbus-daemon. 182s Please reboot the system when convenient. 183s Setting up shared-mime-info (2.4-1build1) ... 183s Setting up libblockdev-utils3:s390x (3.1.0-1build1) ... 183s Setting up libgssapi-krb5-2:s390x (1.20.1-6ubuntu1) ... 183s Setting up libsystemd-shared:s390x (255.4-1ubuntu5) ... 183s Setting up ftp (20230507-2build1) ... 183s Setting up keyboxd (2.4.4-2ubuntu15) ... 183s Setting up libdpkg-perl (1.22.6ubuntu5) ... 183s Setting up libsasl2-2:s390x (2.1.28+dfsg1-5ubuntu1) ... 183s Setting up libssh-4:s390x (0.10.6-2build1) ... 183s Setting up libblockdev-nvme3:s390x (3.1.0-1build1) ... 183s Setting up libblockdev-fs3:s390x (3.1.0-1build1) ... 183s Setting up ieee-data (20220827.1) ... 183s Setting up libtiff6:s390x (4.5.1+git230720-4ubuntu1) ... 183s Setting up libpolkit-agent-1-0:s390x (124-1ubuntu1) ... 183s Setting up libc6-dev:s390x (2.39-0ubuntu6) ... 183s Setting up libgpgme11t64:s390x (1.18.0-4.1ubuntu3) ... 183s Setting up libfontconfig1:s390x (2.15.0-1.1ubuntu1) ... 183s Setting up libclang-cpp18 (1:18.1.2-1ubuntu2) ... 183s Setting up libbpfcc:s390x (0.29.1+ds-1ubuntu4) ... 183s Setting up linux-tools-common (6.8.0-20.20) ... 183s Setting up libarchive13t64:s390x (3.7.2-1.1ubuntu2) ... 183s Setting up libldap2:s390x (2.6.7+dfsg-1~exp1ubuntu6) ... 183s Setting up libpython3-stdlib:s390x (3.12.2-0ubuntu1) ... 183s Setting up python3.11 (3.11.8-1build4) ... 184s Setting up telnet (0.17+2.5-3ubuntu3) ... 184s Setting up libblockdev-mdraid3:s390x (3.1.0-1build1) ... 184s Setting up linux-headers-virtual (6.8.0-20.20+1) ... 184s Setting up libcurl4t64:s390x (8.5.0-2ubuntu8) ... 184s Setting up bpftrace (0.20.2-1ubuntu1) ... 184s Setting up bind9-libs:s390x (1:9.18.24-0ubuntu3) ... 184s Setting up linux-image-6.8.0-20-generic (6.8.0-20.20) ... 185s I: /boot/vmlinuz is now a symlink to vmlinuz-6.8.0-20-generic 185s I: /boot/initrd.img is now a symlink to initrd.img-6.8.0-20-generic 185s Setting up libtirpc3t64:s390x (1.3.4+ds-1.1) ... 185s Setting up e2fsprogs-l10n (1.47.0-2.4~exp1ubuntu2) ... 185s Setting up libblockdev-swap3:s390x (3.1.0-1build1) ... 185s Setting up iproute2 (6.1.0-1ubuntu5) ... 185s Setting up openssh-client (1:9.6p1-3ubuntu11) ... 185s Setting up libgusb2:s390x (0.4.8-1build1) ... 185s Setting up libblockdev-loop3:s390x (3.1.0-1build1) ... 185s Setting up libcurl3t64-gnutls:s390x (8.5.0-2ubuntu8) ... 185s Setting up libqmi-glib5:s390x (1.35.2-0ubuntu1) ... 185s Setting up linux-tools-6.8.0-20 (6.8.0-20.20) ... 185s Setting up python3 (3.12.2-0ubuntu1) ... 185s Setting up systemd (255.4-1ubuntu5) ... 186s Setting up libblockdev3:s390x (3.1.0-1build1) ... 186s Setting up libjcat1:s390x (0.2.0-2build2) ... 186s Setting up dpkg-dev (1.22.6ubuntu5) ... 186s Setting up libblockdev-part3:s390x (3.1.0-1build1) ... 186s Setting up dirmngr (2.4.4-2ubuntu15) ... 186s Setting up linux-tools-6.8.0-20-generic (6.8.0-20.20) ... 186s Setting up python3-cryptography (41.0.7-4build2) ... 186s Setting up python3-gi (3.47.0-3build1) ... 186s Setting up libgd3:s390x (2.3.3-9ubuntu3) ... 186s Setting up systemd-timesyncd (255.4-1ubuntu5) ... 187s Setting up udev (255.4-1ubuntu5) ... 188s Setting up python3-typing-extensions (4.10.0-1) ... 188s Setting up lsof (4.95.0-1build2) ... 188s Setting up python3-pyrsistent:s390x (0.20.0-1build1) ... 188s Setting up python3-netaddr (0.8.0-2ubuntu1) ... 188s Setting up kpartx (0.9.4-5ubuntu6) ... 188s Setting up libnsl2:s390x (1.3.0-3build2) ... 188s Setting up gnupg (2.4.4-2ubuntu15) ... 188s Setting up python3-netplan (1.0-1) ... 188s Setting up curl (8.5.0-2ubuntu8) ... 188s Setting up libvolume-key1:s390x (0.3.12-7build1) ... 188s Setting up linux-image-virtual (6.8.0-20.20+1) ... 188s Setting up netplan-generator (1.0-1) ... 188s Removing 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 188s Setting up bind9-host (1:9.18.24-0ubuntu3) ... 188s Setting up python3-lib2to3 (3.12.2-3ubuntu1.1) ... 188s Setting up python3-bpfcc (0.29.1+ds-1ubuntu4) ... 189s Setting up libc-devtools (2.39-0ubuntu6) ... 189s Setting up systemd-resolved (255.4-1ubuntu5) ... 189s Setting up python3-pkg-resources (68.1.2-2ubuntu1) ... 189s Setting up python3-distutils (3.12.2-3ubuntu1.1) ... 190s python3.12: can't get files for byte-compilation 190s Setting up openssh-sftp-server (1:9.6p1-3ubuntu11) ... 190s Setting up linux-image-generic (6.8.0-20.20+1) ... 190s Setting up systemd-sysv (255.4-1ubuntu5) ... 190s Setting up python3-dbus (1.3.2-5build2) ... 190s Setting up python3-setuptools (68.1.2-2ubuntu1) ... 190s Setting up gpg-wks-client (2.4.4-2ubuntu15) ... 190s Setting up openssh-server (1:9.6p1-3ubuntu11) ... 190s Replacing config file /etc/ssh/sshd_config with new version 192s Created symlink /etc/systemd/system/ssh.service.requires/ssh.socket → /usr/lib/systemd/system/ssh.socket. 193s Setting up linux-generic (6.8.0-20.20+1) ... 193s Setting up libblockdev-crypto3:s390x (3.1.0-1build1) ... 193s Setting up python3-gdbm:s390x (3.12.2-3ubuntu1.1) ... 193s Setting up plymouth (24.004.60-1ubuntu6) ... 193s update-initramfs: Generating /boot/initrd.img-6.8.0-11-generic 193s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 197s Not invoking zipl: initrd doesn't exist yet 197s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 197s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 197s Setting up python3-apt (2.7.7) ... 198s Setting up libfwupd2:s390x (1.9.15-2) ... 198s Setting up libnss-systemd:s390x (255.4-1ubuntu5) ... 198s Setting up libqmi-proxy (1.35.2-0ubuntu1) ... 198s Setting up multipath-tools (0.9.4-5ubuntu6) ... 198s Setting up netplan.io (1.0-1) ... 198s Setting up linux-virtual (6.8.0-20.20+1) ... 198s Setting up plymouth-theme-ubuntu-text (24.004.60-1ubuntu6) ... 198s update-initramfs: deferring update (trigger activated) 198s Setting up bpfcc-tools (0.29.1+ds-1ubuntu4) ... 198s Setting up libpam-systemd:s390x (255.4-1ubuntu5) ... 198s Setting up bind9-dnsutils (1:9.18.24-0ubuntu3) ... 198s Setting up ubuntu-pro-client (31.2.2) ... 200s Setting up fwupd (1.9.15-2) ... 200s fwupd-offline-update.service is a disabled or a static unit not running, not starting it. 200s fwupd-refresh.service is a disabled or a static unit not running, not starting it. 200s Setting up ubuntu-pro-client-l10n (31.2.2) ... 200s Setting up udisks2 (2.10.1-6) ... 201s Setting up dbus-user-session (1.14.10-4ubuntu2) ... 201s Processing triggers for install-info (7.1-3build1) ... 201s Processing triggers for initramfs-tools (0.142ubuntu23) ... 201s update-initramfs: Generating /boot/initrd.img-6.8.0-11-generic 201s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 205s Not invoking zipl: initrd doesn't exist yet 205s Processing triggers for libc-bin (2.39-0ubuntu6) ... 205s Processing triggers for ufw (0.36.2-5) ... 205s Processing triggers for debianutils (5.17) ... 205s Processing triggers for linux-image-6.8.0-20-generic (6.8.0-20.20) ... 205s /etc/kernel/postinst.d/initramfs-tools: 205s update-initramfs: Generating /boot/initrd.img-6.8.0-20-generic 205s W: No lz4 in /usr/bin:/sbin:/bin, using gzip 208s Using config file '/etc/zipl.conf' 208s Building bootmap in '/boot' 208s Adding IPL section 'ubuntu' (default) 208s Preparing boot device for LD-IPL: vda (0000). 208s Done. 208s /etc/kernel/postinst.d/zz-zipl: 208s Using config file '/etc/zipl.conf' 208s Building bootmap in '/boot' 208s Adding IPL section 'ubuntu' (default) 208s Preparing boot device for LD-IPL: vda (0000). 208s Done. 210s Reading package lists... 210s Building dependency tree... 210s Reading state information... 210s The following packages will be REMOVED: 210s libaio1* libnetplan0* python3-distutils* python3-lib2to3* 211s 0 upgraded, 0 newly installed, 4 to remove and 1 not upgraded. 211s After this operation, 1445 kB disk space will be freed. 211s (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 ... 81787 files and directories currently installed.) 211s Removing libaio1:s390x (0.3.113-5) ... 211s Removing libnetplan0:s390x (0.107.1-3) ... 211s Removing python3-distutils (3.12.2-3ubuntu1.1) ... 211s Removing python3-lib2to3 (3.12.2-3ubuntu1.1) ... 211s Processing triggers for libc-bin (2.39-0ubuntu6) ... 211s autopkgtest [03:03:40]: rebooting testbed after setup commands that affected boot 239s autopkgtest [03:04:08]: testbed running kernel: Linux 6.8.0-20-generic #20-Ubuntu SMP Mon Mar 18 10:49:25 UTC 2024 242s autopkgtest [03:04:11]: @@@@@@@@@@@@@@@@@@@@ apt-source rubocop 244s Get:1 http://ftpmaster.internal/ubuntu noble/universe rubocop 1.39.0+dfsg-1 (dsc) [2430 B] 244s Get:2 http://ftpmaster.internal/ubuntu noble/universe rubocop 1.39.0+dfsg-1 (tar) [1029 kB] 244s Get:3 http://ftpmaster.internal/ubuntu noble/universe rubocop 1.39.0+dfsg-1 (diff) [11.0 kB] 244s gpgv: Signature made Tue Dec 20 23:20:36 2022 UTC 244s gpgv: using RSA key 8ED6C3F8BAC9DB7FC130A870F823A2729883C97C 244s gpgv: issuer "kanashiro@debian.org" 244s gpgv: Can't check signature: No public key 244s dpkg-source: warning: cannot verify inline signature for ./rubocop_1.39.0+dfsg-1.dsc: no acceptable signature found 245s autopkgtest [03:04:14]: testing package rubocop version 1.39.0+dfsg-1 245s autopkgtest [03:04:14]: build not needed 248s autopkgtest [03:04:17]: test gem2deb-test-runner: preparing testbed 251s Reading package lists... 251s Building dependency tree... 251s Reading state information... 251s Starting pkgProblemResolver with broken count: 0 251s Starting 2 pkgProblemResolver with broken count: 0 251s Done 252s The following additional packages will be installed: 252s gem2deb-test-runner libjs-jquery libjs-jquery-easing libjs-jquery-fancybox 252s libjs-jquery-mousewheel libjs-jquery-ui libruby libruby3.2 pry rake rubocop 252s ruby ruby-addressable ruby-ast ruby-coderay ruby-crack ruby-diff-lcs 252s ruby-docile ruby-hashdiff ruby-method-source ruby-net-telnet ruby-parallel 252s ruby-progressbar ruby-public-suffix ruby-rainbow ruby-regexp-parser 252s ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks 252s ruby-rspec-support ruby-rubocop-ast ruby-rubygems ruby-sdbm ruby-simplecov 252s ruby-simplecov-html ruby-unicode-display-width ruby-webmock ruby-webrick 252s ruby-whitequark-parser ruby-xmlrpc ruby3.2 rubygems-integration 252s Suggested packages: 252s libjs-jquery-ui-docs ri ruby-dev bundler 252s Recommended packages: 252s javascript-common zip fonts-lato 252s The following NEW packages will be installed: 252s autopkgtest-satdep gem2deb-test-runner libjs-jquery libjs-jquery-easing 252s libjs-jquery-fancybox libjs-jquery-mousewheel libjs-jquery-ui libruby 252s libruby3.2 pry rake rubocop ruby ruby-addressable ruby-ast ruby-coderay 252s ruby-crack ruby-diff-lcs ruby-docile ruby-hashdiff ruby-method-source 252s ruby-net-telnet ruby-parallel ruby-progressbar ruby-public-suffix 252s ruby-rainbow ruby-regexp-parser ruby-rspec ruby-rspec-core 252s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubocop-ast 252s ruby-rubygems ruby-sdbm ruby-simplecov ruby-simplecov-html 252s ruby-unicode-display-width ruby-webmock ruby-webrick ruby-whitequark-parser 252s ruby-xmlrpc ruby3.2 rubygems-integration 252s 0 upgraded, 44 newly installed, 0 to remove and 1 not upgraded. 252s Need to get 8874 kB/8875 kB of archives. 252s After this operation, 47.5 MB of additional disk space will be used. 252s Get:1 /tmp/autopkgtest.X8jzr2/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [860 B] 252s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x rubygems-integration all 1.18 [5336 B] 252s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x ruby-net-telnet all 0.2.0-1 [13.3 kB] 252s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x ruby-webrick all 1.8.1-1 [52.3 kB] 252s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x ruby-xmlrpc all 0.3.2-2 [24.8 kB] 252s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libruby s390x 1:3.2~ubuntu1 [4696 B] 252s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x ruby-sdbm s390x 1.0.0-5build4 [16.7 kB] 252s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main s390x libruby3.2 s390x 3.2.3-1build2 [5431 kB] 257s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main s390x ruby3.2 s390x 3.2.3-1build2 [50.6 kB] 257s Get:10 http://ftpmaster.internal/ubuntu noble/main s390x ruby-rubygems all 3.4.20-1 [238 kB] 257s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main s390x ruby s390x 1:3.2~ubuntu1 [3468 B] 257s Get:12 http://ftpmaster.internal/ubuntu noble/main s390x rake all 13.0.6-3 [61.6 kB] 257s Get:13 http://ftpmaster.internal/ubuntu noble/universe s390x gem2deb-test-runner s390x 2.2.2 [18.2 kB] 257s Get:14 http://ftpmaster.internal/ubuntu noble/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 258s Get:15 http://ftpmaster.internal/ubuntu noble/universe s390x libjs-jquery-easing all 12-4 [6970 B] 258s Get:16 http://ftpmaster.internal/ubuntu noble/universe s390x libjs-jquery-mousewheel all 1:3.1.13-5 [6324 B] 258s Get:17 http://ftpmaster.internal/ubuntu noble/universe s390x libjs-jquery-fancybox all 12-4 [45.7 kB] 258s Get:18 http://ftpmaster.internal/ubuntu noble/universe s390x libjs-jquery-ui all 1.13.2+dfsg-1 [252 kB] 258s Get:19 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-coderay all 1.1.3-8 [78.5 kB] 258s Get:20 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-method-source all 1.0.0-2 [8904 B] 258s Get:21 http://ftpmaster.internal/ubuntu noble/universe s390x pry all 0.14.2-1 [121 kB] 258s Get:22 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-progressbar all 1.11.0-1 [16.3 kB] 258s Get:23 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-parallel all 1.22.1-2 [12.3 kB] 258s Get:24 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-ast all 2.4.2-1 [10.7 kB] 258s Get:25 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-whitequark-parser all 3.1.3.0-1 [433 kB] 258s Get:26 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-rainbow all 3.1.1-1 [12.4 kB] 258s Get:27 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-regexp-parser all 2.6.1-1 [54.5 kB] 258s Get:28 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-rubocop-ast all 1.24.0-2 [50.3 kB] 258s Get:29 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-unicode-display-width all 1.6.1-1 [8904 B] 258s Get:30 http://ftpmaster.internal/ubuntu noble/universe s390x rubocop all 1.39.0+dfsg-1 [456 kB] 259s Get:31 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-public-suffix all 4.0.6+ds-2 [14.1 kB] 259s Get:32 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-addressable all 2.8.5-1 [55.3 kB] 259s Get:33 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-crack all 0.4.4-4 [8764 B] 259s Get:34 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-diff-lcs all 1.5.1-1 [22.8 kB] 259s Get:35 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-docile all 1.1.5-2.1 [5708 B] 259s Get:36 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-hashdiff all 1.1.0-1 [12.9 kB] 259s Get:37 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 259s Get:38 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 259s Get:39 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 259s Get:40 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 259s Get:41 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 259s Get:42 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-simplecov-html all 0.12.3-2 [477 kB] 259s Get:43 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-simplecov all 0.22.0-1 [40.7 kB] 259s Get:44 http://ftpmaster.internal/ubuntu noble/universe s390x ruby-webmock all 3.18.1-2 [47.1 kB] 260s Fetched 8874 kB in 7s (1202 kB/s) 260s Selecting previously unselected package rubygems-integration. 260s (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 ... 81563 files and directories currently installed.) 260s Preparing to unpack .../00-rubygems-integration_1.18_all.deb ... 260s Unpacking rubygems-integration (1.18) ... 260s Selecting previously unselected package ruby-net-telnet. 260s Preparing to unpack .../01-ruby-net-telnet_0.2.0-1_all.deb ... 260s Unpacking ruby-net-telnet (0.2.0-1) ... 260s Selecting previously unselected package ruby-webrick. 260s Preparing to unpack .../02-ruby-webrick_1.8.1-1_all.deb ... 260s Unpacking ruby-webrick (1.8.1-1) ... 260s Selecting previously unselected package ruby-xmlrpc. 260s Preparing to unpack .../03-ruby-xmlrpc_0.3.2-2_all.deb ... 260s Unpacking ruby-xmlrpc (0.3.2-2) ... 260s Selecting previously unselected package libruby:s390x. 260s Preparing to unpack .../04-libruby_1%3a3.2~ubuntu1_s390x.deb ... 260s Unpacking libruby:s390x (1:3.2~ubuntu1) ... 260s Selecting previously unselected package ruby-sdbm:s390x. 260s Preparing to unpack .../05-ruby-sdbm_1.0.0-5build4_s390x.deb ... 260s Unpacking ruby-sdbm:s390x (1.0.0-5build4) ... 260s Selecting previously unselected package libruby3.2:s390x. 260s Preparing to unpack .../06-libruby3.2_3.2.3-1build2_s390x.deb ... 260s Unpacking libruby3.2:s390x (3.2.3-1build2) ... 260s Selecting previously unselected package ruby3.2. 260s Preparing to unpack .../07-ruby3.2_3.2.3-1build2_s390x.deb ... 260s Unpacking ruby3.2 (3.2.3-1build2) ... 260s Selecting previously unselected package ruby-rubygems. 260s Preparing to unpack .../08-ruby-rubygems_3.4.20-1_all.deb ... 260s Unpacking ruby-rubygems (3.4.20-1) ... 260s Selecting previously unselected package ruby. 260s Preparing to unpack .../09-ruby_1%3a3.2~ubuntu1_s390x.deb ... 260s Unpacking ruby (1:3.2~ubuntu1) ... 260s Selecting previously unselected package rake. 260s Preparing to unpack .../10-rake_13.0.6-3_all.deb ... 260s Unpacking rake (13.0.6-3) ... 260s Selecting previously unselected package gem2deb-test-runner. 260s Preparing to unpack .../11-gem2deb-test-runner_2.2.2_s390x.deb ... 260s Unpacking gem2deb-test-runner (2.2.2) ... 260s Selecting previously unselected package libjs-jquery. 260s Preparing to unpack .../12-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 260s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 260s Selecting previously unselected package libjs-jquery-easing. 260s Preparing to unpack .../13-libjs-jquery-easing_12-4_all.deb ... 260s Unpacking libjs-jquery-easing (12-4) ... 260s Selecting previously unselected package libjs-jquery-mousewheel. 260s Preparing to unpack .../14-libjs-jquery-mousewheel_1%3a3.1.13-5_all.deb ... 260s Unpacking libjs-jquery-mousewheel (1:3.1.13-5) ... 260s Selecting previously unselected package libjs-jquery-fancybox. 260s Preparing to unpack .../15-libjs-jquery-fancybox_12-4_all.deb ... 260s Unpacking libjs-jquery-fancybox (12-4) ... 260s Selecting previously unselected package libjs-jquery-ui. 260s Preparing to unpack .../16-libjs-jquery-ui_1.13.2+dfsg-1_all.deb ... 260s Unpacking libjs-jquery-ui (1.13.2+dfsg-1) ... 260s Selecting previously unselected package ruby-coderay. 260s Preparing to unpack .../17-ruby-coderay_1.1.3-8_all.deb ... 260s Unpacking ruby-coderay (1.1.3-8) ... 261s Selecting previously unselected package ruby-method-source. 261s Preparing to unpack .../18-ruby-method-source_1.0.0-2_all.deb ... 261s Unpacking ruby-method-source (1.0.0-2) ... 261s Selecting previously unselected package pry. 261s Preparing to unpack .../19-pry_0.14.2-1_all.deb ... 261s Unpacking pry (0.14.2-1) ... 261s Selecting previously unselected package ruby-progressbar. 261s Preparing to unpack .../20-ruby-progressbar_1.11.0-1_all.deb ... 261s Unpacking ruby-progressbar (1.11.0-1) ... 261s Selecting previously unselected package ruby-parallel. 261s Preparing to unpack .../21-ruby-parallel_1.22.1-2_all.deb ... 261s Unpacking ruby-parallel (1.22.1-2) ... 261s Selecting previously unselected package ruby-ast. 261s Preparing to unpack .../22-ruby-ast_2.4.2-1_all.deb ... 261s Unpacking ruby-ast (2.4.2-1) ... 261s Selecting previously unselected package ruby-whitequark-parser. 261s Preparing to unpack .../23-ruby-whitequark-parser_3.1.3.0-1_all.deb ... 261s Unpacking ruby-whitequark-parser (3.1.3.0-1) ... 261s Selecting previously unselected package ruby-rainbow. 261s Preparing to unpack .../24-ruby-rainbow_3.1.1-1_all.deb ... 261s Unpacking ruby-rainbow (3.1.1-1) ... 261s Selecting previously unselected package ruby-regexp-parser. 261s Preparing to unpack .../25-ruby-regexp-parser_2.6.1-1_all.deb ... 261s Unpacking ruby-regexp-parser (2.6.1-1) ... 261s Selecting previously unselected package ruby-rubocop-ast. 261s Preparing to unpack .../26-ruby-rubocop-ast_1.24.0-2_all.deb ... 261s Unpacking ruby-rubocop-ast (1.24.0-2) ... 261s Selecting previously unselected package ruby-unicode-display-width. 261s Preparing to unpack .../27-ruby-unicode-display-width_1.6.1-1_all.deb ... 261s Unpacking ruby-unicode-display-width (1.6.1-1) ... 261s Selecting previously unselected package rubocop. 261s Preparing to unpack .../28-rubocop_1.39.0+dfsg-1_all.deb ... 261s Unpacking rubocop (1.39.0+dfsg-1) ... 261s Selecting previously unselected package ruby-public-suffix. 261s Preparing to unpack .../29-ruby-public-suffix_4.0.6+ds-2_all.deb ... 261s Unpacking ruby-public-suffix (4.0.6+ds-2) ... 261s Selecting previously unselected package ruby-addressable. 261s Preparing to unpack .../30-ruby-addressable_2.8.5-1_all.deb ... 261s Unpacking ruby-addressable (2.8.5-1) ... 261s Selecting previously unselected package ruby-crack. 261s Preparing to unpack .../31-ruby-crack_0.4.4-4_all.deb ... 261s Unpacking ruby-crack (0.4.4-4) ... 261s Selecting previously unselected package ruby-diff-lcs. 261s Preparing to unpack .../32-ruby-diff-lcs_1.5.1-1_all.deb ... 261s Unpacking ruby-diff-lcs (1.5.1-1) ... 261s Selecting previously unselected package ruby-docile. 261s Preparing to unpack .../33-ruby-docile_1.1.5-2.1_all.deb ... 261s Unpacking ruby-docile (1.1.5-2.1) ... 261s Selecting previously unselected package ruby-hashdiff. 261s Preparing to unpack .../34-ruby-hashdiff_1.1.0-1_all.deb ... 261s Unpacking ruby-hashdiff (1.1.0-1) ... 261s Selecting previously unselected package ruby-rspec-support. 261s Preparing to unpack .../35-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 261s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 261s Selecting previously unselected package ruby-rspec-core. 261s Preparing to unpack .../36-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 261s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 261s Selecting previously unselected package ruby-rspec-expectations. 261s Preparing to unpack .../37-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 261s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 261s Selecting previously unselected package ruby-rspec-mocks. 261s Preparing to unpack .../38-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 261s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 261s Selecting previously unselected package ruby-rspec. 261s Preparing to unpack .../39-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 261s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 261s Selecting previously unselected package ruby-simplecov-html. 261s Preparing to unpack .../40-ruby-simplecov-html_0.12.3-2_all.deb ... 261s Unpacking ruby-simplecov-html (0.12.3-2) ... 261s Selecting previously unselected package ruby-simplecov. 261s Preparing to unpack .../41-ruby-simplecov_0.22.0-1_all.deb ... 261s Unpacking ruby-simplecov (0.22.0-1) ... 261s Selecting previously unselected package ruby-webmock. 261s Preparing to unpack .../42-ruby-webmock_3.18.1-2_all.deb ... 261s Unpacking ruby-webmock (3.18.1-2) ... 261s Selecting previously unselected package autopkgtest-satdep. 261s Preparing to unpack .../43-1-autopkgtest-satdep.deb ... 261s Unpacking autopkgtest-satdep (0) ... 261s Setting up ruby-rainbow (3.1.1-1) ... 261s Setting up ruby-regexp-parser (2.6.1-1) ... 261s Setting up ruby-hashdiff (1.1.0-1) ... 261s Setting up ruby-public-suffix (4.0.6+ds-2) ... 261s Setting up libjs-jquery-mousewheel (1:3.1.13-5) ... 261s Setting up rubygems-integration (1.18) ... 261s Setting up ruby-method-source (1.0.0-2) ... 261s Setting up ruby-ast (2.4.2-1) ... 261s Setting up ruby-net-telnet (0.2.0-1) ... 261s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 261s Setting up ruby-webrick (1.8.1-1) ... 261s Setting up ruby-progressbar (1.11.0-1) ... 261s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 261s Setting up ruby-xmlrpc (0.3.2-2) ... 261s Setting up libjs-jquery-easing (12-4) ... 261s Setting up ruby-addressable (2.8.5-1) ... 261s Setting up libjs-jquery-fancybox (12-4) ... 261s Setting up ruby-parallel (1.22.1-2) ... 261s Setting up libjs-jquery-ui (1.13.2+dfsg-1) ... 261s Setting up rake (13.0.6-3) ... 261s Setting up libruby:s390x (1:3.2~ubuntu1) ... 261s Setting up ruby-rubygems (3.4.20-1) ... 261s Setting up ruby-sdbm:s390x (1.0.0-5build4) ... 261s Setting up libruby3.2:s390x (3.2.3-1build2) ... 261s Setting up ruby3.2 (3.2.3-1build2) ... 261s Setting up ruby (1:3.2~ubuntu1) ... 261s Setting up ruby-coderay (1.1.3-8) ... 261s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 261s Setting up ruby-docile (1.1.5-2.1) ... 261s Setting up ruby-unicode-display-width (1.6.1-1) ... 261s Setting up pry (0.14.2-1) ... 261s Setting up ruby-diff-lcs (1.5.1-1) ... 261s Setting up ruby-whitequark-parser (3.1.3.0-1) ... 261s Setting up ruby-simplecov-html (0.12.3-2) ... 261s Setting up ruby-crack (0.4.4-4) ... 261s Setting up gem2deb-test-runner (2.2.2) ... 261s Setting up ruby-rubocop-ast (1.24.0-2) ... 261s Setting up ruby-simplecov (0.22.0-1) ... 261s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 261s Setting up rubocop (1.39.0+dfsg-1) ... 261s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 261s Setting up ruby-webmock (3.18.1-2) ... 261s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 261s Setting up autopkgtest-satdep (0) ... 261s Processing triggers for libc-bin (2.39-0ubuntu6) ... 261s Processing triggers for man-db (2.12.0-3build4) ... 265s (Reading database ... 87245 files and directories currently installed.) 265s Removing autopkgtest-satdep (0) ... 266s autopkgtest [03:04:35]: test gem2deb-test-runner: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1 266s autopkgtest [03:04:35]: test gem2deb-test-runner: [----------------------- 266s 266s ┌──────────────────────────────────────────────────────────────────────────────┐ 266s │ Checking Rubygems dependency resolution on ruby3.2 │ 266s └──────────────────────────────────────────────────────────────────────────────┘ 266s 266s RUBYLIB=. GEM_PATH= ruby3.2 -e gem\ \"rubocop\" 266s mv lib ./.gem2deb.lib 266s mv ./.gem2deb.lib lib 266s 266s ┌──────────────────────────────────────────────────────────────────────────────┐ 266s │ Run tests for ruby3.2 from debian/ruby-tests.rake │ 266s └──────────────────────────────────────────────────────────────────────────────┘ 266s 266s RUBYLIB=. GEM_PATH= ruby3.2 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake 266s mv lib ./.gem2deb.lib 266s /usr/bin/ruby3.2 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --exclude-pattern spec/rubocop/config_loader_spec.rb,spec/project_spec.rb,spec/rubocop/cli/options_spec.rb,spec/rubocop/cli/suggest_extensions_spec.rb,spec/rubocop/config_obsoletion_spec.rb,spec/rubocop/lockfile_spec.rb,spec/rubocop/server/rubocop_server_spec.rb,spec/rubocop/version_spec.rb,./spec/rubocop/cop/generator_spec.rb --format documentation 271s 271s Randomized with seed 50850 271s 271s RuboCop::Cop::Style::StaticClass 271s registers an offense when class has only class method 271s does not register an offense when class has macro-like method 271s registers an offense when class extends a module 271s registers an offense when class has assignments along with class methods 271s does not register an offense when class has a parent 271s does not register an offense when class has instance method 271s does not register an offense when class is empty 271s does not register an offense for modules 271s registers an offense when class has `class << self` with class methods 271s does not register an offense when class includes/prepends a module 271s does not register an offense when class has `class << self` with macro calls 271s 271s RuboCop::Cop::Lint::DuplicateRequire 271s does not register an offense when calling user-defined `require` method 271s registers and corrects an offense when duplicate `require_relative` is detected 271s registers and corrects an offense when duplicate requires are interleaved with some other code 271s does not register an offense when using single `require` 271s does not register an offense when same feature argument but different require method 271s registers and corrects an offense for duplicate non top-level requires 271s registers and corrects an offense when duplicate `require` is detected 271s registers and corrects an offense for multiple duplicate requires 271s registers and corrects an offense when duplicate `require` through `Kernel` is detected 271s does not register an offense when there are no duplicate `require`s 271s 271s RuboCop::Cop::InternalAffairs::NodeMatcherDirective 271s does not register an offense if the node matcher already has a directive 271s does not register an offense if the node matcher already has a directive 271s inserts a blank line between multiple multi-line pattern matchers 271s autocorrects with the right arguments if the pattern references a non-contiguous argument 271s does not register an offense if called with a dynamic method name 271s does not register an offense if called with a dynamic method name 271s registers an offense if the matcher has multiple directives 271s registers an offense if the matcher does not have a directive but has preceding comments 271s does not register an offense if the directive is in a comment block 271s registers an offense if the directive name does not match the actual name 271s registers an offense if the directive name does not match the actual name 271s registers an offense if the matcher does not have a directive and a method call is used for a pattern argument 271s retains indentation properly when correcting 271s inserts a blank line between multiple pattern matchers 271s registers an offense if the matcher does not have a directive but has preceding comments 271s does not register an offense if the directive is in a comment block 271s does not insert a blank line if one already exists 271s autocorrects with the right arguments if the pattern includes arguments 271s retains indentation properly when inserting 271s registers an offense if the matcher has multiple directives 271s registers an offense if the matcher does not have a directive 271s retains indentation properly when correcting 271s inserts a blank line between multiple pattern matchers 271s does not insert a blank line if one already exists 271s registers an offense if the matcher does not have a directive 271s autocorrects with the right arguments if the pattern references a non-contiguous argument 271s autocorrects with the right arguments if the pattern includes arguments 271s inserts a blank line between multiple multi-line pattern matchers 271s retains indentation properly when inserting 271s registers an offense if the matcher does not have a directive and a method call is used for a pattern argument 271s 271s RuboCop::Cop::Metrics::MethodLength 271s does not count commented lines by default 271s accepts empty methods 271s is not fooled by one-liner methods, syntax #2 271s does not count blank lines 271s accepts a method with multiline arguments and less than 5 lines of body 271s properly counts lines when method ends with block 271s accepts a method with less than 5 lines 271s is not fooled by one-liner methods, syntax #1 271s when method is a class method 271s registers an offense 271s when `CountAsOne` is not empty 271s folds array into one line 271s when using numbered parameter 271s when method is defined with `define_method` 271s registers an offense 271s when CountComments is enabled 271s also counts commented lines 271s when method is defined with `define_method` 271s registers an offense 271s when method is defined on a singleton class 271s registers an offense 271s when method is an instance method 271s registers an offense 271s when methods to allow are defined 271s AllowedMethods is enabled 271s still rejects other methods with more than 5 lines 271s accepts the foo method with more than 5 lines 271s AllowedPatterns is enabled 271s raises offense for firstname 271s accepts the user_name method 271s 271s RuboCop::Cop::Style::OptionalBooleanParameter 271s registers an offense when defining method with optional boolean arg 271s does not register an offense when defining method with optional non-boolean arg 271s does not register an offense when defining method without args 271s does not register an offense when defining method with keyword boolean arg 271s registers an offense when defining class method with optional boolean arg 271s registers an offense when defining method with multiple optional boolean args 271s registers an offense when defining method with optional boolean arg that has no space 271s when AllowedMethods is not empty 271s does not register an offense 271s 271s RuboCop::Cop::Layout::MultilineMethodCallIndentation 271s when EnforcedStyle is aligned 271s accepts correctly aligned methods in assignment 271s registers an offense and corrects proc call without a selector 271s accepts aligned methods in if condition 271s accepts indented and aligned methods in binary operation 271s registers an offense and corrects the emacs ruby-mode 1.1 indentation of an expression in an array 271s accepts aligned methods in assignment 271s doesn't crash on unaligned multiline lambdas 271s accepts aligned methods in operator assignment 271s accepts aligned methods in a begin..end block 271s registers an offense and corrects 3 spaces indentation of 2nd line 271s accepts correctly aligned methods in operands 271s accepts no extra indentation of third line 271s accepts indentation relative to first receiver 271s accepts any indentation of parameters to #[] 271s accepts aligned method in return 271s accepts aligned methods in constant assignment 271s registers an offense and corrects no indentation of second line 271s accepts alignment of method with assignment and operator-like method 271s registers an offense and corrects extra indentation of third line 271s accepts even indentation of consecutive lines in typical RSpec code 271s registers an offense and corrects one space indentation of 3rd line 271s registers an offense and corrects misaligned methods in if condition 271s accepts indented methods inside and outside a block 271s registers an offense and corrects misaligned methods in until condition 271s registers an offense and corrects extra indentation of 3rd line in typical RSpec code 271s accepts aligned methods in if + assignment 271s accepts indented methods in for body 271s accepts alignment inside a grouped expression 271s registers an offense and corrects one space indentation of 2nd line 271s accepts indented method when there is nothing to align with 271s registers an offense and corrects misaligned method in []= call 271s registers an offense and corrects misaligned methods in unless condition 271s does not check binary operations when string wrapped with + 271s accepts aligned method in assignment + block + assignment 271s registers an offense and corrects unaligned methods in assignment 271s accepts indented methods in LHS of []= assignment 271s accepts an expression where the first method spans multiple lines 271s does not check binary operations when string wrapped with backslash 271s registers an offense and corrects misaligned methods in local variable assignment 271s doesn't fail on unary operators 271s accepts indented methods in ordinary statement 271s registers an offense and corrects misaligned methods in while condition 271s for semantic alignment 271s accepts method being aligned with method in assignment 271s accepts aligned method even when an aref is in the chain 271s accepts key access to hash 271s accepts methods being aligned with method that is an argument in assignment 271s accepts method being aligned with method 271s doesn't fail on a chain of aref calls 271s accepts methods being aligned with method that is an argument 271s registers an offense and corrects unaligned methods 271s accepts aligned method with blocks in operation assignment 271s accepts aligned method even when an aref is first in the chain 271s registers an offense and corrects unaligned method in block body 271s accepts nested method calls 271s accepts 3 aligned methods 271s >= Ruby 2.7 271s accepts methods being aligned with method that is an argumentwhen using numbered parameter 271s when EnforcedStyle is indented 271s accepts indented methods in if body 271s accepts indented methods in until body 271s accepts indented methods in for body 271s registers an offense and corrects extra indentation of third line 271s accepts indented methods in ordinary statement 271s accepts double indentation of if condition 271s accepts special indentation of for expression 271s doesn't crash on unaligned multiline lambdas 271s accepts double indentation of until condition 271s accepts indented methods in LHS of []= assignment 271s accepts special indentation of return if condition 271s accepts double indentation of unless condition 271s accepts any indentation of method parameters 271s accepts double indentation of while condition 271s accepts even indentation of consecutive lines in typical RSpec code 271s accepts alignment of method with assignment and operator-like method 271s registers an offense and corrects wrong indentation of for expression 271s accepts indentation relative to first receiver 271s registers an offense and corrects aligned operators in assignment 271s accepts indentation of assignment to a with rhs on same line 271s registers an offense for a 2 space indentation of until condition 271s accepts indentation of assignment to obj.a[:key] with newline after = 271s registers an offense and corrects proc call without a selector 271s accepts indentation of assignment to obj.a with newline after = 271s registers an offense and corrects one space indentation of 2nd line 271s accepts indented methods in unless body 271s accepts no extra indentation of third line 271s registers an offense for a 2 space indentation of while condition 271s accepts indented methods in if condition 271s accepts normal indentation inside grouped expression 271s accepts indented methods inside and outside a block 271s accepts normal indentation of method parameters 271s accepts indentation of assignment to a with newline after = 271s doesn't fail on unary operators 271s registers an offense and corrects correct + unrecognized style 271s registers an offense and corrects no indentation of second line 271s accepts indented methods in while body 271s accepts alignment inside a grouped expression 271s registers an offense for a 2 space indentation of if condition 271s registers an offense for a 2 space indentation of unless condition 271s accepts any indentation of parameters to #[] 271s accepts indentation of assignment to a[:key] with newline after = 271s registers an offense and corrects aligned methods in if condition 271s registers an offense and corrects 1 space indentation of 3rd line 271s accepts special indentation of return unless condition 271s registers an offense and corrects extra indentation of 3rd line in typical RSpec code 271s accepts indentation of assignment to a[:key] with rhs on same line 271s accepts an expression where the first method spans multiple lines 271s registers an offense and corrects 3 spaces indentation of 2nd line 271s accepts correctly indented methods in operation 271s registers an offense and corrects the emacs ruby-mode 1.1 indentation of an expression in an array 271s registers an offense and corrects 0 space indentation inside square brackets 271s when indentation width is overridden for this cop 271s accepts indentation of if condition which is offset by a single normal indentation step 271s registers an offense for a 4 space indentation of until condition 271s registers an offense for a 4 space indentation of while condition 271s registers an offense for a 4 space indentation of unless condition 271s accepts indented methods in unless body 271s accepts indented methods in if condition 271s accepts indentation of unless condition which is offset by a single normal indentation step 271s accepts indented methods in while body 271s accepts indentation of while condition which is offset by a single normal indentation step 271s accepts indented methods in until body 271s accepts indented methods in if body 271s accepts indentation of until condition which is offset by a single normal indentation step 271s accepts correctly indented methods in operation 271s accepts indented methods 271s registers an offense for a 4 space indentation of if condition 271s accepts indentation of assignment 271s for possible semantic alignment 271s accepts indented methods 271s when EnforcedStyle is indented_relative_to_receiver 271s accepts indented methods in LHS of []= assignment 271s registers an offense and corrects extra indentation of 3rd line 271s accepts indented methods in for body 271s accepts no extra indentation of third line 271s accepts alignment of method with assignment and operator-like method 271s does not register an offense when multiline method chain has expected indent width and the method is preceded by splat 271s registers an offense and corrects 3 spaces indentation of second line 271s registers an offense and corrects extra indentation of 3rd line in typical RSpec code 271s accepts indented methods inside and outside a block 271s registers an offense and corrects one space indentation of 2nd line 271s doesn't fail on unary operators 271s accepts an expression where the first method spans multiple lines 271s accepts correctly indented methods in operation 271s doesn't crash on unaligned multiline lambdas 271s registers an offense and corrects no indentation of second line 271s registers an offense and corrects proc call without a selector 271s does not register an offense when multiline method chain has expected indent width and the method is preceded by double splat 271s accepts indentation relative to first receiver 271s registers an offense and corrects the emacs ruby-mode 1.1 indentation of an expression in an array 271s accepts indented methods in ordinary statement 271s accepts alignment inside a grouped expression 271s accepts any indentation of parameters to #[] 271s accepts indentation of consecutive lines in typical RSpec code 271s for possible semantic alignment 271s accepts indented methods 271s 271s RuboCop::Cop::Style::ArgumentsForwarding 271s TargetRubyVersion <= 2.6 271s does not register an offense when using restarg with block arg 271s TargetRubyVersion >= 2.7 271s does not register an offense when the restarg is overwritten 271s does not register an offense when using the restarg outside forwarding method arguments 271s registers an offense when passing restarg and block arg in defs 271s does not register an offense when different arguments are used 271s does not register an offense when the kwarg is overwritten 271s does not register an offense when using arguments forwarding 271s does not register an offense when referencing the restarg outside forwarding method arguments 271s registers an offense when delegating 271s registers an offense when using restarg, kwargs and block arg 271s does not register an offense when body of method definition is empty 271s does not register an offense when the block arg is overwritten 271s registers an offense when using restarg and block arg 271s does not register an offense when different argument names are used 271s registers an offense when the parentheses of arguments are omitted 271s does not register an offense when assigning the restarg outside forwarding method arguments 271s registers an offense when forwarding to a method in block 271s AllowOnlyRestArgument: true 271s does not register an offense when using only kwrest arg 271s does not register an offense when using only rest arg 271s AllowOnlyRestArgument: false 271s registers an offense when using only kwrest arg 271s registers an offense when using only rest arg 271s TargetRubyVersion >= 3.1 272s registers an offense when using restarg, kwargs, and anonymous block arg 272s registers an offense when using restarg and anonymous block arg 272s 272s RuboCop::CLI --autocorrect 272s corrects code with indentation problems 272s can correct two problems with blocks 272s does not crash when using Lint/SafeNavigationWithEmpty and Layout/EmptyLinesAroundBlockBody 272s does not correct ExtraSpacing in a hash that would be changed back 273s avoids adding extra spaces when both `Style/Semicolon` and `Style/SingleLineMethods`both apply 273s breaks line at the beginning of trailing class/module body without removing a semicolon in the bodywhen using `Style/TrailingBodyOnClass` and `Style/TrailingBodyOnModule` 273s corrects when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `Layout/HashAlignment` and `Layout/FirstHashElementIndentation` 273s corrects `Style/RedundantBegin` with `Style/MultilineMemoization` 273s corrects when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `EnforcedStyle: consistent` of `Layout/FirstArgumentIndentation` 273s corrects IndentationWidth, RedundantBegin, and RescueEnsureAlignment offenses 273s can correct single line methods 274s corrects `Lint/Lambda` and `Lint/UnusedBlockArgument` offenses 274s corrects Layout/RedundantLineBreak and Layout/SingleLineBlockChain offenses 274s does not crash `Layout/ArgumentAlignment` and offenses and accepts `Layout/FirstArgumentIndentation` when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `EnforcedStyle: special_for_inner_method_call_in_parentheses` of `Layout/FirstArgumentIndentation` 274s corrects `Style/IfUnlessModifier` with `Style/SoleNestedConditional` 274s corrects when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `Layout/HashAlignment` 275s corrects IndentationWidth and IndentationConsistency offenses 275s corrects InitialIndentation offenses 275s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `EnforcedStyle: conditionals` of `Style/AndOr` 275s corrects Style/BlockDelimiters offenses when specifyingLayout/SpaceInsideBlockBraces together 275s corrects IndentationWidth and IndentationConsistency offenseswhen using `EnforcedStyle: outdent` and `EnforcedStyle: indented_internal_methods` 275s indents the elements of a hash in hash based on the parent hash key when the parent hash is a method argument and has following other sibling pairs 275s properly corrects when `Style/SoleNestedConditional` and one of `Style/NegatedIf` or `Style/NegatedUnless` detect offenses 276s can correct IndentHash offenses with separator style 276s corrects `Naming/RescuedExceptionsVariableName` and `, `Style/RescueStandardError`and `Lint/OverwriteByRescue` offenses 276s does not correct Style/IfUnlessModifier offense disabled by a comment directive and does not fire Lint/RedundantCopDisableDirective offense even though that directive would make the modifier form too long 276s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `Style/NestedParenthesizedCalls` 276s corrects only IndentationWidth without crashing 276s corrects SymbolProc and SpaceBeforeBlockBraces offenses 277s corrects properly when both `Style/MapToHash` and `Style/HashTransformKeys`or `Style/HashTransformValues` registers 277s corrects `EnforcedStyle: hash_rockets` of `Style/HashSyntax` with `Layout/HashAlignment` 277s can correct TrailingEmptyLines and TrailingWhitespace offenses 277s honors Exclude settings in individual cops 277s corrects Style/BlockDelimiters offenses when specifyingLayout/SpaceBeforeBlockBraces with `EnforcedStyle: no_space` together 277s corrects `Style/TernaryParentheses` offenses and accepts `Lint/ParenthesesAsGroupedExpression` 277s can correct WordArray and SpaceAfterComma offenses 277s can correct two empty lines at end of class body 278s plays nicely with default cops in complex ExtraSpacing scenarios 278s registers an offense and corrects when using `Layout/ArgumentAlignment`, `Layout/FirstArgumentIndentation`, and `Layout/FirstMethodArgumentLineBreak` and specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `EnforcedStyle: consistent` of `Layout/FirstArgumentIndentation` 278s can correct MethodDefParentheses and other offense 278s corrects when specifying `EnforcedStyle: with_first_argument` of `Layout/ArgumentAlignment` and `EnforcedHashRocketStyle: separator` of `Layout/HashAlignment` 278s says [Correctable] if correction is unsafe 278s does not say [Corrected] if correction is not possible 279s does not hang SpaceAfterPunctuation and SpaceInsideParens 279s corrects HeredocArgumentClosingParenthesis offenses and ignores TrailingCommaInArguments offense 279s corrects `EnforcedStyle: line_count_based` of `Style/BlockDelimiters` with `Style/CommentedKeyword` and `Layout/BlockEndNewline` 279s corrects LineEndConcatenation offenses leaving the RedundantInterpolation offense unchanged 279s properly autocorrects when `Style/TernaryParentheses` requires parentheses that `Style/RedundantParentheses` would otherwise remove 279s corrects RedundantBegin offenses and fixes indentation etc 279s can correct a problems and the problem it creates 280s can change block comments and indent them 280s corrects TrailingCommaIn(Array|Hash)Literal and Multiline(Array|Hash)BraceLayout offenses 280s corrects Lint/ParenthesesAsGroupedExpression and offenses and accepts Style/RedundantParentheses 280s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `Style/RescueModifier` 280s can be disabled for any cop in configuration 280s corrects IndentationWidth and IndentationConsistency offenseswithout correcting `Style/TrailingBodyOnClass` 280s can correct HashSyntax and SpaceAroundOperators offenses 281s can correct two problems in the same place 281s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `Lint/AmbiguousOperator` 281s corrects Tab and IndentationConsistency offenses 281s corrects Style/InverseMethods and Style/Not offenses 281s corrects Style/Next and Style/SafeNavigation offenses 281s can correct SpaceAfterComma and HashSyntax offenses 281s consistently quotes symbol keys in a hash using `Lint/SymbolConversion` with `EnforcedStyle: consistent` and `Style/QuotedSymbols` 281s can correct HashSyntax when --only is used 282s corrects RedundantCopDisableDirective offenses 282s corrects when specifying `EnforcedStyle: with_first_argument` of `Layout/ArgumentAlignment` and `EnforcedColonStyle: separator` of `Layout/HashAlignment` 282s corrects when specifying `EnforcedStyle: with_first_argument` of `Layout/ArgumentAlignment` and `EnforcedColonStyle: separator` of `Layout/HashAlignment` (`EnforcedColonStyle` is array) 282s does not crash Lint/SafeNavigationWithEmpty and offenses and accepts Style/SafeNavigation when checking `foo&.empty?` in a conditional 282s can correct MethodCallWithoutArgsParentheses and EmptyLiteral offenses 283s handles different SpaceInsideBlockBraces and SpaceInsideHashLiteralBraces 283s can correct indentation and another thing 283s does not crash `Layout/ArgumentAlignment` and offenses and accepts `Layout/FirstArgumentIndentation` when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `EnforcedStyle: special_for_inner_method_call` of `Layout/FirstArgumentIndentation` 283s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `Layout/SpaceBeforeFirstArg` 283s does not hang SpaceAfterPunctuation and SpaceInsideArrayLiteralBrackets 283s corrects `Style/SoleNestedConditional` with `Style/InverseMethods` and `Style/IfUnlessModifier` 283s corrects `Lint/UnusedMethodArgument` with `Style/ExplicitBlockArgument` 283s corrects `Style/InverseMethods` offenses when specifying `IncludeSemanticChanges: false` of `Style/NonNilCheck` and `EnforcedStyle: comparison` of `Style/NilComparison` 283s corrects indentation for a begin/rescue/else/ensure/end block properly 284s corrects `Layout/SpaceAroundOperators` and `Layout/ExtraSpacing` offenses when using `ForceEqualSignAlignment: true` 284s corrects `Layout/DotPosition` and `Style/RedundantSelf` offenses 284s does not crash `Layout/ArgumentAlignment` and offenses and accepts `Layout/FirstArgumentIndentation` when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `EnforcedStyle: consistent_relative_to_receiver` of `Layout/FirstArgumentIndentation` 284s corrects `Layout/DotPosition` and `Layout/SingleLineBlockChain` offenses 284s does not correct SpaceAroundOperators in a hash that would be changed back 285s can correct empty line inside special form of nested modules 285s does not crash when using `Layout/CaseIndentation` and `Layout/ElseAlignment` 285s caching 285s with an offense in the cache 285s corrects offenses 285s with no offenses in the cache 285s doesn't correct offenses 285s space_inside_bracket cops 285s when array style is compact & reference style is no_space 285s corrects SpaceInsideArrayLiteralBrackets and SpaceInsideReferenceBrackets 285s when array style is compact & reference style is space 285s corrects SpaceInsideArrayLiteralBrackets and SpaceInsideReferenceBrackets 285s when array style is no_space & reference style is space 285s corrects SpaceInsideArrayLiteralBrackets and SpaceInsideReferenceBrackets 285s when array style is space & reference style is no space 286s corrects SpaceInsideArrayLiteralBrackets and SpaceInsideReferenceBrackets 286s trailing comma cops 286s when the style is `comma` 286s corrects TrailingCommaInLiteral and TrailingCommaInArguments without producing a double comma 286s when the style is `consistent_comma` 286s corrects TrailingCommaInLiteral and TrailingCommaInArguments without producing a double comma 286s when BlockDelimiters has semantic style 286s corrects SpaceBeforeBlockBraces, SpaceInsideBlockBraces offenses 286s when BlockDelimiters has braces_for_chaining style 286s corrects SpaceBeforeBlockBraces, SpaceInsideBlockBraces offenses 286s when BlockDelimiters has line_count_based style 286s corrects SpaceBeforeBlockBraces, SpaceInsideBlockBraces offenses 286s 286s RuboCop::Cop::Style::BeginBlock 286s reports an offense for a BEGIN block 286s 286s RuboCop::Cop::InternalAffairs::LocationLineEqualityComparison 286s registers an offense and corrects when using `source_range.first_line` 286s registers an offense and corrects when using `first_line` 286s does not register an offense when using `same_line?` 286s registers and corrects an offense when comparing `#loc.line` with LHS and RHS 286s registers an offense and corrects when using `loc.first_line` 286s registers and corrects an offense when comparing `#loc.source_range` with LHS and RHS 286s 286s RuboCop::Cop::Bundler::DuplicatedGem 286s when investigating Gemfiles 286s does not register an offense when gem is duplicated within `case` statement 286s registers an offense when gem from default group is conditionally duplicated 286s does not register an offense when gem is duplicated within `if-elsif` statement 286s does not register an offense when gem is duplicated within `if-else` statement 286s and the file is empty 286s does not register any offenses 286s and a gem is duplicated in default group 286s registers an offense 286s and no duplicate gems are present 286s does not register any offenses 286s and a duplicated gem is in a git/path/group/platforms block 286s registers an offense 286s when investigating Ruby files 286s does not register any offenses 286s 286s RuboCop::Cop::Style::RedundantFileExtensionInRequire 286s registers an offense and corrects when requiring filename ending with `.rb` 286s does not register an offense when requiring filename ending with `.so` 286s does not register an offense when requiring filename without an extension 286s does not register an offense when requiring variable as a filename 286s 286s RuboCop::Cop::Naming::InclusiveLanguage 286s strings 286s registers an offense for a multiline string 286s does not register offenses and not raise `ArgumentError` for invalid byte sequence in UTF-8 286s registers an offense for an interpolated string 286s registers an offense in a heredoc 286s when CheckStrings config is false 286s does not register offenses for strings 286s constants 286s when CheckConstants config is true 286s registers offenses for constants 286s when CheckConstants config is false 286s does not register offenses for constants 286s comments 286s registers an offense in a block comment 286s registers an offense in a single line comment 286s when CheckComments is false 286s does not register an offense 286s allowed use 286s does not register an offense for an allowed use 286s offense after an allowed use 286s registers an offense at the correct location 286s filepath 286s multiple offenses in filename 286s registers an offense with all problematic words 286s CheckFilepaths is false 286s does not register an offense 286s one offense in filename 287s registers an offense 287s offense in directory name 287s registers an offense for a director 287s flagged term matching 287s registers an offense when using a flagged term 287s registers an offense for a partial word match 287s registers an offense when using a flagged term with mixed case 287s multiple offenses on a line 287s registers an offense for each word 287s disable default flagged term 287s ignores flagged terms that are set to nil 287s WholeWord: true 287s only flags when the term is a whole word 287s regex 287s registers an offense for a flagged term matched with a regexp 287s identifiers 287s when CheckIdentifiers config is false 287s does not register offenses for identifiers 287s when CheckIdentifiers config is true 287s registers an offense 287s suggestions 287s flagged term with one suggestion 287s includes the suggestion in the offense message 287s flagged term with two suggestions 287s includes both suggestions in the offense message 287s flagged term with three or more suggestions 287s includes all suggestions in the message 287s variables 287s when CheckVariables config is true 287s registers offenses for global variables 287s registers offenses for class variables 287s registers offenses for instance variables 287s when CheckVariables config is false 287s does not register offenses for variables 287s symbols 287s when CheckSymbols is false 287s does not register an offense 287s when CheckSymbols is true 287s registers an offense 287s 287s RuboCop::Cop::Style::MethodDefParentheses 287s require_no_parentheses 287s behaves like no parentheses 287s reports an offense for def with no args and parens 287s accepts a def with parameters but no parens 287s auto-removes the parens for defs 287s reports an offense for def with parameters with parens 287s accepts def with no args and no parens 287s requires parens for anonymous block forwarding 287s requires parens for forwarding 287s reports an offense for class def with parameters with parens 287s reports an offense for opposite + correct 287s accepts a class def with parameters with parens 287s behaves like endless methods 287s endless methods 287s accepts parens with `forward-arg` 287s accepts parens without args 287s accepts parens for method calls inside an endless method 287s accepts parens with args 287s require_parentheses 287s auto-adds required parens for a defs 287s reports an offense for class def with parameters but no parens 287s accepts def with no args and no parens 287s reports an offense for correct + opposite 287s auto-adds required parens to argument lists on multiple lines 287s reports an offense for def with parameters but no parens 287s auto-adds required parens for a defs after a passing method 287s behaves like endless methods 287s endless methods 287s accepts parens without args 287s accepts parens with args 287s accepts parens for method calls inside an endless method 287s accepts parens with `forward-arg` 287s require_no_parentheses_except_multiline 287s when args span multiple lines 287s auto-adds required parens to argument lists on multiple lines 287s reports an offense for correct + opposite 287s behaves like endless methods 287s endless methods 287s accepts parens with `forward-arg` 287s accepts parens for method calls inside an endless method 287s accepts parens with args 287s accepts parens without args 287s when args are all on a single line 287s behaves like no parentheses 287s requires parens for anonymous block forwarding 287s accepts a class def with parameters with parens 287s reports an offense for def with no args and parens 287s accepts a def with parameters but no parens 287s accepts def with no args and no parens 287s auto-removes the parens for defs 287s requires parens for forwarding 287s reports an offense for opposite + correct 287s reports an offense for def with parameters with parens 287s reports an offense for class def with parameters with parens 287s 287s RuboCop::Cop::Layout::SpaceInsidePercentLiteralDelimiters 287s accepts execute-string literals 287s accepts other percent literals 287s for x type and ["[", "]"] delimiters 287s accepts spaces between entries 287s accepts newlines and additional following alignment spaces 287s accepts literals with escaped spaces 287s registers an offense for spaces after first delimiter 287s registers an offense for literals with escaped and other spaces 287s accepts literals without additional spaces 287s accepts multi-line literals 287s registers an offense for spaces before final delimiter 287s accepts multi-line literals within a method 287s registers an offense for unnecessary spaces 287s with newline in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s for i type and ["(", ")"] delimiters 287s registers an offense for literals with escaped and other spaces 287s accepts multi-line literals 287s accepts multi-line literals within a method 287s registers an offense for spaces after first delimiter 287s accepts literals without additional spaces 287s accepts spaces between entries 287s registers an offense for unnecessary spaces 287s accepts newlines and additional following alignment spaces 287s registers an offense for spaces before final delimiter 287s accepts literals with escaped spaces 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s for w type and ["[", "]"] delimiters 287s accepts multi-line literals 287s accepts literals with escaped spaces 287s accepts literals without additional spaces 287s registers an offense for unnecessary spaces 287s accepts newlines and additional following alignment spaces 287s registers an offense for spaces after first delimiter 287s accepts multi-line literals within a method 287s accepts spaces between entries 287s registers an offense for spaces before final delimiter 287s registers an offense for literals with escaped and other spaces 287s with newline in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s for W type and ["[", "]"] delimiters 287s registers an offense for unnecessary spaces 287s accepts multi-line literals 287s accepts literals with escaped spaces 287s registers an offense for literals with escaped and other spaces 287s registers an offense for spaces after first delimiter 287s accepts literals without additional spaces 287s registers an offense for spaces before final delimiter 287s accepts newlines and additional following alignment spaces 287s accepts multi-line literals within a method 287s accepts spaces between entries 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s for x type and ["(", ")"] delimiters 287s registers an offense for spaces after first delimiter 287s registers an offense for unnecessary spaces 287s accepts newlines and additional following alignment spaces 287s accepts multi-line literals 287s accepts literals without additional spaces 287s accepts literals with escaped spaces 287s accepts multi-line literals within a method 287s registers an offense for spaces before final delimiter 287s accepts spaces between entries 287s registers an offense for literals with escaped and other spaces 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s for W type and ["(", ")"] delimiters 287s accepts literals with escaped spaces 287s accepts newlines and additional following alignment spaces 287s accepts multi-line literals 287s accepts literals without additional spaces 287s registers an offense for literals with escaped and other spaces 287s registers an offense for spaces after first delimiter 287s accepts spaces between entries 287s accepts multi-line literals within a method 287s registers an offense for spaces before final delimiter 287s registers an offense for unnecessary spaces 287s with newline in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s for I type and ["!", "!"] delimiters 287s accepts literals without additional spaces 287s registers an offense for literals with escaped and other spaces 287s registers an offense for spaces after first delimiter 287s accepts multi-line literals within a method 287s accepts spaces between entries 287s registers an offense for spaces before final delimiter 287s registers an offense for unnecessary spaces 287s accepts literals with escaped spaces 287s accepts newlines and additional following alignment spaces 287s accepts multi-line literals 287s with space in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s for w type and ["!", "!"] delimiters 287s accepts multi-line literals within a method 287s accepts newlines and additional following alignment spaces 287s accepts spaces between entries 287s registers an offense for spaces before final delimiter 287s registers an offense for spaces after first delimiter 287s registers an offense for literals with escaped and other spaces 287s accepts literals without additional spaces 287s accepts multi-line literals 287s accepts literals with escaped spaces 287s registers an offense for unnecessary spaces 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s for I type and ["{", "}"] delimiters 287s accepts literals with escaped spaces 287s accepts spaces between entries 287s registers an offense for spaces after first delimiter 287s accepts newlines and additional following alignment spaces 287s accepts multi-line literals within a method 287s registers an offense for literals with escaped and other spaces 287s registers an offense for spaces before final delimiter 287s accepts literals without additional spaces 287s accepts multi-line literals 287s registers an offense for unnecessary spaces 287s with newline in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s for W type and ["!", "!"] delimiters 287s registers an offense for literals with escaped and other spaces 287s registers an offense for spaces before final delimiter 287s registers an offense for spaces after first delimiter 287s accepts spaces between entries 287s accepts multi-line literals 287s accepts literals without additional spaces 287s accepts literals with escaped spaces 287s accepts newlines and additional following alignment spaces 287s accepts multi-line literals within a method 287s registers an offense for unnecessary spaces 287s with newline in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s for I type and ["(", ")"] delimiters 287s accepts multi-line literals within a method 287s registers an offense for spaces before final delimiter 287s accepts literals without additional spaces 287s registers an offense for spaces after first delimiter 287s accepts newlines and additional following alignment spaces 287s accepts spaces between entries 287s accepts literals with escaped spaces 287s registers an offense for unnecessary spaces 287s registers an offense for literals with escaped and other spaces 287s accepts multi-line literals 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s for w type and ["{", "}"] delimiters 287s accepts spaces between entries 287s registers an offense for spaces before final delimiter 287s registers an offense for unnecessary spaces 287s accepts literals without additional spaces 287s accepts literals with escaped spaces 287s accepts multi-line literals within a method 287s accepts multi-line literals 287s registers an offense for spaces after first delimiter 287s registers an offense for literals with escaped and other spaces 287s accepts newlines and additional following alignment spaces 287s with space in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s for w type and ["(", ")"] delimiters 287s accepts literals with escaped spaces 287s registers an offense for literals with escaped and other spaces 287s accepts literals without additional spaces 287s registers an offense for spaces after first delimiter 287s accepts multi-line literals 287s registers an offense for unnecessary spaces 287s registers an offense for spaces before final delimiter 287s accepts spaces between entries 287s accepts multi-line literals within a method 287s accepts newlines and additional following alignment spaces 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s for i type and ["[", "]"] delimiters 287s accepts multi-line literals 287s accepts spaces between entries 287s accepts literals with escaped spaces 287s registers an offense for spaces before final delimiter 287s accepts multi-line literals within a method 287s registers an offense for literals with escaped and other spaces 287s registers an offense for spaces after first delimiter 287s accepts newlines and additional following alignment spaces 287s accepts literals without additional spaces 287s registers an offense for unnecessary spaces 287s with space in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s for I type and ["[", "]"] delimiters 287s registers an offense for spaces after first delimiter 287s accepts multi-line literals within a method 287s accepts newlines and additional following alignment spaces 287s accepts literals with escaped spaces 287s accepts literals without additional spaces 287s registers an offense for unnecessary spaces 287s registers an offense for literals with escaped and other spaces 287s registers an offense for spaces before final delimiter 287s accepts multi-line literals 287s accepts spaces between entries 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s for W type and ["{", "}"] delimiters 287s registers an offense for literals with escaped and other spaces 287s accepts multi-line literals 287s accepts literals without additional spaces 287s registers an offense for unnecessary spaces 287s registers an offense for spaces after first delimiter 287s accepts multi-line literals within a method 287s registers an offense for spaces before final delimiter 287s accepts spaces between entries 287s accepts literals with escaped spaces 287s accepts newlines and additional following alignment spaces 287s with space in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s for x type and ["{", "}"] delimiters 287s registers an offense for spaces before final delimiter 287s accepts newlines and additional following alignment spaces 287s registers an offense for literals with escaped and other spaces 287s accepts literals without additional spaces 287s accepts multi-line literals within a method 287s accepts literals with escaped spaces 287s accepts spaces between entries 287s accepts multi-line literals 287s registers an offense for unnecessary spaces 287s registers an offense for spaces after first delimiter 287s with space in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s for i type and ["{", "}"] delimiters 287s registers an offense for spaces before final delimiter 287s accepts literals with escaped spaces 287s accepts newlines and additional following alignment spaces 287s accepts spaces between entries 287s accepts multi-line literals 287s accepts literals without additional spaces 287s registers an offense for literals with escaped and other spaces 287s registers an offense for spaces after first delimiter 287s registers an offense for unnecessary spaces 287s accepts multi-line literals within a method 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s for x type and ["!", "!"] delimiters 287s accepts multi-line literals 287s registers an offense for unnecessary spaces 287s registers an offense for spaces before final delimiter 287s registers an offense for spaces after first delimiter 287s accepts literals without additional spaces 287s accepts newlines and additional following alignment spaces 287s registers an offense for literals with escaped and other spaces 287s accepts spaces between entries 287s accepts literals with escaped spaces 287s accepts multi-line literals within a method 287s with newline in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s with spaces in blank percent literals 287s registers and corrects an offense 287s for i type and ["!", "!"] delimiters 287s accepts multi-line literals within a method 287s registers an offense for literals with escaped and other spaces 287s accepts spaces between entries 287s accepts multi-line literals 287s accepts literals with escaped spaces 287s registers an offense for spaces before final delimiter 287s accepts literals without additional spaces 287s registers an offense for unnecessary spaces 287s registers an offense for spaces after first delimiter 287s accepts newlines and additional following alignment spaces 287s with spaces in blank percent literals 287s registers and corrects an offense 287s with newline in blank percent literals 287s registers and corrects an offense 287s with space in blank percent literals 287s registers and corrects an offense 287s 287s RuboCop::Cop::Style::BlockComments 287s autocorrects a block comment into a regular comment 287s autocorrects a block comment into a regular comment (without trailingnewline) 287s autocorrects an empty block comment by removing it 287s accepts regular comments 287s registers an offense for block comments 288s 288s RuboCop::TargetRuby 288s when TargetRubyVersion is set 288s does not read Gemfile.lock or gems.locked 288s uses TargetRubyVersion 288s does not read .ruby-version 288s when TargetRubyVersion is not set 288s when .ruby-version is in a parent directory 288s reads it to determine the target ruby version 288s when .ruby-version is present 288s does not read .tool-versions, Gemfile.lock or gems.locked 288s when .ruby-version contains a Rbx version 288s uses the default target ruby version 288s when .ruby-version contains a version prefixed by "ruby-" 288s correctly determines the target ruby version 288s when the MRI version contains multiple digits 288s reads it to determine the target ruby version 288s when .ruby-version contains "system" version 288s uses the default target ruby version 288s when .ruby-version contains an MRI version 288s reads it to determine the target ruby version 288s when .ruby-version contains a JRuby version 288s uses the default target ruby version 288s when .ruby-version is not present 288s and gems.locked exists 288s uses the default Ruby when jruby is in gems.locked 288s uses the default Ruby when rbx is in gems.locked 288s uses MRI Ruby version when it is present in gems.locked 288s uses the default Ruby when Ruby is not in gems.locked 288s uses MRI Ruby version when it has multiple digits 288s when bundler lock files are not present 288s uses the default target ruby version 288s and Gemfile.lock exists 288s uses the default Ruby when jruby is in Gemfile.lock 288s uses the default Ruby when rbx is in Gemfile.lock 288s uses MRI Ruby version when it has multiple digits 288s uses MRI Ruby version when it is present in Gemfile.lock 288s uses the default Ruby when Ruby is not in Gemfile.lock 288s gemspec file 288s when file contains `required_ruby_version` as an array 288s sets target_ruby from required_ruby_version with many requirements 288s sets target_ruby to the minimal version satisfying the requirements 288s when file contains `required_ruby_version` as a string 288s sets target_ruby from exclusive range 288s sets target_ruby from approximate version 288s sets target_ruby from inclusive range 288s when file contains `required_ruby_version` as a requirement 288s sets target_ruby from required_ruby_version from inclusive requirement range 288s sets first known ruby version that satisfies requirement 288s when file does not contain `required_ruby_version` 288s sets default target_ruby 288s when .ruby-version is not in a parent directory 288s when gems.locked is in a parent directory 288s does 288s when Gemfile.lock is in a parent directory 288s does 288s when .tool-versions is present 288s when .tool-versions contains a ruby version 288s does not read Gemfile.lock, gems.locked 288s reads it to determine the target ruby version 288s when .tool-versions does not contain a ruby version 288s uses the default ruby version 288s 288s RuboCop::Cop::Lint::NumberedParameterAssignment 288s registers an offense when using `_0` lvar 288s does not register an offense when using non numbered parameter 288s registers an offense when using `_10` lvar 288s does not register an offense when index assignment 288s when Ruby 2.7 or lower 288s registers an offense when using `_6` numbered parameter 288s registers an offense when using `_1` numbered parameter 288s registers an offense when using `_9` numbered parameter 288s registers an offense when using `_7` numbered parameter 288s registers an offense when using `_8` numbered parameter 288s registers an offense when using `_5` numbered parameter 288s registers an offense when using `_3` numbered parameter 288s registers an offense when using `_4` numbered parameter 288s registers an offense when using `_2` numbered parameter 288s 288s RuboCop::Cop::Style::InverseMethods 288s registers an offense for !foo.none? 288s allows comparing camel case constants on the left 288s registers an offense for !(foo =~ bar) 288s registers an offense for not (foo == bar) 288s registers an offense for !foo.any? 288s registers an offense for calling !.none? with a block 288s allows an inverse method when double negation is used 288s allows an inverse method with a block when double negation is used 288s registers an offense for !foo.blank? 288s registers an offense for not (foo =~ bar) 288s registers an offense for not (foo != bar) 288s registers an offense for not (foo > bar) 288s registers an offense for !foo.include? 288s registers an offense for !foo.present? 288s registers an offense for !(foo > bar) 288s registers an offense for !foo.even? 288s allows a method call without a not 288s registers an offense for !(foo == bar) 288s registers an offense for comparing snake case constants on the right 288s registers an offense for !foo.odd? 288s registers an offense for comparing snake case constants on the left 288s registers an offense for calling !.none? with a symbol proc 288s registers an offense for !(foo != bar) 288s registers an offense for not (foo < bar) 288s allows an inverse method in a block with next 288s registers an offense for !(foo < bar) 288s allows comparing camel case constants on the right 288s registers an offense for not (foo !~ bar) 288s registers an offense for calling !.any? inside parens 288s registers an offense for !foo.exclude? 288s registers an offense for !(foo !~ bar) 288s behaves like all variable types 288s registers an offense for calling !FOO.none? 288s registers an offense for calling not FOO.none? 288s behaves like all variable types 288s registers an offense for calling not foo.none? 288s registers an offense for calling !foo.none? 288s inverse blocks 288s corrects an inverted method call when using `BasicObject#!` 288s corrects an inverted do end method call 288s corrects an inverted method call 288s registers an offense for foo.reject! { |e| !e } 288s corrects an inverted method call 288s corrects an inverted method call when using `BasicObject#!` 288s corrects an inverted method call when using `BasicObject#!` 288s corrects a complex inverted method call 288s corrects a complex inverted method call 288s registers a single offense for nested inverse method calls 288s registers an offense for an inverted equality block 288s corrects an inverted method call when using `BasicObject#!` with spaces before the method call 288s corrects an inverted do end method call 288s registers a single offense for nested inverse method calls 288s registers an offense for foo.reject { |e| !e } 288s corrects a complex inverted method call 288s registers an offense for a multiline method call where the last method is inverted 288s registers an offense for a multiline inverted equality block 288s corrects an inverted do end method call 288s registers an offense for an inverted equality block 288s registers a single offense for nested inverse method calls 288s corrects an inverted method call when using `BasicObject#!` with spaces before the method call 288s corrects a complex inverted method call 288s corrects an inverted method call when using `BasicObject#!` with spaces before the method call 288s registers an offense for a multiline inverted equality block 288s registers an offense for foo.select { |e| !e } 288s registers an offense for a multiline method call where the last method is inverted 288s registers an offense for a multiline inverted equality block 288s registers a single offense for nested inverse method calls 288s corrects an inverted method call when using `BasicObject#!` 288s registers an offense for a multiline method call where the last method is inverted 288s corrects an inverted do end method call 288s registers an offense for foo.select! { |e| !e } 288s corrects an inverted method call when using `BasicObject#!` with spaces before the method call 288s corrects an inverted method call 288s corrects an inverted method call 288s registers an offense for an inverted equality block 288s registers an offense for a multiline inverted equality block 288s registers an offense for a multiline method call where the last method is inverted 288s registers an offense for an inverted equality block 288s behaves like all variable types 288s registers an offense for calling !$foo.none? 288s registers an offense for calling not $foo.none? 288s behaves like all variable types 288s registers an offense for calling not foo["bar"].none? 288s registers an offense for calling !foo["bar"].none? 288s behaves like all variable types 288s registers an offense for calling !foo.bar.none? 288s registers an offense for calling not foo.bar.none? 288s behaves like all variable types 288s registers an offense for calling not FOO::BAR.none? 288s registers an offense for calling !FOO::BAR.none? 288s behaves like all variable types 288s registers an offense for calling not @foo.none? 288s registers an offense for calling !@foo.none? 288s behaves like all variable types 288s registers an offense for calling not @@foo.none? 288s registers an offense for calling !@@foo.none? 288s Ruby 2.7 288s registers an offense for calling !.none? with a numblock 288s 288s RuboCop::Cop::Lint::ReturnInVoidContext 288s with a setter method containing a return with a value 288s registers an offense 288s with an initialize method containing a return without a value 288s accepts 288s with an initialize method containing a return with a value 288s registers an offense 288s with a class method called initialize containing a return 288s accepts 288s when return is in top scope 288s accepts 288s with a non initialize method containing a return 288s accepts 288s with a setter method containing a return without a value 288s accepts 288s 288s RuboCop::Cop::Layout::SpaceAroundMethodCallOperator 288s does not register an offense when no method call operator 288s does not register an offense when using `__ENCODING__` 288s dot operator 288s registers an offense and corrects when space after last method call operator 288s does not register an offense when no space around any `.` operators 288s registers an offense and corrects when space after method call 288s registers an offense and corrects when space around intermediate method call operator 288s does not register an offense when no space around method call 288s registers an offense and corrects when spaces after `Proc#call` shorthand call 288s registers an offense and corrects when spaces after method call 288s registers an offense and corrects when space around multiple method call operator 288s registers an offense and corrects when space before method call 288s registers an offense and corrects when spaces before method call 288s registers an offense and corrects when space before last method call operator 288s registers an offense and corrects when space before first method call operator 288s registers an offense and corrects when space after first method call operator 288s registers an offense and corrects when spaces around method call 288s when there is a space between `.` operator and a comment 288s registers an offense when there is a space before `.` 288s does not register an offense when there is not a space before `.` 288s when multi line method call 288s registers an offense and corrects when space before method call 288s registers an offense and corrects when space before method call in suffix chaining 288s does not register an offense when no space after the `.` 288s :: operator 288s registers an offense and corrects when space after first operator with assignment 288s registers an offense and corrects when multiple spaces with assignment 288s does not register an offense if no space before `::` operator with assignment 288s registers an offense and corrects when spaces after method call 288s registers an offense and corrects when space after method call 288s does not register an offense if no space with conditionals 288s registers an offense and corrects when space around multiple method call operator 288s registers an offense and corrects when space around intermediate method call operator 288s registers an offense and corrects when space after last method call operator 288s does not register an offense if no space before `::` operator with inheritance 288s does not register an offense when no space around any `.` operators 288s does not register an offense when no space around method call 288s when multi line method call 288s does not register an offense when no space after the `::` 288s registers an offense and corrects when space before method call 288s safe navigation operator 288s registers an offense and corrects when space before last method call operator 288s registers an offense and corrects when spaces before method call 288s registers an offense and corrects when space after method call 288s registers an offense and corrects when space around multiple method call operator 288s registers an offense and corrects when spaces around method call 288s registers an offense and corrects when space before method call 288s registers an offense and corrects when spaces after method call 288s registers an offense and corrects when space around intermediate method call operator 288s registers an offense and corrects when space after first method call operator 288s registers an offense and corrects when space before first method call operator 288s does not register an offense when no space around method call 288s does not register an offense when no space around any `.` operators 288s registers an offense and corrects when space after last method call operator 288s when multi line method call 288s registers an offense and corrects when space before method call 288s does not register an offense when no space after the `&.` 288s registers an offense and corrects when space before method call in suffix chaining 288s 288s RuboCop::Cop::Layout::MultilineMethodArgumentLineBreaks 288s when many arguments are on multiple lines, two on same line 288s registers an offense and corrects 288s when many arguments are on multiple lines, three on same line 288s registers an offense and corrects 288s when there are multiple arguments on the first line 288s registers an offense and corrects starting from the 2nd argument 288s when second argument starts on same line as end of first 288s registers an offense and corrects 288s when bracket hash assignment on multiple lines 288s does not add any offenses 288s when many arguments including hash are on multiple lines, three on same line 288s registers an offense and corrects 288s when two arguments are on next line 288s does not add any offenses 288s when bracket hash assignment key on multiple lines 288s does not add any offenses 288s when argument starts on same line but ends on different line 288s registers an offense and corrects 288s when one argument on same line 288s does not add any offenses 288s 288s RuboCop::Cop::Layout::EmptyComment 288s register offenses and correct multiple aligned empty comments next to code 288s does not register an offense when using comment text with leading and trailing blank lines 288s does not register an offense when using comment text 288s registers an offense and corrects using single line empty comment 288s registers an offense and corrects using an empty comment next to code 288s registers an offense and corrects using multiline empty comments 288s registers an offense and corrects an empty comment without space next to code 288s register offenses and correct multiple empty comments next to code 288s allow border comment (default) 288s does not register an offense when using border comment 288s disallow border comment 288s registers an offense and corrects using border comment 288s registers an offense and corrects using single line empty comment 288s disallow margin comment 288s registers an offense and corrects using margin comment 288s allow margin comment (default) 288s does not register an offense when using margin comment 288s 288s RuboCop::Cop::Lint::NestedMethodDefinition 288s does not register offense for nested definition inside class shovel 288s does not register offense for definition of method on local var 288s does not register offense for nested definition inside module_eval 288s does not register offense for nested definition inside ::Struct.new 288s registers an offense for a nested method definition inside lambda 288s does not register offense for nested definition inside class_eval 288s does not register offense for nested definition inside class_exec 288s does not register offense for nested definition inside Module.new 288s does not register offense for nested definition inside instance_exec 288s registers an offense for a nested class method definition 288s registers an offense for a nested method definition 288s registers an offense for a nested singleton method definition 288s does not register offense for nested definition inside Struct.new 288s does not register offense for nested definition inside module_exec 288s does not register offense for nested definition inside ::Class.new 288s does not register an offense for a lambda definition inside method 288s does not register offense for nested definition inside Class.new 288s does not register offense for nested definition inside ::Module.new 288s does not register offense for nested definition inside instance_eval 288s when `AllowedMethods: [has_many]` 288s registers offense for nested definition inside `denied_method` 288s does not register offense for nested definition inside `has_many` 288s when `AllowedPatterns: [baz]` 288s registers offense for nested definition inside `do_qux` 288s does not register offense for nested definition inside `do_baz` 288s 288s RuboCop::Cop::InternalAffairs::MethodNameEndWith 288s registers offense if there is potentially usage of `bang_method?` with safe navigation operator 288s registers offense if there is potentially usage of `bang_method?` 288s registers an offense if there is potentially usage of `assignment_method?` 288s registers offense if there is potentially usage of `predicate_method?` 288s registers an offense if `method_name` is a variable and there is potentially usage of `assignment_method?` 288s does not register offense if argument for end_with? is some other string 288s Ruby >= 2.7 288s registers an offense if method_name is symbol with safe navigation operator 288s registers offense if argument for Symbol#end_with? is '?' with safe navigation operator 288s registers offense if argument for Symbol#end_with? is '!' 288s does not register offense if argument for Symbol#end_with? is some other string 288s registers offense if argument for Symbol#end_with? is '!' with safe navigation operator 288s registers offense if argument for Symbol#end_with? is '?' 288s registers an offense if method_name is symbol 288s 288s RuboCop::Cop::Bundler::GemVersion 288s when EnforcedStyle is set to required (default) 288s does not flag gems with a specified version 288s flags gems that do not specify a version 288s does not flag gems included in AllowedGems metadata 288s when EnforcedStyle is set to forbidden 288s does not flag gems without a specified version 288s flags gems that specify a gem version 288s does not flag gems included in AllowedGems metadata 288s 288s RuboCop::Cop::Style::Not 288s parenthesizes when `not` would change the meaning of a binary exp 288s parenthesizes when `not` is applied to a ternary op 288s does not register an offense for ! 288s parenthesizes when `not` is applied to or 288s parenthesizes when `not` is applied to and 288s autocorrects "not" with ! 288s uses the reverse operator when `not` is applied to a comparison 288s autocorrects "not" followed by parens with ! 288s registers an offense for not 288s 288s RuboCop::Formatter::TextUtil 288s pluralize 288s will pluralize quantities greater than 1 288s will pluralize negative quantities less than -1 288s will not pluralize 1 288s will pluralize fractions 288s will change 0 to no when configured 288s will not change 0 to no 288s will pluralize -1 288s 288s RuboCop::Formatter::JUnitFormatter 288s #file_finished 288s displays an offense for `classname='test_1` in parsable text 288s displays a non-offense element in parsable text 288s displays an offense for `classname='test_2` in parsable text 288s displays start of parsable text 289s displays end of parsable text 289s 289s RuboCop::Cop::Style::SoleNestedConditional 289s registers an offense and corrects when using `unless` and `||` without parens in the outer condition and nested modifier condition 289s registers an offense and corrects when using `unless` and method arguments without parentheses in the outer condition and nested modifier condition 289s does not register an offense when no nested conditionals 289s registers an offense and corrects when `if` foo do_something end `if` bar 289s registers an offense and corrects when using nested `unless` modifier multiple conditional 289s registers an offense and corrects when using `||` in the outer condition and nested modifier condition 289s registers an offense and corrects when nested `||` operator modifier condition 289s registers an offense and corrects when using nested `if` within `if` 289s registers an offense and corrects when `unless` foo && bar do_something end `if` baz 289s registers an offense and corrects when `if` foo do_something end `unless` bar && baz 289s registers an offense and corrects when `if` foo && bar do_something end `if` baz 289s does not register an offense when nested conditional has an `else` branch 289s registers an offense and corrects when `unless` foo do_something end `if` bar 289s registers an offense and corrects when using `unless` and multiple method arguments with parenthesesin the outer condition and nested modifier condition 289s registers an offense and corrects when using nested `if` within `if foo = bar` 289s registers an offense and corrects when `if` foo && bar do_something end `unless` baz 289s registers an offense and corrects when using nested `if` within `unless foo == bar` 289s registers an offense and corrects for multiple nested conditionals with using method call outer condition by omitting parentheses 289s registers an offense and corrects for multiple nested conditionals 289s registers an offense and corrects when using nested `unless` modifier with a single expression condition 289s registers an offense and corrects when using nested `if` within `unless` 289s registers an offense and corrects when `if` foo do_something end `unless` bar 289s registers an offense and corrects when using nested `unless` within `unless` 289s registers an offense and corrects when nested `||` operator condition 289s registers an offense and corrects when using `unless` and `||` and parens in the outer condition and nested modifier condition 289s registers an offense and corrects when using nested `if` modifier conditional 289s does not register an offense when using nested conditional is not the whole body 289s does not register an offense when using nested conditional within `elsif` 289s registers an offense and corrects when `if` foo do_something end `if` bar && baz 289s does not register an offense when using nested modifier on value assigned in single condition 289s does not register an offense when using nested ternary within conditional 289s registers an offense and corrects when using nested `unless` within `if` 289s registers an offense and corrects when using `unless` and method arguments with parentheses in the outer condition and nested modifier condition 289s does not register an offense for nested conditionals when outer conditional has an `else` branch 289s registers an offense and corrects when there are outer and inline comments 289s registers an offense and corrects when using `unless` and `&&` without parens in the outer condition and nested modifier condition 289s does not register an offense when using nested modifier on value assigned in multiple conditions 289s registers an offense and corrects when using guard conditional with outer comment 289s registers an offense and corrects when using nested conditional and branch contains a comment 289s registers an offense and corrects when using `||` in the outer condition 289s registers an offense and corrects when using nested `unless` modifier conditional 289s when the inner condition has a send node with parens 289s in modifier style 289s registers an offense and corrects 289s in guard style 289s registers an offense and corrects 289s when the inner condition has a send node without parens 289s in guard style 289s registers an offense and corrects 289s in modifier style 289s registers an offense and corrects 289s with a block 289s registers an offense and corrects 289s with a `csend` node 289s registers an offense and corrects 289s when AllowModifier is true 289s does not register an offense when using nested modifier conditional 289s when disabling `Style/IfUnlessModifier` 289s registers an offense and corrects when using nested conditional and branch contains a comment 289s registers an offense and corrects when there are outer and inline comments 289s 289s RuboCop::Cop::Layout::SpaceAfterSemicolon 289s does not crash if semicolon is the last character of the file 289s registers an offense and corrects semicolon without space after it 289s inside block braces 289s when EnforcedStyle for SpaceInsideBlockBraces is no_space 289s accepts no space between a semicolon and a closing brace 289s behaves like common behavior 289s accepts a space between a semicolon and a closing brace 289s when EnforcedStyle for SpaceInsideBlockBraces is space 289s registers an offense and corrects no space between a semicolon and a closing brace 289s behaves like common behavior 289s accepts a space between a semicolon and a closing brace 289s 289s RuboCop::Cop::Style::NumericLiteralPrefix 289s octal literals 289s when config is zero_with_o 289s does not register offense for lowercase prefix 289s registers an offense for prefixes `0` and `0O` 289s when config is zero_only 289s does not register offense for prefix `0` 289s registers an offense for prefix `0O` and `0o` 289s hex literals 289s registers an offense for uppercase prefix 289s does not register offense for lowercase prefix 289s binary literals 289s does not register offense for lowercase prefix 289s registers an offense for uppercase prefix 289s decimal literals 289s does not register offense for no prefix 289s registers an offense for prefixes 289s 289s RuboCop::Cop::Lint::StructNewOverride 289s registers an offense using `::Struct.new(symbol)` 289s registers an offense using `Struct.new(symbol)` 289s registers an offense using `Struct.new(string, ...symbols)` 289s registers an offense using `Struct.new(...symbols)` 289s registers an offense using `Struct.new(...)` with a block 289s registers an offense using `Struct.new(...)` with multiple overrides 289s does not register an offense with an override within a given block 289s does not register an offense with no overrides 289s registers an offense using `Struct.new(symbol, string)` 289s registers an offense using `Struct.new(...)` with an option argument 289s 289s RuboCop::Cop::Metrics::BlockNesting 289s accepts `Max` levels of nesting 289s accepts if/elsif 289s nested `for` 289s registers an offense 289s `Max + 2` levels of `if` nesting 289s registers an offense 289s `Max + 1` levels of `if` nesting 289s registers an offense 289s when CountBlocks is true 289s nested inline block 289s registers an offense 289s nested multiline block 289s registers an offense 289s nested `rescue` 289s registers an offense 289s Multiple nested `ifs` at same level 289s registers 2 offenses 289s nested `case` 289s registers an offense 289s nested `until` 289s registers an offense 289s when CountBlocks is false 289s accepts nested multiline blocks 289s accepts nested inline blocks 289s nested modifier `until` 289s registers an offense 289s nested `while` 289s registers an offense 289s nested modifier `while` 289s registers an offense 289s 289s RuboCop::Cop::Lint::RegexpAsCondition 289s does not register an offense for a regexp literal outside conditions 289s does not register an offense for a regexp literal with `=~` operator 289s registers an offense and corrects for a regexp literal in `if` condition 289s 289s RuboCop::Cop::Style::EndlessMethod 289s Ruby >= 3.0 289s EnforcedStyle: disallow 289s registers an offense for an endless method 289s registers an offense for an endless method with arguments 289s EnforcedStyle: allow_always 289s does not register an offense for a multiline endless method with begin 289s does not register an offense for an endless method with arguments 289s does not register an offense for a multiline endless method 289s does not register an offense for a multiline endless method with arguments 289s does not register an offense for an endless method 289s EnforcedStyle: allow_single_line 289s does not register an offense for an endless method 289s registers an offense and corrects for a multiline endless method with begin 289s does not register an offense for an endless method with arguments 289s registers an offense and corrects for a multiline endless method 289s registers an offense and corrects for a multiline endless method with arguments 289s 289s RuboCop::Cop::Lint::ElseLayout 289s accepts modifier forms 289s registers an offense and corrects for expr on same line as else 289s does not register an offense if the entire if is on a single line 289s accepts proper else 289s accepts empty braces 289s registers an offense and corrects for the entire else body being on the same line 289s accepts ternary ops 289s registers an offense and corrects for elsifs 289s does not register an offense for an elsif with no body 289s registers and corrects an offense when using multiple `elsif`s 289s 289s RuboCop::Cop::Style::NumberedParameters 289s >= Ruby 2.7 289s EnforcedStyle: allow_single_line 289s does not register an offense when using numbered parameters with single-line blocks 289s registers an offense when using numbered parameters with multi-line blocks 289s EnforcedStyle: disallow 289s does an offense when using numbered parameters even with single-line blocks 289s 289s RuboCop::Cop::Security::JSONLoad 289s does not register an offense for JSON under another namespace 289s allows JSON.dump 289s registers an offense and corrects JSON.restore 289s registers an offense and corrects JSON.load 289s allows JSON.parse 289s 289s RuboCop::Options 289s options precedence 289s RUBOCOP_OPTS environment variable 289s has higher precedence then options from .rubocop file 289s has lower precedence then command line options 289s .rubocop directory 289s is ignored and command line options are used 289s .rubocop file 289s has lower precedence then options from RUBOCOP_OPTS env variable 289s has lower precedence then command line options 289s option 289s --auto-gen-only-exclude 289s fails if given without --auto-gen-config 289s --display-only-fail-level-offenses 289s fails if given with an autocorrect argument 289s --fix-layout 289s sets some autocorrect options 289s --autocorrect-all 289s sets some autocorrect options 289s --cache-root 289s fails if also `--cache false` is given 289s accepts a path as argument 289s fails if no argument is given 289s --disable-uncorrectable 289s accepts together with a safe autocorrect argument 289s accepts together with an unsafe autocorrect argument 289s fails if given without an autocorrect argument 289s --cache 289s fails if unrecognized argument is given 289s accepts false as argument 289s fails if no argument is given 289s accepts true as argument 289s --display-only-correctable 289s fails if given with an autocorrect argument 289s fails if given with --display-only-failed 289s --no-parallel 289s disables parallel from file 289s --fail-level 289s accepts severity initial letters 289s accepts the "fake" severities A/autocorrect 289s accepts full severity names 289s --display-only-failed 289s works if given with --format junit 289s fails if given without --format junit 289s -s/--stdin 289s fails if no paths are given 289s fails if more than one path is given 289s succeeds with exactly one path 289s --parallel 289s combined with --cache false 289s ignores --parallel 289s combined with two incompatible arguments 290s ignores --parallel and lists both incompatible arguments 290s combined with --fail-fast 290s ignores --parallel 290s combined with --auto-gen-config 290s ignores --parallel 290s combined with an autocorrect argument 290s combined with --autocorrect 290s allows --parallel 290s combined with --autocorrect-all 290s allows --parallel 290s combined with --fix-layout 290s allows --parallel 290s --regenerate-todo 290s when todo options are overridden before --regenerate-todo 290s is expected to eq {:auto_gen_config=>true, :exclude_limit=>"50", :offense_counts=>false, :regenerate_todo=>true} 290s when todo options are overridden after --regenerate-todo 290s is expected to eq {:auto_gen_config=>true, :exclude_limit=>"50", :offense_counts=>false, :regenerate_todo=>true} 290s when no other options are given 290s is expected to eq {:auto_gen_config=>true, :exclude_limit=>"100", :offense_counts=>false, :regenerate_todo=>true} 290s when disabled options are overridden to be enabled 290s is expected to eq {:auto_gen_config=>true, :exclude_limit=>"100", :offense_counts=>true, :regenerate_todo=>true} 290s --require 290s requires the passed path 290s -h/--help 290s lists all builtin formatters 290s shows help text 290s exits cleanly 290s deprecated options 290s --safe-auto-correct 290s emits a warning and sets the correct options instead 290s --auto-correct-all 290s emits a warning and sets the correct options instead 290s --auto-correct 290s emits a warning and sets the correct options instead 290s incompatible cli options 290s mentions all incompatible options when more than two are used 290s rejects using -V with --show-cops 290s rejects using -v with --show-cops 290s rejects using -v with -V 290s --autocorrect 290s Specify only --autocorrect 290s sets some autocorrect options 290s Specify --autocorrect and --autocorrect-all 290s emits a warning and sets some autocorrect options 290s --auto-gen-config 290s accepts other options 290s --raise-cop-error 290s raises cop errors 290s --exclude-limit 290s fails if given without --auto-gen-config 290s fails if given alone without argument 290s fails if given first without argument 290s fails if given last without argument 290s 290s RuboCop::Cop::Lint::Loop 290s accepts loop/break if 290s accepts loop/break unless 290s registers an offense and corrects for begin/end/while 290s registers an offense for begin/end/until 290s 290s RuboCop::Cop::Layout::RedundantLineBreak 290s when InspectBlocks is false 290s when Layout/SingleLineBlockChain is disabled 290s reports an offense for a method call chained onto a single line block 290s when Layout/SingleLineBlockChain is enabled 290s accepts a method call chained onto a single line block 290s for a block 290s accepts when the method call has no arguments 290s accepts when the method call has parentheses 290s when Layout/SingleLineBlockChain is enabled 290s accepts a multiline block without a chained method call 290s when Layout/SingleLineBlockChain is disabled 290s accepts a method call chained onto a multiline block 290s accepts a multiline block without a chained method call 290s for an expression that fits on a single line 290s accepts an assignment containing a begin-end expression 290s accepts an assignment containing a case expression 290s accepts a method call on a single line 290s accepts a binary expression containing an if expression 290s registers an offense for a method call with a double quoted split string without parentheses 290s accepts an assignment containing an if expression 290s accepts a method call with a block 290s registers an offense for a method call on multiple lines inside a block 290s registers an offense for a method call on multiple lines with backslash 290s accepts a method call on multiple lines if there are comments on them 290s registers an offense for a method call with a double and single quoted split string 290s registers an offense for a method call with a single quoted split string 290s registers an offense for a method call on multiple lines 290s registers an offense for a method call as right hand side of an assignment 290s registers an offense for a method call with a split operation 290s registers an offense for a method call with a double quoted split string in parentheses 290s method chains 290s does not register an offense with a heredoc argument 290s registers an offense and corrects with a arguments on multiple lines 290s properly corrects a method chain on multiple lines 290s registers an offense and corrects with a string argument on multiple lines 290s with LineLength Max 100 290s registers an offense for a method without parentheses on multiple lines 290s for an expression that does not fit on a single line 290s accepts a method call on a multiple lines 290s with a longer max line length 290s accepts an assignment containing a heredoc 290s accepts method call with a do keyword that would just surpass the max line length 290s accepts an assignment containing a method definition 290s registers an offense for a method call with a do keyword that is just under the max line length 290s accepts a method call followed by binary operations that are too long taken together 290s accepts a complex method call on a multiple lines 290s for a block 290s accepts when it is difficult to convert to single line 290s when InspectBlocks is true 290s for a block 290s registers an offense when the method call has parentheses 290s registers an offense when the method call has no arguments 290s when Layout/SingleLineBlockChain is enabled 290s reports an offense for a multiline block without a chained method call 290s when Layout/SingleLineBlockChain is disabled 290s reports an offense for a multiline block without a chained method call 290s reports an offense for a method call chained onto a multiline block 290s when Layout/SingleLineBlockChain is disabled 290s reports an offense for a method call chained onto a single line block 290s for an expression that fits on a single line 290s accepts a method call on multiple lines if there are comments on them 290s registers an offense for a method call with a double quoted split string in parentheses 290s registers an offense for a method call as right hand side of an assignment 290s accepts an assignment containing a begin-end expression 290s registers an offense for a method call with a split operation 290s registers an offense for a method call with a single quoted split string 290s accepts a method call on a single line 290s registers an offense for a method call on multiple lines with backslash 290s registers an offense for a method call on multiple lines inside a block 290s registers an offense for a method call on multiple lines 290s accepts an assignment containing a case expression 290s accepts a method call with a block 290s registers an offense for a method call with a double and single quoted split string 290s accepts a binary expression containing an if expression 290s registers an offense for a method call with a double quoted split string without parentheses 290s accepts an assignment containing an if expression 290s with LineLength Max 100 290s registers an offense for a method without parentheses on multiple lines 290s method chains 290s properly corrects a method chain on multiple lines 290s does not register an offense with a heredoc argument 290s registers an offense and corrects with a string argument on multiple lines 290s registers an offense and corrects with a arguments on multiple lines 290s when Layout/SingleLineBlockChain is enabled 290s accepts a method call chained onto a single line block 290s for an expression that does not fit on a single line 290s accepts a method call on a multiple lines 290s with a longer max line length 290s accepts a complex method call on a multiple lines 290s accepts method call with a do keyword that would just surpass the max line length 290s accepts an assignment containing a method definition 290s accepts an assignment containing a heredoc 290s accepts a method call followed by binary operations that are too long taken together 290s registers an offense for a method call with a do keyword that is just under the max line length 290s for a block 290s accepts when it is difficult to convert to single line 290s 290s RuboCop::Cop::Lint::ToEnumArguments 290s registers an offense when splat keyword arg is missing 290s does not register an offense when enumerator is created with `:m` and the correct arguments 290s does not register an offense when not inside method definition 290s registers an offense when enumerator is created for `__method__` with missing arguments 290s registers an offense when optional keyword arg is missing 290s registers an offense when method is called on `self` 290s registers an offense when splat arg is missing 290s registers an offense when arguments are swapped 290s registers an offense when other values are passed for keyword arguments 290s registers an offense when required keyword arg is missing 290s registers an offense when required arg is missing 290s does not register an offense when method call has a receiver other than `self` 290s registers an offense when optional arg is missing 290s does not register an offense when enumerator is created with `__callee__` and the correct arguments 290s ignores the block argument 290s registers an offense when enumerator is created for another method 290s does not register an offense when enumerator is created with `__method__` and the correct arguments 290s arguments forwarding 290s registers an offense when enumerator is created with non matching arguments 290s does not register an offense when enumerator is created with the correct arguments 290s 290s RuboCop::Cop::Style::RedundantPercentQ 290s accepts %Q at the beginning of a section of a double quoted string with interpolation 290s accepts %Q at the beginning of a double quoted string with interpolation 290s accepts %q containing string interpolation 290s accepts %q at the beginning of a double quoted string with interpolation 290s accepts %q at the beginning of a section of a double quoted string with interpolation 290s accepts a heredoc string that contains %q 290s with %q strings 290s accepts a string with single quotes and double quotes 290s registers an offense for only single quotes 290s accepts a string with escaped backslash and non-backslash characters 290s registers an offense for no quotes 290s registers an offense for a string containing escaped backslashes 290s registers an offense for only double quotes 290s autocorrects for strings that are concatenated with backslash 290s accepts regular expressions starting with %q 290s accepts a string with escaped non-backslash characters 290s with %Q strings 290s registers an offense for static string without quotes 290s accepts a string with double quotes and an escaped special character 290s accepts a string with single quotes and double quotes 290s registers an offense for dynamic string without quotes 290s accepts regular expressions starting with %Q 290s autocorrects for strings that are concatenated with backslash 290s accepts a dynamic %Q string with double quotes 290s registers an offense for static string with only double quotes 290s accepts a string with double quotes and an escaped normal character 290s 290s RuboCop::Cop::Style::NegatedIf 290s does not blow up for empty if condition 290s does not blow up for empty unless condition 290s does not blow up for ternary ops 290s does not blow up on a negated ternary operator 290s with “postfix” style 290s registers an offense for postfix 290s does not register an offense for prefix 290s with “both” style 290s accepts an if/else with negative condition 290s is not confused by negated elsif 290s registers an offense for if with "not" condition 290s accepts an if where the condition is doubly negated 290s accepts an if where only part of the condition is negated 290s registers an offense for if with exclamation point condition 290s autocorrects by replacing parenthesized if not with unless 290s with “prefix” style 290s registers an offense for prefix 290s does not register an offense for postfix 290s 290s RuboCop::Cop::Layout::MultilineArrayLineBreaks 290s when on same line, separate line from brackets 290s does not add any offenses 290s when two elements on same line 290s registers an offense and corrects 290s when on same line 290s does not add any offenses 290s when nested arrays 290s registers an offense and corrects 290s 290s RuboCop::Cop::Lint::UnreachableLoop 290s does not register an offense when using `return do_something(value) || next` in a loop 290s handles inner loops 290s does not register an offense when branch includes continue statement preceding break statement 290s does not register an offense when using `return do_something(value) || redo` in a loop 290s registers an offense when using `return do_something(value) || break` in a loop 290s Ruby 2.7 290s registers an offense when using `return do_something(value) || break` in a loop 290s with AllowedPatterns 290s with a ignored method call 290s does not register an offense 290s with a non ignored method call 290s registers an offense 290s Ruby 2.7 290s registers an offense 290s with an enumerator method 290s not chained 290s registers an offense 290s in the middle of a method chain 290s does not register an offense 290s as the last item in a method chain 290s registers an offense 290s without preceding continue statements 290s registers an offense when using `if-else` with all break branches 290s registers an offense when using `break` 290s does not register an offense when using `if` without `else` 290s does not register an offense when using `case` without `else` 290s does not register an offense when using `case-when-else` and not all branches are breaking 290s registers an offense when using `case-when-else` with all break branches 290s does not register an offense when using `if-elsif-else` and not all branches are breaking 290s with preceding continue statements 290s does not register an offense when using `case-when-else` with all break branches 290s does not register an offense when using `break` 290s does not register an offense when using `if-else` with all break branches 290s 290s RuboCop::Cop::Lint::NonAtomicFileOperation 290s does not register an offense when using complex conditional with `||` 290s does not register an offense when using complex conditional with `&&` 290s registers an offense when use `FileTest.exist?` before creating file with an option not `force` 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when use `FileTest.exist?` before creating file 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when use `FileTest.exist?` before force remove file 290s does not register an offense when use `FileTest.exist?` before remove recursive file 290s registers an offense when use file existence checks `if` by postfix before removing file 290s does not register an offense when use `FileTest.exist?` before remove recursive file 290s does not register an offense when use `FileTest.exist?` before creating file with an option `force: false` 290s does not register an offense when processing other than file operations 290s does not register an offense when checking for the existence of different files 290s does not register an offense when not checking for the existence 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when use file existence checks `unless` by postfix before creating file 290s does not register an offense when not an exist check 290s registers an offense when use `FileTest.exist?` before remove file 290s does not register an offense when not a method of file operation 290s does not register an offense when using `FileTest.exist?` with `if` condition that has `else` branch 290s registers an offense when use `FileTest.exists?` before creating file 290s registers an offense when use `FileTest.exist?` before creating file with an option `force: true` 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when use `FileTest.exist?` before force creating file 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when using `FileTest.exist?` as a condition for `elsif` 290s registers an offense when use `FileTest.exist?` before force creating file 290s registers an offense when use `FileTest.exist?` before force creating file 290s registers an offense when use `FileTest.exist?` with negated `if` before creating file 290s registers an offense when use `FileTest.exist?` before remove file 290s registers an offense when use `FileTest.exist?` before force remove file 290s 290s RuboCop::Cop::Style::Proc 290s accepts the ::Proc.new call without block 290s registers an offense for a Proc.new call 290s accepts the Proc.new call without block 290s registers an offense for ::Proc.new 290s Ruby 2.7 290s registers an offense for a Proc.new call 290s 290s RuboCop::Cop::Lint::NonLocalExitFromIterator 290s allows return in define_singleton_method 290s allows return with value 290s allows return in define_method 290s when block is not followed by method chain 290s allows 290s when block in middle of nest is followed by method chain 290s registers offenses 290s when block is followed by method chain 290s and has single argument 290s registers an offense 290s and has multiple arguments 290s registers an offense 290s and has no argument 290s allows 290s when block is lambda 290s allows 290s when the return is within a nested method definition 290s allows return in an instance method definition 290s allows return in a class method definition 290s when lambda is inside of block followed by method chain 290s allows 290s 290s RuboCop::Cop::Style::MixinUsage 290s does not register an offense when using inside nested module 290s prepend 290s registers an offense when using outside class 290s does not register an offense when using inside class 290s include 290s does not register an offense when using inside class 290s registers an offense when using `include` in method definition outside class or module 290s registers an offense when using outside class (used below) 290s registers an offense when using outside class (used above) 290s does not register an offense when using `include` in method definition inside module 290s does not register an offense when using inside block 290s registers an offense when using only `include` statement 290s does not register an offense when using `include` in method definition inside class 290s doesn't register an offense when `include` call is a method argument 290s does not register an offense when using outside class 290s does not register an offense when using inside block and `if` condition is after `include` 290s Nested module 290s registers an offense when using outside class 290s Multiple definition classes in one 290s does not register an offense when using inside class 290s extend 290s registers an offense when using outside class 290s does not register an offense when using inside class 290s 290s RuboCop::Cop::Style::DocumentationMethod 290s when declaring methods outside a class 290s with both public and private methods 290s when required for non-public methods 290s registers an offense 290s when the public method has no documentation 291s registers an offense 291s when the public method has documentation 291s does not register an offense 291s without documentation comment 291s when method is public 291s registers an offense 291s registers an offense when method is public, but there were private methods before 291s registers an offense with `end` on the same line 291s when method is private 291s does not register an offense with inline `private` and `end` 291s does not register an offense 291s does not register an offense with `end` on the same line 291s does not register an offense with inline `private` 291s when required for non-public methods 291s registers an offense with inline `private` and `end` 291s registers an offense with inline `private` 291s registers an offense 291s registers an offense with `end` on the same line 291s when method is protected 291s does not register an offense with inline `protected` 291s does not register an offense 291s when required for non-public methods 291s registers an offense 291s registers an offense with inline `protected` 291s when declaring methods in a class 291s with annotation comment 291s registers an offense 291s with directive comment 291s registers an offense 291s without documentation comment 291s when method is private 291s does not register an offense with inline `private` 291s does not register an offense with inline `private` and `end` 291s does not register an offense with `end` on the same line 291s does not register an offense 291s when required for non-public methods 291s registers an offense with inline `private` 291s registers an offense 291s registers an offense with `end` on the same line 291s registers an offense with inline `private` and `end` 291s when method is public 291s registers an offense 291s registers an offense with `end` on the same line 291s with documentation comment 291s when method is public 291s does not register an offense with `end` on the same line 291s does not register an offense 291s with both public and private methods 291s when the public method has documentation 291s does not register an offense 291s when required for non-public methods 291s registers an offense 291s when the public method has no documentation 291s registers an offense 291s with documentation comment 291s does not register an offense 291s does not register an offense with `end` on the same line 291s when declaring methods in a module 291s with both public and private methods 291s when the public method has documentation 291s does not register an offense 291s when required for non-public methods 291s registers an offense 291s when the public method has no documentation 291s registers an offense 291s with documentation comment 291s when method is public 291s does not register an offense with `end` on the same line 291s does not register an offense 291s when method is module_function 291s does not register an offense for separate def 291s does not register an offense for inline def 291s without documentation comment 291s when method is private 291s does not register an offense with inline `private` and `end` 291s does not register an offense with inline `private` 291s does not register an offense with `end` on the same line 291s does not register an offense 291s when required for non-public methods 291s registers an offense with inline `private` 291s registers an offense with `end` on the same line 291s registers an offense with inline `private` and `end` 291s registers an offense 291s when method is module_function 291s registers an offense for inline def 291s registers an offense for separate def 291s when method is public 291s registers an offense 291s registers an offense with `end` on the same line 291s when declaring methods for class instance 291s without documentation comment 291s registers an offense with `end` on the same line 291s registers an offense 291s with documentation comment 291s does not register an offense 291s does not register an offense with `end` on the same line 291s with both public and private methods 291s when the public method has no documentation 291s registers an offense 291s when required for non-public methods 291s registers an offense 291s when the public method has documentation 291s does not register an offense 291s when method is private 291s does not register an offense with `end` on the same line 291s does not register an offense 291s does not register an offense with inline `private` 291s does not register an offense with inline `private` and `end` 291s when required for non-public methods 291s registers an offense 291s registers an offense with inline `private` and `end` 291s registers an offense with `end` on the same line 291s registers an offense with inline `private` 291s 291s RuboCop::Cop::Layout::MultilineHashKeyLineBreaks 291s with line break after opening bracket 291s registers an offense and corrects when key starts on same line as another 291s when on different lines than brackets but keys on one 291s does not add any offenses 291s when key starts on same line as another with rockets 291s adds an offense 291s when on all keys on one line different than brackets 291s does not add any offenses 291s without line break after opening bracket 291s registers an offense and corrects nested hashes 291s registers an offense and corrects when key starts on same line as another 291s when on same line 291s does not add any offenses 291s 291s RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement 291s with no repeated character class elements 291s does not register an offense 291s with a repeated character class element with quantifier 291s registers an offense and corrects 291s with a repeated character posix character class inside a group 291s registers an offense and corrects 291s with a repeated intersection character class 291s does not register an offense 291s with a range that covers a repeated element character class 291s does not register an offense 291s with repeated character class elements when `"\0\08"` (means `"\u0000\u00008"`) 291s registers an offense 291s with a repeated character class element inside a group 291s registers an offense and corrects 291s with repeated elements in different character classes 291s does not register an offense 291s with a repeated character class element with interpolation 291s registers an offense and corrects 291s with a repeated character class element 291s registers an offense and corrects 291s with a repeated character class element and %r{} literal 291s registers an offense and corrects 291s with multiple regexps with the same interpolation 291s does not register an offense 291s with a repeated range element 291s registers an offense and corrects 291s with no repeated character class elements when `"\0\07"` (means `"\u0000\a"`) 291s does not register an offense 291s 291s RuboCop::Cop::Style::VariableInterpolation 291s registers an offense for interpolated instance variables 291s registers an offense for interpolated global variables in backticks 291s registers an offense for interpolated global variables in string 291s registers an offense for interpolated regexp back references 291s does not register an offense for variables in expressions 291s registers an offense for interpolated regexp nth back references 291s registers an offense for interpolated global variables in symbol 291s registers an offense for interpolated global variables in regexp 291s registers an offense for interpolated class variables 291s 291s RuboCop::Cop::Lint::ShadowingOuterLocalVariable 291s when a block local variable has same name as an outer scope variable 291s registers an offense 291s when a block local variable has same name as an outer scope variablewith same branches of same `if` condition node 291s registers an offense 291s with Ractor.new 291s does not register an offense 291s when an outer scope variable is reassigned in a block 291s does not register an offense 291s when a block local variable has same name as an outer scope variablewith same branches of same `unless` condition node 291s registers an offense 291s when a splat block argument has same name as an outer scope variable 291s registers an offense 291s when a block argument has a same name starts with "_" as an outer scope variable 291s does not register an offense 291s when a block argument has same name "_" as outer scope variable "_" 291s does not register an offense 291s when a method argument has same name as an outer scope variable 291s does not register an offense 291s when a block local variable has same name as an outer scope variablewith same branches of same `case` condition node 291s registers an offense 291s when a block argument has different name with outer scope variables 291s does not register an offense 291s when multiple block arguments have same name "_" 291s does not register an offense 291s when a block local variable has same name as an outer scope variablewith different branches of same `case` condition node 291s does not register an offense 291s when multiple block arguments have a same name starts with "_" 291s does not register an offense 291s when a block local variable has same name as an outer scope variablewith same branches of same nested `if` condition node 291s registers an offense 291s when a block argument has same name as an outer scope variable 291s registers an offense 291s when a block local variable has same name as an outer scope variablewith same branches of same `if` condition node not in the method definition 291s registers an offense 291s when an outer scope variable is referenced in a block 291s does not register an offense 291s when the same variable name as a block variable is used in return value assignment of `if` 291s does not register an offense 291s when a block local variable has same name as an outer scope variablewith different branches of same `unless` condition node 291s does not register an offense 291s when a block block argument has same name as an outer scope variable 291s registers an offense 291s when a block local variable has same name as an outer scope variablewith different branches of same `if` condition node 291s does not register an offense 291s 291s RuboCop::Cop::Lint::MissingCopEnableDirective 291s when the cop is disabled in the config 291s reports no offense when re-disabling it until EOF 291s when the maximum range size is finite 291s registers an offense when a cop is disabled and never re-enabled 291s does not register an offense when the disable department is re-enabled within the limit 291s registers an offense when a department is disabled for too many lines 291s registers an offense when a department is disabled and never re-enabled 291s does not register an offense when the disable cop is re-enabled within the limit 291s registers an offense when a cop is disabled for too many lines 291s when the maximum range size is infinite 291s registers an offense when a department is disabled and never re-enabled 291s does not register an offense when the disable department is re-enabled 291s does not register an offense when the disable cop is re-enabled 291s registers an offense when a cop is disabled and never re-enabled 291s 291s RuboCop::Cop::Lint::AmbiguousRange 291s for an irange 291s does not register an offense for a constant 291s registers an offense and corrects when one side is parenthesized but the other is not 291s can handle an endless range 291s does not register an offense if the range is composed of literals 291s does not register an offense for `self` 291s does not register an offense if the range is parenthesized 291s registers an offense and corrects when the entire range is parenthesized but contains complex boundaries 291s does not register an offense for a variable 291s can handle a beginningless range 291s registers an offense and corrects when there are clauses on both sides 291s registers an offense and corrects when not parenthesized 291s method calls 291s with RequireParenthesesForMethodChains: true 291s registers an offense for a chained method call without parens 291s does not register an offense for a chained method call with parens 291s behaves like common behavior 291s does not register an offense for a unary - 291s does not register an offense for a non-chained method call 291s requires parens when calling a method on a basic literal 291s does not register an offense for a unary + 291s with RequireParenthesesForMethodChains: false 291s does not register an offense for a chained method call with parens 291s does not register an offense for a chained method call without parens 291s behaves like common behavior 291s requires parens when calling a method on a basic literal 291s does not register an offense for a unary - 291s does not register an offense for a non-chained method call 291s does not register an offense for a unary + 291s for an erange 291s registers an offense and corrects when there are clauses on both sides 291s registers an offense and corrects when the entire range is parenthesized but contains complex boundaries 291s does not register an offense for a variable 291s does not register an offense for a constant 291s registers an offense and corrects when not parenthesized 291s can handle an endless range 291s can handle a beginningless range 291s does not register an offense if the range is composed of literals 291s does not register an offense for `self` 291s does not register an offense if the range is parenthesized 291s registers an offense and corrects when one side is parenthesized but the other is not 291s method calls 291s with RequireParenthesesForMethodChains: false 291s does not register an offense for a chained method call without parens 291s does not register an offense for a chained method call with parens 291s behaves like common behavior 291s requires parens when calling a method on a basic literal 291s does not register an offense for a unary - 291s does not register an offense for a non-chained method call 291s does not register an offense for a unary + 291s with RequireParenthesesForMethodChains: true 291s registers an offense for a chained method call without parens 291s does not register an offense for a chained method call with parens 291s behaves like common behavior 291s does not register an offense for a non-chained method call 291s does not register an offense for a unary + 291s requires parens when calling a method on a basic literal 291s does not register an offense for a unary - 291s 291s RuboCop::Server::Cache 291s .cache_path 291s when ERB pre-processing of the configuration file 291s when cache root path is not specified path 291s does not raise an error 291s when `XDG_CACHE_HOME` environment variable is set 291s when cache root path is specified path 291s contains the root from cache root path 291s when cache root path is not specified path 291s contains the root from `XDG_CACHE_HOME` 291s when cache root path is specified path 291s is the specified path 291s when `CacheRootDirectory` configure value is set 291s when cache root path is specified path 291s contains the root from cache root path 291s when cache root path is not specified path 291s contains the root from `CacheRootDirectory` configure value 291s when cache root path is not specified path and `XDG_CACHE_HOME` environment variable is spacified 291s contains the root from `CacheRootDirectory` configure value 291s when .rubocop.yml is empty 291s when cache root path is not specified path 291s does not raise an error 291s when `RUBOCOP_CACHE_ROOT` environment variable is set 291s when cache root path is not specified path and `XDG_CACHE_HOME` environment variable is specified 291s contains the root from `RUBOCOP_CACHE_ROOT` 291s when cache root path is specified path 291s contains the root from cache root path 291s when cache root path is not specified path 291s contains the root from `RUBOCOP_CACHE_ROOT` 291s when cache root path is not specified as default 291s is the default path 291s .pid_running? 291s works properly when concurrency with server stopping and cleaning cache dir 291s 291s RuboCop::Cop::Layout::SingleLineBlockChain 291s does not register an offense for method call chained on a new line after a single line block with trailing dot 291s does not register an offense for method call chained on the same line as a multiline block 291s registers an offense for no selector method call chained on the same line as a block 291s does not register an offense for method call chained on a new line after a single line block 291s does not register an offense for method call chained without a dot 291s registers an offense for method call chained on the same line as a block 291s 291s RuboCop::Cop::Style::WhileUntilModifier 291s behaves like condition modifier cop 291s for a multiline 'until' 291s corrects it if result fits in one line 291s accepts an empty body 291s corrects it when assignment is in body 291s accepts it if body spans more than one line 291s accepts it if single line would not fit on one line 291s handles inline comments during autocorrection 291s doesn't break when used as RHS of local var assignment 291s doesn't break when used as RHS of binary arithmetic 291s doesn't break when used as RHS of instance var assignment 291s doesn't break when used as RHS of constant assignment 291s handles one-line usage 291s accepts it when condition has local variable assignment 291s doesn't break when used as RHS of class var assignment 291s when there is a comment on the first line and some code after the end keyword 291s does not register an offense 291s accepts multiline condition in modifier form 291s registers an offense 291s when Layout/LineLength is disabled 291s registers an offense even for a long modifier statement 291s behaves like condition modifier cop 291s for a multiline 'while' 291s doesn't break when used as RHS of binary arithmetic 291s corrects it when assignment is in body 291s doesn't break when used as RHS of class var assignment 291s handles one-line usage 291s accepts it if body spans more than one line 291s handles inline comments during autocorrection 291s doesn't break when used as RHS of instance var assignment 291s accepts it if single line would not fit on one line 291s doesn't break when used as RHS of constant assignment 291s doesn't break when used as RHS of local var assignment 291s accepts it when condition has local variable assignment 291s accepts an empty body 291s corrects it if result fits in one line 291s accepts multiline condition in modifier form 291s registers an offense 291s when there is a comment on the first line and some code after the end keyword 291s does not register an offense 291s when Layout/LineLength is disabled 291s registers an offense even for a long modifier statement 291s 291s RuboCop::Cop::Layout::SpaceBeforeBrackets 291s does not register an offense when assigning an array 291s does not register an offense when using percent array literal argument without parentheses 291s does not register an offense when using array literal argument without parentheses 291s when assigning 291s does not register an offense when space is used in left bracket 291s registers an offense and corrects when using space between receiver and left brackets 291s does not register an offense when not using space between receiver and left brackets 291s does not register an offense when multiple spaces are inserted inside the left bracket 291s when referencing 291s registers an offense and corrects when using space between cvar receiver and left brackets 291s does not register an offense when not using space between method call and left brackets 291s registers an offense and corrects when using space between lvar receiver and left brackets 291s does not register an offense when call desugared `Hash#[]` to cvar receiver 291s does not register an offense when without receiver 291s does not register an offense when using multiple arguments 291s registers an offense and corrects when using space between ivar receiver and left brackets 291s registers an offense and corrects when using space between gvar receiver and left brackets 291s does not register an offense when not using space between variable receiver and left brackets 291s does not register an offense when call desugared `Hash#[]` to ivar receiver 291s does not register an offense when array literal argument is enclosed in parentheses 291s does not register an offense when call desugared `Hash#[]` to lvar receiver 291s does not register an offense when it is used as a method argument 291s does not register an offense when using space between method call and left brackets 291s 291s RuboCop::Cop::Layout::EmptyLinesAroundModuleBody 291s when EnforcedStyle is empty_lines_special 291s module with only constants 291s registers and autocorrects the offenses 291s when namespace has multiple children 291s requires empty lines for namespace 291s when first child is a method 291s requires blank line at the beginning and ending of module body 291s when module has a namespace 291s requires no empty lines for namespace but requires blank line at the beginning and ending of module body 291s source with blank lines 291s autocorrects the offenses 291s source without blank lines 291s registers and autocorrects the offenses 291s source without blank lines 291s registers an offense for module not beginning and ending with a blank line 291s module with constant and child module 291s registers and autocorrects the offenses 291s module with empty body 291s with empty line 291s does NOT register offenses 291s without empty line 291s does NOT register offenses 291s when first child is NOT a method 291s does not require blank line at the beginning of module body but requires blank line before first def definition and requires blank line at the end of module body 291s when module has a namespace 291s requires no empty lines for namespace and does not require blank line at the beginning of module body but requires blank line at the end of module body 291s source with constants 291s registers and autocorrects the offenses 291s source with blank lines 291s registers and autocorrects the offenses 291s source without blank lines 291s registers and autocorrects the offenses 291s source with blank lines 291s registers an offense for module beginning with a blank line 291s source with comment before method definition 291s registers an offense for module beginning with a blank line 291s source without blank lines 291s registers an offense for module not ending with a blank line 291s when first child is an access modifier 291s with no blank lines at the beginning and ending of module body 291s registers and corrects an offense 291s with blank lines at the beginning and ending of module body 291s registers no offense 291s when EnforcedStyle is empty_lines 291s accepts modules with an empty body 291s registers an offense for module body not starting or ending with a blank 291s registers an offense for module body not ending with a blank 291s autocorrects beginning and end 291s when EnforcedStyle is no_empty_lines 291s registers an offense for module body starting with a blank 291s registers an offense for module body ending with a blank 291s autocorrects beginning and end 291s when EnforcedStyle is empty_lines_except_namespace 291s when only child is module 291s registers offenses for namespaced module body not ending with a blank 291s autocorrects beginning and end 291s registers offenses for namespaced module body not starting with a blank 291s requires no empty lines for namespace 291s registers offense for namespace body ending with a blank 291s registers offense for namespace body starting with a blank 291s when only child is class 291s registers offense for namespace body starting with a blank 291s registers offense for namespace body ending with a blank 291s requires no empty lines for namespace 291s when has multiple child modules 291s registers offenses for namespace body starting and ending without a blank 291s requires empty lines for namespace 291s 291s RuboCop::Cop::Layout::EmptyLineAfterMagicComment 291s accepts a source file with only a magic comment 291s registers an offense for documentation immediately following comment 291s accepts magic comment with shareable_constant_value 291s accepts magic comment followed by encoding 291s accepts code that separates the comment from the code with a newline 291s registers offense when frozen_string_literal used with shareable_constant_value without empty line 291s accepts an empty source file 291s registers an offense for code that immediately follows comment 291s accepts magic comment with typed 291s registers an offense when multiple magic comments without empty line 291s registers an offense when code that immediately follows typed comment 291s 291s RuboCop::Cop::Style::UnlessElse 291s unless with else 291s registers an offense 291s and nested unless with else 292s registers offenses for both but corrects only the outer unless/else 292s unless without else 292s does not register an offense 292s unless with nested if-else 292s registers an offense 292s 292s RuboCop::Cop::Style::RedundantSort 292s registers an offense when first is called on sort_by 292s registers an offense when slice(-1) is called on sort_by 292s registers an offense with `sort_by { a || b }` 292s does not register an offense for sort!.first 292s does not register an offense when first is used before sort 292s registers an offense when [](0) is called on sort 292s does not register an offense when sort_by is used without first 292s does not register an offense when sort_by is not given a block 292s registers an offense when first is called with sort 292s registers an offense when first is called on sort_by no block 292s registers an offense when [0] is called on sort_by 292s registers an offense when first is called on sort_by with line breaks and `and` operator 292s registers an offense when first is called on sort_by with line breaks and `&&` operator 292s registers an offense when last is called on sort_by 292s registers an offense when [-1] is called on sort_by 292s does not register an offense when sort has an argument 292s does not register an offense when first is used without sort_by 292s registers an offense when first is called on sort_by with line breaks and `or` operator 292s registers an offense when last is called with sort 292s registers an offense when first is called on sort_by with line breaks and `||` operator 292s registers an offense when at(0) is called on sort_by 292s registers an offense when at(-1) is called with sort 292s does not register an offense when first has an argument 292s registers an offense when last is called on sort_by no block 292s registers an offense when [0] is called on sort 292s registers an offense when [-1] is called on sort 292s registers an offense when last is called on sort with comparator 292s registers an offense when first is called on sort_by with line breaks 292s registers an offense when slice(0) is called on sort_by 292s does not register an offense for sort_by!(&:something).last 292s registers an offense when slice(0) is called on sort 292s registers an offense when [](-1) is called on sort_by 292s >= Ruby 2.7 292s when using numbered parameter 292s registers an offense and corrects when at(0) is called on sort_by 292s registers an offense and corrects when first is called on sort_by 292s registers an offense and corrects when last is called on sort with comparator 292s when not taking first or last element 292s does not register an offense when [-1] is called on sort with an argument 292s does not register an offense when [1] is called on sort 292s does not register an offense when at(-2) is called on sort_by 292s 292s RuboCop::Cop::Lint::UselessRuby2Keywords 292s with a dynamically defined method 292s does not register an offense for an allowed `ruby2_keywords` 292s does not register an offense when the method has a `restarg` and a `shadowarg` 292s registers an offense when the method has a `shadowarg` 292s registers an offense for a numblock 292s registers an offense for an unnecessary `ruby2_keywords` 292s when `ruby2_keywords` is given a symbol 292s does not register an offense for an allowed def 292s registers an offense for an unnecessary `ruby2_keywords` 292s does not register an offense when there is no `def` 292s does not register an offense when the `def` is at a different depth 292s when `ruby2_keywords` is given a `def` node 292s does not register an offense for a method with a `restarg` and no `kwrestarg` 292s does not register an offense for a method with a `restarg` other positional args 292s registers an offense for a method with a `restarg` and `kwoptarg` 292s does not register an offense for a method with a `restarg` and `blockarg` 292s registers an offense for a method with only keyword args 292s does not register an offense for a method with a `restarg` other optional args 292s registers an offense for a method with only `kwrestarg` 292s registers an offense for a method with a `restarg` and keyword args 292s registers an offense for a method with a `restarg` and `kwrestarg` 292s registers an offense for a method without arguments 292s registers an offense for a method with only positional args 292s 292s RuboCop::Formatter::JSONFormatter 292s #hash_for_offense 292s sets Offense#corrected? value for :corrected key 292s sets Offense#cop_name value for :cop_name key 292s sets Offense#message value for :message key 292s sets Offense#severity value for :severity key 292s sets Offense#correctable? value for :correctable key 292s sets value of #hash_for_location for :location key 292s #hash_for_location 292s sets column value for :column key 292s sets length value for :length key 292s sets line value for :line key 292s when the location is pseudo 292s returns a valid hash 292s #started 292s sets target file count in summary 292s #hash_for_file 292s sets relative file path for :path key 292s sets an array of #hash_for_offense values for :offenses key 292s #finished 292s sets inspected file count in summary 292s outputs #output_hash as JSON 292s #file_finished 292s adds value of #hash_for_file to #output_hash[:files] 292s adds detected offense count in summary 292s 292s RuboCop::Cop::Layout::LineLength 292s highlights excessive characters 292s accepts a line that's 80 characters wide 292s registers an offense for long line before __END__ but not after 292s accepts the first line if it is a shebang line 292s registers an offense for a line that's 81 characters wide 292s when AllowHeredoc option is enabled 292s accepts long lines in heredocs 292s and only certain heredoc delimiters are permitted 292s rejects long lines in heredocs with not permitted delimiters 292s when the source has no AST 292s does not crash 292s when AllowURI option is enabled 292s and the URI is assigned 292s does not register an offense 292s and all the excessive characters are part of a URL 292s accepts the line 292s and the URL is wrapped in braces 292s accepts the line 292s and the URL is wrapped in single quotes 292s accepts the line 292s and the URL is wrapped in double quotes 292s accepts the line 292s and the URL is wrapped in braces with title 292s accepts the line 292s and the excessive characters include part of a URL in double quotes 292s does not include the quote as part of the offense 292s and the excessive characters include part of a URL in braces and another word 292s registers an offense for the line 292s and the URL fits within the max allowed characters 292s registers an offense for the line 292s and the excessive characters include part of a URL and another word 292s registers an offense for the line 292s and an error other than URI::InvalidURIError is raised while validating a URI-ish string 292s does not crash 292s and the URI is an argument 292s does not register an offense 292s and the excessive characters include a complete URL 292s registers an offense for the line 292s and the URL does not have a http(s) scheme 292s rejects the line 292s and the scheme has been configured 292s does not register an offense 292s and the excessive characters include part of a URL and trailing whitespace 292s registers an offense for the line 292s when AllowedPatterns option is set 292s only registers an offense for lines not matching the pattern 292s affecting by IndentationWidth from Layout\Tab 292s without AllowURI option 292s behaves like with tabs indentation 292s registers an offense for a line that's including 2 tab with size 2 and 28 other characters 292s accepts a line that's including 1 tab with size 2 and 28 other characters 292s with AllowURI option 292s accepts a line that's including URI with text 292s accepts a line that's including URI in quotes with text 292s accepts a line that's including URI 292s accepts a line that's including URI and exceeds by 1 char 292s behaves like with tabs indentation 292s registers an offense for a line that's including 2 tab with size 2 and 28 other characters 292s accepts a line that's including 1 tab with size 2 and 28 other characters 292s autocorrection 292s semicolon 292s semicolon inside string literal 292s adds offense and autocorrects elsewhere 292s when over limit and semicolon at end of line 292s adds offense and autocorrects it by breaking the first semicolonbefore the hash 292s when over limit and many semicolons 292s adds offense and autocorrects it by breaking the semicolonbefore the hash 292s when over limit and one semicolon at the end 292s adds offense and does not autocorrectbefore the hash 292s when over limit 292s adds offense and autocorrects it by breaking the semicolonbefore the hash 292s when under limit 292s does not add any offenses 292s when over limit and many spaces around semicolon 292s adds offense and autocorrects it by breaking the semicolonbefore the hash 292s when over limit and many semicolons at the end 292s adds offense and does not autocorrectbefore the hash 292s semicolons inside string literal 292s adds offense and autocorrects elsewhere 292s no breakable collections 292s adds an offense and does not autocorrect it 292s long blocks 292s Ruby 2.7 292s adds an offense for {} block does correct it 292s adds an offense for do-end block and does correct it 292s braces 292s adds an offense and does correct it 292s lambda syntax 292s when argument is enclosed in parentheses 292s registers an offense and corrects 292s when argument is not enclosed in parentheses 292s registers an offense and corrects 292s let block 292s adds an offense and does correct it 292s do/end 292s adds an offense for block without arguments and does correct it 292s adds an offense for block with arguments and does correct it 292s no spaces 292s adds an offense and does correct it 292s method definition 292s when under limit 292s does not add any offenses 292s when over limit 292s adds an offense and autocorrects it 292s method call 292s with long argument list 292s registers an offense and autocorrects it 292s when unparenthesized 292s when there is one argument 292s does not autocorrect 292s when there are multiple arguments 292s splits the line after the first element 292s when nested method calls allows outer to get broken up first 292s adds offense and does not autocorrect 292s when two method calls 292s adds an offense only to outer and autocorrects it 292s with a heredoc argument 292s does not break up the line when a heredoc is used as the first element of an array 292s does not break up the line 292s does not break up the line when parentheses are omitted 292s and the heredoc is after the line should split 292s can break up the line before the heredoc argument 292s and other arguments before the heredoc 292s can break up the line before the heredoc argument 292s when over limit 292s adds an offense and autocorrects it 292s with a hash with a too long first item 292s when the hash is parenthesized 292s corrects 292s when not parenthesized 292s when on multiple lines 292s does not correct 292s when there are multiple elements 292s moves the 2nd element to a new line 292s when there is only one element 292s does not autocorrect 292s when parenthesized 292s corrects 292s when under limit 292s does not add any offenses 292s when call with hash on same line 292s adds an offense only to outer and autocorrects it 292s when two together 292s does not add any offenses 292s comments 292s when over limit with semicolon 292s adds offense and does not autocorrect 292s hash 292s when over limit rocket symbol 292s adds an offense and autocorrects it 292s when hash in method call 292s adds an offense only to outer and autocorrects it 292s when over limit rocket 292s adds an offense and autocorrects it 292s when over limit because of a comment 292s adds an offense and does not autocorrect 292s when nested hashes on same line 292s adds an offense only to outer and autocorrects it 292s when over limit 292s adds an offense and autocorrects it 292s when over limit and keys already on multiple lines 292s adds an offense and does not autocorrect 292s when over limit and already on multiple lines long key 292s adds an offense and does not autocorrect 292s when under limit 292s does not add any offenses 292s HEREDOC 292s when over limit with semicolon 292s adds offense and does not autocorrect 292s multiple assignment 292s when over limit at right hand side 292s registers and corrects an offense 292s array 292s when under limit 292s does not add any offenses 292s when two arrays on two lines allows outer to get broken first 292s adds an offense only to inner and does not autocorrect it 292s when over limit 292s adds an offense and autocorrects it 292s when already on two lines 292s does not add any offenses 292s when has inside array 292s adds an offense only to outer and autocorrects it 292s when IgnoreCopDirectives is enabled 292s and the Rubocop directive is excessively long 292s accepts the line 292s and the source is too long 292s highlights only the non-directive part 292s and the source contains non-directive # as comment 292s highlights only the non-directive part 292s and the source contains non-directive #s as non-comment 292s registers an offense for the line 292s and the Rubocop directive causes an excessive line length 292s accepts the line 292s and has explanatory text 292s does not register an offense 292s when IgnoreCopDirectives is disabled 292s and the source is too long and has a trailing cop directive 292s highlights the excess source and cop directive 292s and the source is acceptable length 292s with an inline comment 292s highlights the excess comment 292s with a trailing RuboCop directive 292s registers an offense for the line 292s when line is indented with tabs 292s registers an offense for a long line 292s accepts a short line 292s when AllowURI option is disabled 292s and all the excessive characters are part of a URL 292s registers an offense for the line 292s 292s RuboCop::Cop::Style::RedundantAssignment 292s does not register an offense when ensure block present 292s accepts empty method body 292s reports an offense for def ending with assignment and returning 292s accepts empty when nodes 292s accepts empty if body 292s when inside an if-branch 292s registers an offense and autocorrects 292s when rescue blocks present 292s registers an offense and autocorrects when inside function or rescue block 292s when inside a when-branch 292s registers an offense and autocorrects 292s when inside begin-end body 292s registers an offense and autocorrects 292s 292s RuboCop::Cop::Lint::AmbiguousOperatorPrecedence 292s does not register an offense when there is only one operator in the expression 292s corrects a super long expression in reverse precedence order 292s does not register an offense when expressions are wrapped in parentheses by reverse precedence 292s allows an operator with `or` 292s allows an operator with `and` 292s registers an offense when an expression with mixed boolean operators has no parens 292s registers an offense when an expression with mixed precedence has no parens 292s does not register an offense when all operators in the expression have the same precedence 292s does not register an offense when expressions are wrapped in parentheses by precedence 292s registers an offense when the entire expression is wrapped in parentheses 292s does not register an offense when boolean expressions are wrapped in parens 292s corrects a super long expression in precedence order 292s registers an offense for expressions containing booleans and operators 292s 292s RuboCop::Cop::Layout::InitialIndentation 292s accepts empty file 292s accepts unindented method definition 292s registers an offense for indented method definition 292s registers an offense and corrects indented assignment disregarding comment 292s accepts unindented comment + assignment 292s for a file with byte order mark 292s registers an offense and corrects indented method call after comment 292s accepts unindented method call 292s registers an offense and corrects indented method call 292s 292s RuboCop::Cop::Security::Eval 292s accepts eval as variable 292s registers an offense for eval as function 292s registers an offense for eval with string that has an interpolation 292s accepts eval with no arguments 292s accepts eval on a literal string 292s accepts eval with a string that interpolates a literal 292s registers an offense `Binding#eval` 292s accepts eval as method 292s accepts eval with a multiline string 292s registers an offense for eval as command 292s with an explicit binding, filename, and line number 292s accepts eval on a literal string 292s registers an offense for eval as function 292s registers an offense for eval as command 292s 292s RuboCop::Cop::Style::ColonMethodCall 292s does not register an offense for op methods 292s registers an offense for class method call with arg 292s does not register an offense for constant access 292s registers an offense for instance method call 292s does not register an offense for nested class 292s does not register an offense for Java static types 292s does not register an offense for Java package namespaces 292s registers an offense for instance method call with arg 292s registers an offense for class method call 292s does not register an offense when for constructor methods 292s 292s RuboCop::Cop::Lint::TripleQuotes 292s does not register an offense for implicit concatenation 292s heredocs 292s does not register an offense 292s string interpolation 292s does not register an offense 292s with nested extra quotes 292s registers an offense and corrects 292s triple quotes 292s on one line 292s registers an offense and corrects 292s on multiple lines 292s registers an offense and corrects 292s with only whitespace 292s does not register 292s when only quotes 292s registers an offense and corrects to a single empty quote 292s quintuple quotes 292s registers an offense and corrects 292s 292s RuboCop::Cop::Style::UnpackFirst 292s ruby version >= 2.4 292s does not register offense 292s when using `#unpack1` 292s when using `#unpack` accessing second element 292s registers offense 292s when using `#unpack` with `#at` 292s when using `#unpack` with `#first` 292s when using `#unpack` with `#slice` 292s when using `#unpack` with square brackets 292s when using `#unpack` with dot and square brackets 292s 292s RuboCop::Cop::Layout::SpaceInsideHashLiteralBraces 292s registers an offense for correct + opposite 292s can handle interpolation in a braceless hash literal 292s registers an offense for hashes with no spaces if so configured 292s accepts hash literals with no braces 292s accepts hashes with spaces by default 292s offending hash following empty hash 292s registers an offense on both sides 292s when EnforcedStyle is no_space 292s registers an offense for opposite + correct 292s accepts hashes with no spaces 292s registers an offense for hashes with spaces 292s accepts multiline hash 292s accepts multiline hash with comment 292s when using method argument that both key and value are hash literals 292s accepts hashes with no spaces 292s with space inside empty braces allowed 292s registers an offense for empty braces with no space inside 292s accepts empty braces with space inside 292s when using method argument that both key and value are hash literals 293s registers hashes with no spaces 293s on Hash[{ x: 1 } => [1]] 293s does not register an offense 293s with newline inside empty braces not allowed 293s registers an offense 293s on { key: "{" } 293s does not register an offense 293s when EnforcedStyle is compact 293s accepts multiline hash 293s registers offenses for hashes with no spaces 293s accepts multiline hash with comment 293s doesn't register an offense for non-nested hashes with spaces 293s registers an offense for nested hashes with spaces 293s registers an offense for opposite + correct 293s with space inside empty braces not allowed 293s registers an offense for empty braces with space inside 293s accepts empty braces with no space inside 293s 293s RuboCop::Cop::Lint::RaiseException 293s does not register an offense for `raise` without arguments 293s registers an offense and corrects for `fail` with `Exception` and message 293s registers an offense and corrects for `fail` with `Exception` 293s registers an offense and corrects for `raise` with `Exception` and message 293s registers an offense and corrects for `raise` with `Exception.new(args*)` 293s registers an offense and corrects for `raise` with `::Exception` and message 293s does not register an offense when raising Exception with explicit namespace 293s registers an offense and corrects for `raise` with `Exception.new` and message 293s registers an offense and corrects for `fail` with `Exception.new` and message 293s registers an offense and corrects for `raise` with `::Exception.new` 293s registers an offense and corrects for `raise` with `::Exception` 293s registers an offense and corrects for `raise` with `Exception` 293s does not register an offense for `fail` without arguments 293s when under namespace 293s registers an offense and corrects when Exception with cbase specified 293s does not register an offense when Exception without cbase specified 293s 293s RuboCop::Cop::Style::MissingRespondToMissing 293s allows method_missing and respond_to_missing? when defined with inline access modifier 293s allows method_missing and respond_to_missing? implemented as class methods 293s registers an offense when respond_to_missing? is not implemented 293s allows method_missing and respond_to_missing? implemented as instance methods 293s allows method_missing and respond_to_missing? when defined with inline access modifier and method_missing is not qualified by inline access modifier 293s registers an offense when method_missing is implemented as a class methods 293s registers an offense respond_to_missing? is implemented as a class method and method_missing is implemented as an instance method 293s registers an offense respond_to_missing? is implemented as an instance method and method_missing is implemented as a class method 293s 293s RuboCop::Cop::Style::TrailingBodyOnModule 293s registers offense when module definition uses semicolon 293s accepts regular module 293s registers an offense when body trails after module definition 293s registers offense with multi-line module 293s autocorrects with comment after body 293s autocorrects when there are multiple semicolons 293s when module is not on first line of processed_source 293s autocorrects offense 293s 293s RuboCop::Cop::Lint::IncompatibleIoSelectWithFiberScheduler 293s registers and corrects an offense when using `::IO.select` with single read argument 293s does not register an offense when using `Enumerable#select` 293s registers an offense when using `IO.select` with read argument and using return value but does not autocorrect 293s registers an offense when using `IO.select` with write argument and using return value but does not autocorrect 293s registers and corrects an offense when using `::IO.select` with single read and timeout arguments 293s registers and corrects an offense when using `IO.select` with single write, `nil`, and timeout arguments 293s does not register an offense when using `IO.select` with read and write arguments 293s registers and corrects an offense when using `IO.select` with single read argument 293s registers and corrects an offense when using `IO.select` with multiple read argument and specify the first argument only 293s registers and corrects an offense when using `IO.select` with single read as `self` and timeout arguments 293s does not register an offense when using `IO.select` with multiple write arguments 293s registers and corrects an offense when using `IO.select` with single read, `nil`, and timeout arguments 293s registers and corrects an offense when using `IO.select` with single read and timeout arguments 293s does not register an offense when using `IO.select` with multiple read arguments 293s registers and corrects an offense when using `IO.select` with single write argument 293s registers and corrects an offense when using `IO.select` with single write as `self` and timeout arguments 293s registers and corrects an offense when using `IO.select` with single write and timeout arguments 293s registers and corrects an offense when using `IO.select` with single read argument and specify the first argument only 293s 293s RuboCop::Cop::InternalAffairs::CreateEmptyFile 293s registers an offense when using `create_file(path, "") 293s does not register an offense when using `create_file(path, ['foo', 'bar'])` 293s registers an offense when using `create_file(path, '') 293s does not register an offense when using `receiver.create_file(path, '')` 293s does not register an offense when using `create_file(path)` 293s does not register an offense when using `create_file(path, 'hello')` 293s 293s RuboCop::Cop::Metrics::PerceivedComplexity 293s when Max is 2 293s counts stupid nested if and else blocks 293s when AllowedPatterns is enabled 293s does not register an offense when defining an instance method 293s does not register an offense when defining a class method 293s does not register an offense when using `define_method` 293s when AllowedMethods is enabled 293s does not register an offense when using `define_method` 293s does not register an offense when defining a class method 293s does not register an offense when defining an instance method 293s when Max is 1 293s accepts an empty `define_method` 293s registers an offense for a `define_method` 293s accepts an empty method 293s registers an offense for a rescue block 293s registers an offense for || 293s registers an offense for elsif and else blocks 293s counts known iterating block 293s registers an offense for and 293s deals with nested if blocks containing && and || 293s registers an offense for or 293s registers an offense for a ternary operator 293s registers an offense for an until block 293s counts else in a case with no argument 293s accepts a method with no decision points 293s registers an offense for a for block 293s registers an offense for an if modifier 293s registers an offense for && 293s does not count unknown block calls 293s counts only a single method 293s registers an offense for a while block 293s registers an offense for a case/when block without an expression after case 293s accepts complex code outside of methods 293s registers an offense for an unless modifier 293s registers an offense for a case/when block 293s 293s RuboCop::ConfigStore 293s .for 293s always uses config specified in command line 293s when no config specified in command line 293s gets config path and config from cache if available 293s searches for config path if not available in cache 293s when --force-default-config option is specified 293s uses default config without searching for config path 293s 293s RuboCop::Cop::Style::ReturnNil 293s when enforced style is `return` 293s does not register an offense for returning others 293s registers an offense for return nil 293s does not register an offense for return nil from iterators 293s when enforced style is `return_nil` 293s does not register an offense for returning others 293s registers an offense for return 293s 293s RuboCop::Cop::Layout::TrailingWhitespace 293s accepts a line without trailing whitespace 293s registers an offense for a blank line with space 293s registers an offense for a line ending with space 293s registers an offense for a tab in a heredoc 293s is not fooled by __END__ within a documentation comment 293s registers offenses before __END__ but not after 293s is not fooled by heredoc containing __END__ 293s is not fooled by heredoc containing __END__ within a doc comment 293s registers an offense for trailing whitespace in a heredoc string 293s registers an offense for a line ending with tab 293s autocorrects unwanted space 293s when `AllowInHeredoc` is set to false 293s corrects by removing trailing whitespace used for indentation in a heredoc string 293s corrects safely trailing whitespace in a heredoc string 293s does not correct trailing whitespace in a static heredoc string 293s corrects a whitespace line in a heredoc string that is longer than the indentation 293s when `AllowInHeredoc` is set to true 293s accepts trailing whitespace in a heredoc string 293s registers an offense for trailing whitespace at the heredoc begin 293s 293s RuboCop::Cop::Layout::LineEndStringConcatenationIndentation 293s when EnforcedStyle is indented 293s accepts indented strings in ordinary statement 293s registers an offense for aligned strings in hash literal values 293s accepts indented strings 293s accepts a multiline string literal 293s accepts a heredoc string ... 293s registers an offense for aligned strings in an if/elsif/else statement 293s accepts indented strings in implicit return statement of a singleton method definition 293s registers an offense for unaligned third part of string 293s accepts indented strings in implicit return statement of a block 293s accepts string literal with line break concatenated with other string 293s accepts single line string literal concatenation 293s accepts an empty heredoc string with interpolation 293s accepts a heredoc string with interpolation 293s registers an offense for aligned string 293s accepts indented strings in implicit return statement of a method definition 293s accepts indented strings in implicit return statement of a method definition after other statement 293s for assignment with x ||= 293s registers an offense for aligned strings 293s accepts indented strings 293s for assignment with @x = 293s accepts indented strings 293s registers an offense for aligned strings 293s for assignment with x += 293s registers an offense for aligned strings 293s accepts indented strings 293s for assignment with X = 293s registers an offense for aligned strings 293s accepts indented strings 293s when IndentationWidth is 1 293s accepts indented strings 293s for assignment with x = 293s registers an offense for aligned strings 293s accepts indented strings 293s for assignment with $x = 293s registers an offense for aligned strings 293s accepts indented strings 293s when EnforcedStyle is aligned 293s accepts a heredoc string with interpolation 293s accepts aligned strings in method call 293s accepts indented strings in implicit return statement of a singleton method definition 293s accepts indented strings in implicit return statement of a method definition after other statement 293s registers an offense for third part of a string if it is aligned only with the first 293s accepts single line string literal concatenation 293s accepts an empty heredoc string with interpolation 293s accepts indented strings in ordinary statement 293s registers an offense for indented string 293s registers an offense for unaligned strings in hash literal values 293s accepts indented strings in implicit return statement of a method definition 293s accepts a heredoc string ... 293s accepts string literal with line break concatenated with other string 293s accepts a multiline string literal 293s accepts indented strings in implicit return statement of a block 293s registers an offense for aligned strings in an if/elsif/else statement 293s for assignment with @x = 293s registers an offense for indented strings 293s accepts aligned strings 293s for assignment with x = 293s registers an offense for indented strings 293s accepts aligned strings 293s for assignment with x += 293s accepts aligned strings 293s registers an offense for indented strings 293s for assignment with $x = 293s accepts aligned strings 293s registers an offense for indented strings 293s for assignment with X = 293s registers an offense for indented strings 293s accepts aligned strings 293s for assignment with x ||= 293s accepts aligned strings 293s registers an offense for indented strings 293s 293s RuboCop::Formatter::TapFormatter 293s #file_finished 293s when no offenses are detected 293s prints "ok" 293s when any offenses are detected 293s prints "not ok" 293s #finished 293s when any offenses are detected 293s reports all detected offenses for all failed files 293s when no offenses are detected 293s does not report offenses 293s #report_file 293s when the source contains multibyte characters 293s displays text containing the offending source line 293s 293s RuboCop::Cop::Style::RedundantException 293s accepts rescue w/ non redundant error 293s accepts a fail with RuntimeError if it does not have 2 args 293s reports an offense for a raise with RuntimeError.new 293s accepts a raise with RuntimeError if it does not have 2 args 293s reports an offense for a fail with RuntimeError.new 293s accepts rescue w/ non redundant error 293s accepts rescue w/ non redundant error 293s reports an offense for a raise with RuntimeError and () 293s reports an offense for a raise with ::RuntimeError and () 293s reports an offense for a fail with RuntimeError 293s accepts a fail with ::RuntimeError if it does not have 2 args 293s reports an offense for a fail with ::RuntimeError.new 293s reports an offense for a fail with ::RuntimeError.new 293s reports an offense for a fail with RuntimeError and () 293s reports an offense for a fail with RuntimeError.new 293s reports an offense for a raise with ::RuntimeError.new 293s accepts rescue w/ non redundant error 293s reports an offense for a raise with ::RuntimeError.new 293s reports an offense for a fail with ::RuntimeError and () 293s reports an offense for a raise with ::RuntimeError 293s reports an offense for a fail with ::RuntimeError 293s reports an offense for a raise with RuntimeError.new 293s accepts a raise with ::RuntimeError if it does not have 2 args 293s reports an offense for a raise with RuntimeError 293s 293s RuboCop::Cop::Style::HashEachMethods 293s when node matches a keys#each or values#each 293s when `AllowedReceivers: ['execute']` 293s does not register an offense when receiver is `execute` method 293s does not register an offense when receiver is `execute` method with a symbol proc argument 293s registers an offense when receiver is not allowed name 293s does not register an offense when receiver is `execute` variable 293s when receiver is implicit 293s does not register an offense for `values.each` with a symbol proc argument 293s does not register an offense for `keys.each` 293s does not register an offense for each_key 293s does not register an offense for each_value 293s does not register an offense for `values.each` 293s does not register an offense for `keys.each` with a symbol proc argument 293s when receiver is a send 293s does not register an offense for foo#each_key 293s registers offense, autocorrects foo#keys.each to foo#each_key 293s registers offense, autocorrects foo#values.each to foo#each_value 293s registers offense, autocorrects foo#values.each to foo#each_value with a symbol proc argument 293s does not register an offense for Hash#each_value 293s registers offense, autocorrects foo#keys.each to foo#each_key with a symbol proc argument 293s Ruby 2.7 293s registers offense, autocorrects foo#keys.each to foo#each_key with numblock 293s when receiver is a hash literal 293s registers offense, autocorrects {}#keys.each with {}#each_key 293s does not register an offense for {}#each_value 293s does not register an offense for {}#each_key 293s registers offense, autocorrects {}#values.each with {}#each_value 293s registers offense, autocorrects {}#keys.each to {}#each_key with a symbol proc argument 293s registers offense, autocorrects {}#values.each to {}#each_value with a symbol proc argument 293s 293s RuboCop::Cop::Style::ExplicitBlockArgument 293s does not register an offense when arguments are yielded in a different order 293s does not add extra parens when correcting 293s correctly corrects when using safe navigation method call 293s does not register an offense when there is more than one block argument and not all are yielded 293s adds to the existing arguments when correcting 293s registers an offense and corrects when method contains multiple `yield`s 293s registers an offense and corrects when `yield` is inside block of `super` 293s registers an offense and corrects when `yield` inside block has no arguments 293s does not register an offense when `yield` is the sole block body 293s does not register an offense when `yield` is not inside block 293s does not add extra parens to `super` when correcting 293s correctly corrects when method already has an explicit block argument 293s does not register an offense when code is called outside of a method 293s correctly corrects when the method call has a trailing comma in its argument list 293s registers an offense and corrects when block just yields its arguments 293s registers an offense and corrects when multiple arguments are yielded 293s does not register an offense when `yield` arguments is not a prefix of block arguments 293s 293s RuboCop::Cop::Lint::NoReturnInBeginEndBlocks 293s rejects a return statement inside a block when using += 293s rejects a return statement inside a block when using /= 293s rejects a return statement inside a block when using *= 293s accepts a block with no return when using ||= 293s accepts a block with no return when using += 293s rejects a return statement inside a block when using -= 293s rejects a return statement inside a block when using ||= 293s accepts a block with no return when using /= 293s rejects a return statement inside a block when using **= 293s accepts a block with no return when using -= 293s accepts a block with no return when using = 293s rejects a return statement inside a block when using = 293s accepts a block with no return when using **= 293s accepts a block with no return when using *= 293s 293s RuboCop::Formatter::ClangStyleFormatter 293s #report_file 293s displays text containing the offending source line 293s when the source line is blank 293s does not display offending source line 293s when the offense is automatically corrected 293s prints [Corrected] along with message 293s when the source contains multibyte characters 293s displays text containing the offending source line 293s when the offending source spans multiple lines 293s displays the first line with ellipses 293s when the offense is not corrected 293s prints message as-is 293s when the offense is correctable 293s prints message as-is 293s 293s RuboCop::Cop::Style::RedundantBegin 293s does not register an offense when using `begin` with `while` 293s registers an offense and corrects when using `begin` without `rescue` or `ensure` 293s does not register an offense when using `begin` with no statements for or assignment 293s does not register an offense when using `begin` with multiple statement for or assignment 293s does not register an offense when using `begin` for semantic operator conditions 293s accepts a def with required begin block 293s autocorrects when there are trailing comments 293s reports an offense when multi-line `begin` block has single statement with modifier condition 293s reports an offense when one-liner `begin` block has single statement with modifier condition 293s reports an offense for defs with redundant begin block 293s doesn't modify spacing when autocorrecting 293s accepts a def with a begin block after a statement 293s accepts when multi-line `begin` block has multiple statements with modifier condition 293s reports an offense when assigning nested blocks which contain `begin` blocks 293s registers and corrects an offense when using `begin` with single statement that called a block for or assignment 293s does not register an offense when using `begin` with `until` 293s registers and corrects an offense when using multi-line `if` in `begin` block 293s accepts when one-liner `begin` block has multiple statements with modifier condition 293s accepts a defs with required begin block 293s does not register an offense when using `begin` with `ensure` 293s reports an offense when assigning nested `begin` blocks 293s registers and corrects an offense when using `begin` with single statement for or assignment 293s registers and corrects an offense when using modifier `if` single statement in `begin` block 293s does not register an offense when using `begin` for assignment 293s reports an offense for single line def with redundant begin block 293s does not register an offense when using body of `begin` is empty 293s does not register an offense when using `begin` for logical operator conditions 293s does not register an offense when using `begin` with `rescue` 293s does not register an offense when using `begin` for method argument 293s reports an offense when multi-line `begin` block has single statement and it is inside condition 293s does not register an offense when using `begin` for or assignment and method call 293s reports an offense for def with redundant begin block 293s < Ruby 2.5 293s accepts a do-end block with a begin-end 293s Ruby 2.7 293s reports an offense when assigning nested blocks which contain `begin` blocks 293s >= ruby 2.5 293s accepts a block with a begin block after a statement 293s registers an offense for a do-end block with redundant begin-end 293s accepts super with block 293s accepts a {} block with a begin-end 293s accepts a stabby lambda with a begin-end 293s when using endless method definition 293s accepts when `begin` block has multiple statements 293s accepts when `begin` block has no statements 294s registers when `begin` block has a single statement 294s 294s RuboCop::Cop::VariableForce::VariableTable 294s #accessible_variables 294s when the direct outer scope has some variables 294s and the current scope is not block 294s returns only the current scope variables 294s and the current scope is block 294s returns the current and direct outer scope variables 294s when there are no variables 294s returns empty array 294s when the current scope has some variables 294s returns all the variables 294s #find_variable with an empty scope stack 294s returns nil 294s #declare_variable 294s adds variable to current scope with its name as key 294s returns the added variable 294s #current_scope_level 294s decreases by popping scope 294s increases by pushing scope 294s #find_variable 294s when current scope is not block 294s when a variable with the target name exists in current scope 294s and also exists in outer scope 294s returns the current scope variable 294s and does not exist in outer scope 294s returns the current scope variable 294s when a variable with the target name does not exist in current scope 294s but exists in the direct outer scope 294s returns nil 294s and does not exist in all outer scopes 294s returns nil 294s when current scope is block 294s when a variable with the target name exists in current scope 294s and does not exist in outer scope 294s returns the current scope variable 294s and also exists in outer scope 294s returns the current scope variable 294s when a variable with the target name does not exist in current scope 294s and does not exist in all outer scopes 294s returns nil 294s but exists in a indirect outer scope 294s when the direct outer scope is not block 294s returns nil 294s when the direct outer scope is block 294s returns the indirect outer scope variable 294s but exists in the direct outer scope 294s returns the direct outer scope variable 294s #push_scope 294s returns pushed scope object 294s #pop_scope 294s returns popped scope object 294s 294s RuboCop::Cop::Lint::OrderedMagicComments 294s registers an offense and corrects when `-*- encoding : ascii-8bit -*-` magic comment does not precede all other magic comments 294s registers an offense and corrects when using `frozen_string_literal` magic comment is next of shebang 294s registers an offense and corrects when an `encoding` magic comment does not precede all other magic comments 294s does not register an offense when using `encoding: Encoding::SJIS` Hash notation after`frozen_string_literal` magic comment 294s does not register an offense when using `encoding` magic comment is first line 294s does not register an offense when using `encoding` magic comment only 294s does not register an offense when using `encoding` magic comment is next of shebang 294s registers an offense and corrects when `coding` magic comment does not precede all other magic comments 294s does not register an offense when using `frozen_string_literal` magic comment only 294s 294s RuboCop::Cop::Style::SymbolLiteral 294s accepts string syntax when symbol start with a digit 294s accepts string syntax when symbols have whitespaces in them 294s accepts string syntax when symbols have special chars in them 294s registers an offense for word-line symbols using string syntax 294s 294s RuboCop::Cop::Style::RedundantInterpolation 294s registers an offense for "#{$1}" 294s registers an offense for "#$1" 294s registers an offense for "#$var" 294s registers an offense for "#{$var}" 294s registers an offense for "#{@@var}" 294s registers an offense for "#{do_something(42)}" 294s registers an offense for "%|#{1 + 1}|" 294s registers an offense for "#@@var" 294s registers an offense for "#{number}" 294s registers an offense for "#{@var}" 294s accepts strings with characters after the interpolation 294s registers an offense for "#{1 + 1}" 294s registers an offense for "#{do_something 42}" 294s accepts strings that are part of a %W() 294s registers an offense for "#{var}" 294s registers an offense for "#$+" 294s registers an offense for "#{foo.do_something 42}" 294s registers an offense for "#{$+}" 294s registers an offense for "%Q(#{1 + 1})" 294s accepts strings with characters before the interpolation 294s accepts strings implicitly concatenated with a later string 294s accepts strings implicitly concatenated with an earlier string 294s registers an offense for "#{1 + 1; 2 + 2}" 294s registers an offense for "#@var" 294s registers an offense for ["#{@var}"] 294s 294s RuboCop::Cop::Style::RedundantParentheses 294s accepts parentheses in super call with hash 294s accepts parentheses inside an erange 294s registers an offense for parens around a receiver of a method call with an argument 294s registers an offense when there is space around the parentheses 294s accepts parentheses around an irange 294s registers an offense for parens around a literal hash value 294s accepts parentheses around operator keywords 294s registers an offense for parens around last expressions in method body 294s registers an offense for parens around a variable after semicolon 294s accepts parentheses when they touch the preceding keyword 294s registers an offense for parens around an interpolated expression 294s accepts parentheses around a constant passed to when 294s accepts parentheses when enclosed in parentheses at `until-post` 294s registers an offense for parens around last expressions in block body 294s registers an offense for parens around a literal hash value and following newline 294s registers an offense for parens around an integer exponentiation base 294s accepts parentheses around the error passed to rescue 294s registers an offense and corrects an array of multiple heredocs 294s registers an offense and corrects when method arguments are unnecessarily parenthesized 294s accepts parentheses inside an irange 294s registers an offense for parens around a literal in array and following newline 294s registers an offense for parens around a literal in array 294s registers an offense for parens around a negative exponent 294s registers an offense for parens around method body 294s accepts parentheses in yield call with hash 294s accepts parentheses around an erange 294s accepts parentheses when they touch the following keyword 294s registers an offense and corrects for a parenthesized item in a hash where the comma is on a line with the closing parens 294s registers an offense for parens around a positive exponent 294s accepts parentheses when enclosed in parentheses at `while-post` 294s registers an offense for parens around a block body 294s accepts parentheses around a method call with unparenthesized arguments 294s registers an offense for parens around a float exponentiation base 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s when parentheses are used like method argument parentheses 294s accepts parens around the arg 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s ternaries 294s when Style/TernaryParentheses has EnforcedStyle: require_no_parentheses 294s registers an offense for parens around ternary condition 294s when Style/TernaryParentheses is not enabled 294s registers an offense for parens around constant ternary condition 294s when Style/TernaryParentheses has EnforcedStyle: require_parentheses_when_complex 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s when Style/TernaryParentheses has EnforcedStyle: require_parentheses 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a variable 294s behaves like redundant 294s registers an offense for parentheses around an unary operation 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like keyword with arguments 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around an unary operation 294s pin operator 294s behaves like allowed parentheses 294s accepts parentheses on an int literal 294s behaves like allowed parentheses 294s accepts parentheses on a range literal 294s behaves like allowed parentheses 294s accepts parentheses on a hash literal 294s behaves like redundant parentheses 294s registers an offense and corrects a global variable 294s behaves like allowed parentheses 294s accepts parentheses on a function call with no arguments 294s behaves like allowed parentheses 294s accepts parentheses on a method call on an instance variable 294s behaves like redundant parentheses 294s registers an offense and corrects a class variable 294s behaves like allowed parentheses 294s accepts parentheses on a function call with arguments 294s behaves like allowed parentheses 294s accepts parentheses on a method call on a global variable 294s behaves like allowed parentheses 294s accepts parentheses on an expression 294s behaves like allowed parentheses 294s accepts parentheses on a method call on a local variable 294s behaves like redundant parentheses 294s registers an offense and corrects an instance variable 294s behaves like redundant parentheses 294s registers an offense and corrects a local variable 294s behaves like allowed parentheses 294s accepts parentheses on an array literal 294s behaves like allowed parentheses 294s accepts parentheses on a method call on a class variable 294s behaves like keyword with arguments 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s literals in an array 294s when there is a comma on the same line as the closing parentheses 294s registers an offense and corrects when there is assignment 294s registers an offense and corrects when there is a trailing comma 294s registers an offense and corrects when there is a subsequent item 294s registers an offense and corrects when there is no subsequent item 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s when a hash literal is the second argument in a method call 294s registers an offense 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around an unary operation 294s when a non-parenthesized call has an arg and a block 294s accepts parens around the arg 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s behaves like redundant 294s registers an offense for parentheses around a variable 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a constant 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s when the first argument in a method call begins with a hash literal 294s registers an offense if the argument list is parenthesized 294s accepts parentheses if the argument list is not parenthesized 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like keyword with return value 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a variable 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like keyword with return value 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a literal 294s behaves like redundant 294s registers an offense for parentheses around a method call 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like keyword with return value 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like redundant 294s registers an offense for parentheses around a keyword 294s behaves like plausible 294s accepts parentheses when arguments are unparenthesized 294s behaves like redundant 294s registers an offense for parentheses around an unary operation 294s 294s RuboCop::Cop::Lint::IdentityComparison 294s does not register an offense when rhs is `object_id` without receiver 294s does not register an offense when using `==` 294s registers an offense and corrects when using `==` for comparison between `object_id`s 294s does not register an offense when using `==` for comparison between `object_id` and other 294s does not register an offense when lhs is `object_id` without receiver 294s does not register an offense when a receiver that is not `object_id` uses `==` 294s 294s RuboCop::Cop::Style::FrozenStringLiteralComment 294s never 294s registers an offense for a frozen string literal comment below shebang above an encoding comments 294s allows not having a frozen string literal comment under a shebang and an encoding comment 294s registers an offense for a disabled frozen string literal below an encoding comment 294s registers an offense for a frozen string literal comment below a shebang comment 294s accepts not having a frozen string literal comment on the top line 294s registers an offense for a disabled frozen string literal comment below shebang above an encoding comments 294s accepts an empty source 294s registers an offense for a frozen string literal comment on the top line 294s allows not having a frozen string literal comment under an encoding comment 294s accepts not having not having a frozen string literal comment under a shebang 294s accepts a frozen string literal comment under ruby code 294s registers an offense for having a frozen string literal comment after other comments 294s registers an offense for a frozen string literal comment below shebang and encoding comments 294s registers an offense for a disabled frozen string literal below a shebang comment 294s registers an offense for a disabled frozen string literal comment below shebang and encoding comments 294s registers an offense for a disabled frozen string literal comment on the top line 294s registers an offense for a frozen string literal comment below an encoding comment 294s accepts a source with no tokens 294s target_ruby_version < 2.3 294s accepts freezing a string with interpolation 294s accepts freezing a string 294s accepts calling << on a string 294s accepts calling << on a string with interpolation 294s always 294s accepts a source with no tokens 294s accepts an empty source 294s accepts a disabled frozen string literal below an encoding comment 294s accepts a frozen string literal comment below newline-separated magic comments 294s registers an offense for not having a frozen string literal comment under an encoding comment separated by a newline 294s registers an offense for not having a frozen string literal comment when there is only a shebang 294s registers an offense for arbitrary tokens 294s registers an offense with an empty line between magic comments and the code 294s accepts a disabled frozen string literal comment below shebang above an encoding comments 294s accepts a disabled frozen string literal comment below shebang and encoding comments 294s registers an offense for not having a frozen string literal comment under an encoding comment 294s accepts an emacs style combined magic comment 294s registers an offense for having a frozen string literal comment under ruby code 294s registers an offense for not having a frozen string literal comment under a shebang and an encoding comment 294s accepts a frozen string literal comment below shebang and encoding comments 294s registers an offense for not having a frozen string literal comment under a shebang 294s accepts a disabled frozen string literal below a shebang comment 294s registers an offense for an extra first empty line 294s accepts a frozen string literal comment after other comments 294s accepts a frozen string literal comment below shebang above an encoding comments 294s accepts a disabled frozen string literal on the top line 294s registers an offense for not having a frozen string literal comment on the top line 294s accepts a frozen string literal on the top line 294s accepts a frozen string literal below an encoding comment 294s accepts a frozen string literal below a shebang comment 294s always_true 294s registers an offense for not having a frozen string literal comment under a shebang, an encoding comment, and extra space 294s registers an offense for arbitrary tokens below shebang above an encoding comments 294s registers an offense for a disabled frozen string literal above an empty line 294s registers an offense for a disabled frozen string literal comment after other comments 294s accepts an empty source 294s registers an offense for arbitrary tokens below shebang, an encoding comment, and extra space 294s accepts a frozen string literal below an encoding comment 294s registers an offense for arbitrary tokens below an encoding comment 294s registers an offense for a disabled frozen string literal comment below shebang, an encoding comment, and extra space 294s registers an offense for a disabled frozen string literal on the top line 294s registers an offense for not having a frozen string literal comment under an encoding comment and extra space 294s registers an offense for not having a frozen string literal comment under an encoding comment 294s registers an offense for arbitrary tokens below shebang and encoding comments 294s registers an offense for a disabled frozen string literal comment under shebang with no other code 294s registers an offense for a disabled frozen string literal comment below an encoding comment and extra space 294s registers an offense for arbitrary tokens 294s accepts a frozen string literal comment below shebang, an encoding comment, and extra space 294s accepts a frozen string literal comment below shebang and encoding comments 294s accepts a frozen string literal below a shebang comment 294s registers an offense for arbitrary tokens above an empty line 294s accepts a frozen string literal comment after other comments 294s registers an offense for having a frozen string literal comment under ruby code 294s registers an offense for a disabled frozen string literal comment below shebang above an encoding comments 294s registers an offense for not having a frozen string literal comment under a shebang and an encoding comment 294s registers an offense for a disabled frozen string literal comment below shebang and encoding comments 294s accepts a frozen string literal comment under shebang with no other code 294s accepts a frozen string literal on the top line 294s registers an offense for arbitrary tokens under shebang with no other code 294s registers an offense for arbitrary tokens below an encoding comment and extra space 294s accepts a frozen string literal comment below shebang above an encoding comments 294s registers an offense for not having a frozen string literal comment under shebang with no other code 294s registers an offense for a disabled frozen string literal 294s accepts an emacs style combined magic comment 294s registers an offense for arbitrary tokens below a shebang comment 294s registers an offense for a disabled frozen string literal below an encoding comment 294s registers an offense for a disabled frozen string literal below a shebang comment 294s accepts a frozen string literal comment below an encoding comment and extra space 294s registers an offense for an extra first empty line 294s accepts a source with no tokens 294s registers an offense for not having a frozen string literal comment on the top line 294s 294s RuboCop::Cop::Lint::DeprecatedOpenSSLConstant 294s registers an offense with cipher constant and one argument and corrects 294s registers an offense with cipher constant and no arguments and corrects 294s does not register an offense with cipher constant and send argument is a method 294s does not register an offense with cipher constant and argument is a variable 294s registers an offense with AES + blocksize constant and mode argument and corrects 294s registers an offense with cipher constant and double quoted string argument and corrects 294s registers an offense when building an instance using an digest constant and corrects 294s registers an offense with AES + blocksize constant and corrects 294s registers an offense with cipher constant and no arguments and corrects 294s registers an offense with cipher constant and no arguments and corrects 295s registers an offense with cipher constant and two arguments and corrects 295s registers an offense with cipher constant and `cbc` argument and corrects 295s registers an offense when using an digest constant with chained methods and corrects 295s does not register an offense when using ::Digest class methods with an algorithm string and value 295s registers an offense when using ::Digest class methods on an algorithm constant and corrects 295s does not register an offense when building digest using an algorithm string and nested digest constants 295s does not register an offense when building digest using an algorithm string 295s does not register an offense when using cipher with a string 295s registers an offense with cipher constant and no arguments and corrects 295s does not register an offense with cipher constant and argument is a constant 295s when used in a block 295s registers an offense when using ::Digest class methods on an algorithm constant and corrects 295s 295s RuboCop::Config 295s #allowed_camel_case_file? 295s when the passed path matches allowed camel case patterns to include 295s is expected to equal true 295s when the passed path is a gemspec 295s is expected to equal true 295s when the passed path does not match allowed camel case patterns to include 295s is expected to equal false 295s #deprecation_check 295s when there is no AllCops configuration 295s does not yield 295s when there is AllCops configuration 295s if there are is an Excludes key 295s yields 295s if there are no Excludes or Includes keys 295s does not yield 295s if there are is an Includes key 295s yields 295s #for_department 295s accepts a Symbol 295s always returns the department's config 295s #make_excludes_absolute 295s when config is in root directory 295s generates valid absolute directory 295s when config is in subdirectory 295s generates valid absolute directory 295s #possibly_include_hidden? 295s returns true when Include config only includes regular paths 295s returns true when Include config includes a dotfile in a path 295s returns true when Include config includes a regex 295s returns true when Include config includes a toplevel dotfile 295s whether the cop is enabled 295s when an entire cop department is enabled 295s but an individual cop is disabled 295s still disables the cop 295s when a cop has configuration but no explicit Enabled setting 295s enables the cop by default 295s when an entire cop department is disabled 295s but an individual cop is enabled 295s the cop setting overrides the department 295s when configuration has no mention of a cop 295s enables the cop that is not mentioned 295s when all cops are disabled by default 295s disables the cop that is not mentioned 295s when all cops are explicitly enabled by default 295s enables the cop that is not mentioned 295s when an nested cop department is disabled 295s but an individual cop is enabled 295s the cop setting overrides the department 295s and an individual cop is not specified 295s the cop setting overrides the department 295s #patterns_to_include 295s when config file has AllCops => Include key 295s returns the Include value 295s #file_to_include? 295s when the passed path does not match any of patterns to include 295s returns false 295s when the passed path matches any of patterns to include 295s returns true 295s #patterns_to_exclude 295s when config file has AllCops => Exclude key 295s returns the Exclude value 295s #check 295s when a deprecated configuration is detected 295s prints a warning message for the loaded path 295s #validate 295s when the configuration includes a valid enforced style 295s does not raise validation error 295s when the empty section is AllCops 295s raises validation error 295s when the configuration includes an empty section 295s raises validation error 295s when the configuration includes multiple invalid enforced styles 295s raises validation error 295s when the configuration includes multiple valid enforced styles 295s does not raise validation error 295s when the configuration includes multiple but config does not allow 295s raises validation error 295s when the configuration includes obsolete parameters and cops 295s raises validation error 295s when the configuration includes Lint/Syntax cop 295s when the configuration does not match the default 295s raises validation error 295s when the configuration matches the default 295s does not raise validation error 295s when the configuration includes an invalid enforced style 295s raises validation error 295s when the configuration includes any common parameter 295s does not raise validation error 295s when the configuration includes the obsolete Style/WhileUntilModifier: MaxLineLength parameter 295s raises validation error 295s when the configuration is in the base RuboCop config folder 295s is not validated 295s when the configuration includes an invalid EnforcedStyle 295s raises validation error 295s when all cops are both Enabled and Disabled by default 295s raises validation error 295s when the configuration includes multiple valid enforced styles and one invalid style 295s raises validation error 295s when the configuration includes an obsolete EnforcedStyle parameter 295s raises validation error 295s when the configuration includes the obsolete Style/IfUnlessModifier: MaxLineLength parameter 295s raises validation error 295s when the configuration includes an obsolete cop 295s raises validation error 295s when the configuration includes any unrecognized parameter 295s prints a warning message 295s when the configuration includes any unrecognized cop name and given `--ignore-unrecognized-cops` option 295s there is unrecognized cop 295s prints a warning about the cop 295s there are no unrecognized cops 295s does not print any warnings 295s when the configuration includes any unrecognized cop name 295s raises an validation error 295s conflicting Safe settings 295s when the configuration includes an unsafe cop without a declaration of its autocorrection 295s does not raise validation error 295s when the configuration includes an unsafe cop that is explicitly declared to have a safe autocorrection 295s raises validation error 295s when the configuration includes a valid EnforcedStyle 295s does not raise validation error 295s when the configuration includes an obsolete parameter 295s raises validation error 295s #file_to_exclude? 295s when the passed path does not match any of patterns to exclude 295s returns false 295s when the passed path matches any of patterns to exclude 295s returns true 295s #for_badge 295s works if department has no config 295s takes into account the department 295s 295s RuboCop::Cop::Style::ParenthesesAroundCondition 295s accepts parentheses if there is no space between the keyword and (. 295s does not register an offense when parentheses in multiple expressions separated by semicolon 295s accepts parentheses around condition in a ternary 295s is not confused by leading parentheses in subexpression 295s allows parens if the condition node is a modifier rescue op 295s allows parens if the condition node is a modifier unless op 295s allows parens if the condition node is a modifier if op 295s does not blow up for empty if condition 295s does not blow up when the condition is a ternary op 295s allows parens if the condition node is a modifier until op 295s is not confused by parentheses in subexpression 295s allows parens if the condition node is a modifier while op 295s does not blow up for empty unless condition 295s registers an offense for parentheses around condition 295s safe assignment is not allowed 295s does not accept variable assignment in condition surrounded with parentheses 295s does not accept element assignment in condition surrounded with parentheses 295s safe assignment is allowed 295s accepts variable assignment in condition surrounded with parentheses 295s accepts element assignment in condition surrounded with parentheses 295s accepts setter in condition surrounded with parentheses 295s parentheses in multiline conditions are not allowed 295s registers an offense for parentheses around multiline condition 295s parentheses in multiline conditions are allowed 295s registers an offense for parentheses in single line condition 295s accepts parentheses around multiline condition 295s 295s RuboCop::Cop::Style::Documentation 295s registers an offense for empty module without documentation 295s registers an offense for a deeply nested class 295s registers an offense for compact-style nested class 295s accepts non-empty class with annotation comment followed by other comment 295s registers an offense for non-empty class 295s accepts non-empty module with documentation 295s accepts non-empty class with comment that ends with an annotation 295s registers an offense for non-empty class with annotation comment 295s registers an offense if the comment line contains code 295s registers offense for non-empty class with frozen string comment 295s accepts namespace module which defines constants 295s accepts namespace class without documentation 295s does not consider comment followed by empty line to be class documentation 295s accepts namespace class which defines constants 295s registers an offense for non-empty cbase class 295s registers an offense for non-empty class with encoding comment 295s accepts empty class without documentation 295s does not raise an error for an implicit match conditional 295s registers an offense for non-empty class with directive comment 295s accepts non-empty class with documentation 295s registers an offense for compact-style nested module 295s accepts namespace module without documentation 295s registers an offense for non-namespace 295s with # :nodoc: 295s registers an offense for nested class without documentation 295s accepts non-namespace module without documentation 295s accepts compact-style nested module without documentation 295s accepts compact-style nested class without documentation 295s registers an offense for nested module without documentation 295s accepts non-namespace class without documentation 295s with `all` modifier 295s accepts nested module without documentation 295s with `all` modifier 295s accepts nested class without documentation 295s on a subclass 295s accepts non-namespace subclass without documentation 295s registers an offense for nested subclass without documentation 295s with `all` modifier 295s accepts nested subclass without documentation 295s when AllowedConstants is configured 295s ignores the constants in the config 295s sparse and trailing comments 295s ignores sparse comments inside class node 295s ignores comments after module node end 295s ignores comments after class node end 295s ignores sparse comments inside module node 295s without documentation 295s with non-empty module 295s with constants visibility declaration content 295s does not register an offense 295s with non-empty class 295s with constants visibility declaration content 295s does not register an offense 295s macro-only class 295s registers offense for macro with other methods 295s does not register offense with multiple macros 295s does not register offense with single macro 295s 295s RuboCop::Cop::Style::TrailingBodyOnClass 295s accepts class inheritance 295s autocorrects with comment after body 295s registers offense with multi-line class 295s registers an offense when body trails after class definition 295s accepts regular class 295s when class is not on first line of processed_source 295s autocorrect offense 295s 295s RuboCop::Cop::Layout::HeredocArgumentClosingParenthesis 295s correct cases 295s accepts correct case with other param before 295s accepts double correct case 295s accepts simple correct case 295s accepts hash correct case 295s accepts method with heredoc argument of proc correct case 295s accepts method chain with heredoc argument correct case 295s accepts correct case with other param after 295s accepts double correct case new line 295s accepts when there is an argument between a heredoc argument and the closing paretheses 295s accepts double correct case nested 295s invocation after the HEREDOC 295s ignores random call after 295s ignores random call 295s ignores tr 295s incorrect cases 295s incorrect case nested method call with comma 295s detects 295s simple incorrect case comma with spaces and comma in heredoc 295s detects 295s simple incorrect case comma with spaces 295s detects 295s incorrect case with other param before 295s detects 295s simple incorrect case squiggles 295s detects 295s incorrect case in array with spaced out comma 295s detects 295s incorrect case in array with double heredoc and spaced out comma 295s detects 295s double case new line 295s detects and fixes 295s simple incorrect case hash 295s detects 295s simple incorrect case with call after trailing comma 295s detects 295s simple incorrect case with call after 295s detects 295s incorrect case with other param before constructor 295s detects 295s simple incorrect case comma 295s detects 295s double incorrect case new line chained calls 295s detects 295s incorrect case with other param before constructor and raise call 295s detects 295s simple incorrect case 295s detects 295s incorrect case in array with nested calls and double heredoc and spaced out comma 295s detects 295s double incorrect case 295s detects 295s complex incorrect case with multiple calls 295s detects and fixes the first 295s detects and fixes the second 295s nested incorrect case 295s detects 295s complex chained incorrect case with multiple calls 295s detects and fixes the first 295s incorrect case with other param after 295s detects 295s 295s RuboCop::Cop::InternalAffairs::CopDescription 295s The description starts with a word such as verb 295s does not register if the description starts with non-verb word 295s does not register if the description like `Checks` 295s There is no description comment 295s does not register offense 295s The description starts with `This cop ...` 295s registers an offense if the description like `This cop is ...` 295s registers an offense if using an auxiliary verb 296s registers an offense and corrects if using just a verb 296s 296s RuboCop::Cop::Style::LambdaCall 296s when style is set to braces 296s accepts a call without receiver 296s autocorrects x.call asdf, x123 to x.(asdf, x123) 296s registers an offense for x.call() 296s registers an offense for correct + multiple opposite styles 296s autocorrects x.call to x.() 296s registers an offense for opposite + correct 296s when style is set to call 296s registers an offense for correct + multiple opposite styles 296s registers an offense for x.() 296s registers an offense for correct + opposite 296s 296s RuboCop::Cop::InternalAffairs::RedundantLetRuboCopConfigNew 296s registers an offense when using `let(:config)` with no argument `RuboCop::Config.new` and `:config` is specified 296s registers an offense when using `let(:config)` and `:config` is already specified in `describe` 296s does not register an offense when using `let(:config)` with arguments to `RuboCop::Config.new` 296s registers an offense when using `let(:config)` and `:config` is not specified in `describe` 296s 296s RuboCop::Cop::Severity 296s redefines == to compare severities 296s has a few required attributes 296s is frozen 296s overrides #to_s 296s constructs from code 296s E 296s is expected to eq # 296s W 296s is expected to eq # 296s F 296s is expected to eq # 296s I 296s is expected to eq # 296s C 296s is expected to eq # 296s R 296s is expected to eq # 296s #code 296s error 296s is expected to eq "E" 296s convention 296s is expected to eq "C" 296s info 296s is expected to eq "I" 296s refactor 296s is expected to eq "R" 296s warning 296s is expected to eq "W" 296s fatal 296s is expected to eq "F" 296s #level 296s convention 296s is expected to eq 3 296s info 296s is expected to eq 1 296s refactor 296s is expected to eq 2 296s fatal 296s is expected to eq 6 296s error 296s is expected to eq 5 296s warning 296s is expected to eq 4 296s Comparable 296s info 296s is expected to be < refactor 296s error 296s is expected to be < fatal 296s warning 296s is expected to be < error 296s convention 296s is expected to be < warning 296s refactor 296s is expected to be < convention 296s 296s RuboCop::Formatter::OffenseCountFormatter 296s #finished 296s when there are many offenses 296s when --display-style-guide was given 296s shows links and sorts by offense count first and then by cop name 296s when --display-style-guide was not given 296s sorts by offense count first and then by cop name 296s when output tty is true 296s has a progress bar 296s #report_summary 296s when an offense is detected 296s shows the cop and the offense count 296s #file_finished 296s when any offenses are detected 296s increments the count for the cop in offense_counts 296s when no offenses are detected 296s does not add to offense_counts 296s 296s RuboCop::Cop::Style::DoubleCopDisableDirective 296s does not register an offense for cops with single cop directive 296s registers an offense for duplicate disable directives 296s registers an offense for duplicate todo directives 296s 296s RuboCop::Cop::Layout::EmptyLineAfterGuardClause 296s registers an offense and corrects when using `or return` before guard condition 296s accepts a guard clause followed by end 296s accepts using guard clause is after `raise` 296s registers and corrects when using guard clause is after `rubocop:disable` comment 296s registers an offense and corrects a `raise` guard clause not followed by empty line when `unless` condition is after heredoc 296s accepts a guard clause that is after a multiline heredoc with chained calls 296s registers an offense and corrects `next` guard clause not followed by empty line 296s accepts a guard clause followed by empty line when guard clause including heredoc 296s accepts multiple guard clauses 296s registers an offense and corrects a next guard clause not followed by empty line when guard clause is after heredoc including string interpolation 296s does not register an offense when the clause is not followed by other code 296s accepts a guard clause when the next line is `else` 296s accepts a guard clause when the next line is `ensure` 296s accepts a guard clause that is after a multiline heredoc nested argument call 296s accepts a `raise` guard clause not followed by empty line when guard clause is after condition without method invocation 296s does not register an offense when the clause ends with a semicolon but is followed by a newline 296s registers an offense and corrects a guard clause that is a ternary operator 296s registers an offense and corrects a `raise` guard clause not followed by empty line when guard clause is after method call with argument 296s accepts a guard clause inside oneliner block 296s registers an offense and corrects a guard clause not followed by empty line 296s accepts a guard clause that is after multiline heredoc 296s registers no offenses using heredoc with `and return` before guard condition with empty line 296s accepts modifier if 296s registers an offense when the clause ends with a semicolon but the next clause is on the next line 296s accepts a guard clause after a single line heredoc 296s accepts a guard clause when the next line is `rescue`-`else` 296s does not register an offense when there are multiple clauses on the same line 296s registers an offense and corrects a `raise` guard clause not followed by empty line when `if` condition is after heredoc 296s registers and corrects when using guard clause is after `rubocop:enable` comment 296s registers an offense and corrects when using `and return` before guard condition 296s accepts a guard clause when the next line is `rescue` 296s registers an offense and corrects a guard clause not followed by empty line when guard clause including heredoc 296s accepts a guard clause when the next line is `elsif` 296s registers an offense and corrects only the last guard clause 296s accepts a modifier if when the next line is `end` 296s registers an offense and corrects a method starting with end_ 296s registers an offense and corrects a guard clause is before `begin` 296s registers an offense and corrects using heredoc with `and return` before guard condition 296s accepts using guard clause is after `rubocop:enable` comment 296s 296s RuboCop::Cop::Style::SelfAssignment 296s registers an offense for non-shorthand assignment & and @x 296s registers an offense for non-shorthand assignment | and @x 296s registers an offense for non-shorthand assignment ** and @x 296s registers an offense for non-shorthand assignment && and @@x 296s registers an offense for non-shorthand assignment | and @@x 296s registers an offense for non-shorthand assignment * and @@x 296s registers an offense for non-shorthand assignment || and @x 296s registers an offense for non-shorthand assignment + and @@x 296s registers an offense for non-shorthand assignment * and x 296s registers an offense for non-shorthand assignment & and @@x 296s registers an offense for non-shorthand assignment + and x 296s registers an offense for non-shorthand assignment - and @x 296s registers an offense for non-shorthand assignment || and x 296s registers an offense for non-shorthand assignment + and @x 296s registers an offense for non-shorthand assignment & and x 296s registers an offense for non-shorthand assignment || and @@x 296s registers an offense for non-shorthand assignment | and x 296s registers an offense for non-shorthand assignment && and x 296s registers an offense for non-shorthand assignment / and x 296s registers an offense for non-shorthand assignment / and @x 296s registers an offense for non-shorthand assignment ** and @@x 296s registers an offense for non-shorthand assignment ** and x 296s registers an offense for non-shorthand assignment - and @@x 296s registers an offense for non-shorthand assignment / and @@x 296s registers an offense for non-shorthand assignment - and x 296s registers an offense for non-shorthand assignment * and @x 296s registers an offense for non-shorthand assignment && and @x 296s 296s RuboCop::Cop::Lint::DeprecatedConstants 296s registers and corrects an offense when using `TRUE` 296s does not register an offense when using `__ENCODING__ 296s registers and corrects an offense when using `::TRUE` 296s does not register an offense when not using deprecated constant 296s registers and corrects an offense when using deprecated methods that have no deprecated version 296s registers and corrects an offense when using `::Triple::Nested::Constant` 296s registers and corrects an offense when using `NIL` 296s registers and corrects an offense when using deprecated methods that have no alternative 296s registers and corrects an offense when using `::FALSE` 296s registers and corrects an offense when using `FALSE` 296s registers and corrects an offense when using `::NIL` 296s Ruby <= 2.7 296s does not register an offense when using `Random::DEFAULT` 296s Ruby <= 2.5 296s does not register an offense when using `Net::HTTPServerException` 296s Ruby >= 2.6 296s registers and corrects an offense when using `Net::HTTPServerException` 296s Ruby >= 3.0 296s registers and corrects an offense when using `::Random::DEFAULT` 296s registers and corrects an offense when using `Random::DEFAULT` 296s 296s RuboCop::Cop::Style::RedundantSelfAssignment 296s does not register an offense when lhs and receiver are different 296s registers an offense and corrects when assigning to attribute of `self` 296s does not register an offense when assigning to attribute of `self` the result from other object 296s registers an offense and corrects when assigning to attribute of non `self` 296s does not register an offense when there is no a receiver 296s when lhs and receiver are the same 296s registers an offense and corrects when assigning to class variable 296s registers an offense and corrects when assigning to global variable 296s registers an offense and corrects when assigning to local variable 296s registers an offense and corrects when assigning to instance variable 296s 296s RuboCop::Cop::Lint::RedundantRequireStatement 296s registers an offense when using requiring `enumerator` in condition 296s registers an offense when using requiring `enumerator` with modifier form 296s registers an offense when using requiring `enumerator` 296s target ruby version >= 2.1 296s register an offense and corrects when using requiring `thread` or already redundant features 296s target ruby version <= 2.0 296s does not register an offense when using requiring `thread` 296s target ruby version < 3.1 296s does not register an offense and corrects when using requiring `fiber` 296s target ruby version <= 2.6 296s does not register an offense when using requiring `ruby2_keywords` 296s target ruby version >= 2.7 296s registers an offense when using requiring `ruby2_keywords` or already redundant features 296s target ruby version <= 2.1 296s does not register an offense when using requiring `rational`, `complex` 296s target ruby version >= 2.2 296s registers an offense when using requiring `rational`, `complex` 296s target ruby version >= 3.1 296s registers an offense and corrects when using requiring `fiber` or already redundant features 296s target ruby version >= 3.2 296s registers an offense and corrects when using requiring `set` 296s target ruby version >= 2.5 296s register an offense and corrects when using requiring `pp` or already redundant features 296s target ruby version <= 2.4 296s does not register an offense when using requiring `pp` 296s 296s RuboCop::Cop::InternalAffairs::ExampleDescription 296s with `expect_no_offenses` 296s does not register an offense when given an unexpected description 296s does not register an offense when given a proper description 296s does not crash when given a proper description that is split with + 296s registers an offense when given an improper description 296s when not making an expectation on offenses 296s does not register an offense 296s with `expect_no_corrections` 296s registers an offense when given an improper description 296s in conjunction with expect_offense 296s registers an offense when given an improper description 296s with `expect_offense` 296s registers an offense when given an improper description 296s does not register an offense when given a proper description 296s does not register an offense when given an unexpected description 296s with `expect_correction` 296s registers an offense when given an improper description 296s in conjunction with expect_offense 296s registers an offense when given an improper description 296s when the description is invalid for both methods 296s registers an offense for the first method encountered 296s 296s RuboCop::Formatter::GitHubActionsFormatter 296s #finished 296s when file is relative to the current directory 296s reports offenses as error with the relative path 296s when fail level is defined 296s reports offenses above or at fail level as errors 296s reports offenses below fail level as warnings 296s when offenses are detected 296s reports offenses as errors 296s when no offenses are detected 296s does not print anything 296s when message contains % 296s escapes message 296s 296s RuboCop::Formatter::FileListFormatter 296s #file_finished 296s displays parsable text 296s 296s RuboCop::YAMLDuplicationChecker 296s when yaml has duplicated keys in the second level 296s calls block with keys 296s calls block 296s when yaml does not have any duplication 296s does not call block 296s when yaml has duplicated keys in the top level 296s calls block 296s calls block with keys 296s 296s RuboCop::Cop::Style::ClassMethodsDefinitions 296s when EnforcedStyle is def_self 296s removes empty class << self when correcting 296s correctly handles methods with annotation comments 296s registers an offense and corrects when defining class methods with `class << self` and there is no blank line between method definition and attribute accessor 296s correctly handles class << self containing multiple methods 296s registers and corrects an offense when defining class methods with `class << self` with comment only body 296s does not register an offense when `class << self` contains non public methods 296s registers an offense and corrects when defining class methods with `class << self` 296s registers and corrects an offense when defining class methods with `class << self` with inline comment 296s does not register an offense when class << self contains only class methods 296s does not register an offense when class << self does not contain methods 296s does not register an offense when defining singleton methods using `self << object` 296s correctly handles def self.x within class << self 296s does not register an offense when defining class methods with `def self.method` 296s when EnforcedStyle is self_class 296s does not register an offense when defining singleton methods not on self 296s does not register an offense when defining class methods with `class << self` 296s registers an offense when defining class methods with `def self.method` 296s 296s RuboCop::Cop::Lint::RedundantSafeNavigation 296s registers an offense and corrects when `&.` is used inside `#{loop_type}` condition 296s registers an offense and corrects when `&.` is used inside `unless` condition 296s registers an offense and corrects when `&.` is used inside complex condition 296s does not register an offense when using `&.` with non-allowed method in condition 296s registers an offense and corrects when `&.` is used inside `#{loop_type}` condition 296s does not register an offense when using `&.` outside of conditions 296s registers an offense and corrects when `&.` is used inside `if` condition 296s does not register an offense when using `&.respond_to?` with `nil` specific method as argument in condition 296s 296s RuboCop::Cop::InternalAffairs::UselessMessageAssertion 296s registers an offense for described_class::MSG in let 296s does not register an offense for an assertion about the message 296s registers an offense for specs that expect offense using the MSG 296s registers an offense for specs that assert using the MSG 296s 296s RuboCop::Cop::Naming::PredicateName 296s with method definition macros 296s accepts method name when corrected name is invalid identifier 296s registers an offense when using `define_method` 296s registers an offense when using an internal affair macro 296s without restricted prefixes 296s registers an offense when method name starts with "is" 296s registers an offense when method name starts with "has" 296s accepts method name that starts with unknown prefix 296s accepts method name when corrected name is invalid identifier 296s without method definition macros 296s accepts method name when corrected name is invalid identifier 296s does not register any offenses when using an internal affair macro 296s registers an offense when using `define_method` 296s with restricted prefixes 296s accepts method name when corrected name is invalid identifier 296s accepts method name that is an assignment 296s registers an offense when method name starts with "has" 296s accepts method name that starts with unknown prefix 296s registers an offense when method name starts with "is" 296s with permitted predicate names 296s accepts method name which is in permitted list 296s 296s RuboCop::Cop::Lint::NonDeterministicRequireOrder 296s when not requiring files 296s does not register an offense 296s when requiring files 296s with sorted index 296s does not register an offense 296s when Ruby 2.7 or lower 296s with direct block glob 296s registers an offense and autocorrects to add .sort.each 296s with require_relative block passed as parameter 296s registers an offense and autocorrects to add sort 296s with top-level ::Dir 296s registers an offense and corrects to add .sort.each 296s with require block passed as parameter 296s registers an offense and autocorrects to add sort 296s with unsorted glob 296s registers an offense and autocorrects to add .sort 296s with top-level ::Dir 296s registers an offense and corrects to add .sort 296s with require block passed as parameter 296s registers an offense an autocorrects to add sort 296s with unsorted index 296s registers an offense and autocorrects to add .sort when the numblock has `require` 296s registers an offense with extra logic 296s registers an offense and autocorrects to add .sort when the block has `require` 296s registers an offense and autocorrects to add .sort when the block has `require_relative` 296s with require_relative block passed as parameter 296s registers an offense an autocorrects to add sort 296s with top-level ::Dir 296s registers an offense and corrects to add .sort 296s with require block passed as parameter 296s registers an offense an autocorrects to add sort 296s with sorted glob 296s does not register an offense 296s when Ruby 3.0 or higher 296s with `Dir[]` 296s does not register an offense 296s with extra logic 296s does not register an offense 296s with top-level ::Dir 296s does not register an offense 296s with require block passed as parameter 296s does not register an offense 296s with `Dir.glob` 296s does not register an offense 296s with top-level ::Dir 296s does not register an offense 296s with `sort: false` keyword option 296s does not register an offense 296s with require block passed as parameter 296s does not register an offense 296s with direct block glob 296s does not register an offense 296s with require block passed as parameter 296s does not register an offense 296s with top-level ::Dir 296s does not register an offense 296s 296s RuboCop::Cop::Lint::ShadowedException 296s modifier rescue 296s accepts rescue in its modifier form 296s single rescue 296s registers an offense rescuing Exception with any other error or exception 296s registers an offense for the same exception multiple times 296s accepts rescuing a single exception that has an ensure 296s accepts rescuing a single exception 296s accepts an empty rescue 296s accepts rescuing a custom exception and a standard exception 296s registers an offense rescuing exceptions that are ancestors of each other 296s accepts splat arguments passed to rescue 296s accepts rescue containing multiple same error code exceptions 296s accepts rescuing a single exception that has an else 296s accepts rescuing a multiple exceptions that are not ancestors that have an else 296s accepts rescuing a single exception that is assigned to a variable 296s accepts rescuing a single custom exception 296s accepts rescuing multiple custom exceptions 296s rescue a exception without causing constant name deprecation warning 296s when there are multiple levels of exceptions in the same rescue 296s registers an offense for more than two exceptions 296s registers an offense for two exceptions 296s multiple rescues 296s registers an offense when a higher level exception is rescued before a lower level exception when there are multiple exceptions rescued in a group 296s registers an offense rescuing Exception before an unknown exceptions 296s accepts rescuing exceptions in order of level 296s registers an offense rescuing out of order exceptions when there is an ensure 296s accepts rescuing exceptions in order of level with multiple exceptions in a group 296s registers an offense for two exceptions when there are multiple levels of exceptions in the same rescue 296s accepts rescuing a known exception between unknown exceptions 296s ignores expressions of non-const 296s accepts rescuing a known exception before an unknown exceptions 296s registers an offense when a higher level exception is rescued before a lower level exception 296s accepts rescuing exceptions in order of level with multiple exceptions in a group with custom exceptions 296s accepts rescuing custom exceptions in multiple rescue groups 296s accepts many (>= 7) rescue groups 296s accepts rescuing a known exception after an unknown exceptions 296s last rescue does not specify exception class 296s highlights range ending at rescue keyword 296s splat arguments 296s accepts splat arguments passed to multiple rescues 296s does not register an offense for splat arguments rescued after rescuing a known exception 296s registers an offense for splat arguments rescued after rescuing Exception 296s exceptions from different ancestry chains 296s accepts rescuing exceptions in another order 296s accepts rescuing exceptions in one order 296s 296s RuboCop::Cop::Lint::Void 296s registers two offenses for void literals in a `#each` method 296s registers an offense for void op === if not on last line 296s accepts void op <=> if on last line 296s registers an offense for void op < if not on last line 296s accepts void op * by itself without a begin block 296s registers an offense for void op > if not on last line 296s accepts method with erange block 296s registers an offense for void op <= if not on last line 296s registers an offense for void var @var if not on last line 296s handles explicit begin blocks 296s registers an offense for void literal in a method definition 296s registers an offense for void op % if not on last line 296s accepts void op % if on last line 296s registers an offense for void op <=> if not on last line 296s accepts void op - if on last line 296s registers an offense for void op - if not on last line 296s registers an offense for void op == if not on last line 296s accepts void op / by itself without a begin block 296s registers an offense for void var @@var if not on last line 296s accepts void unary op ! if on last line 296s registers an offense for void var var if not on last line 296s registers two offenses for void literals in `#tap` method 296s registers two offenses for void literals in a `for` 296s accepts void op == by itself without a begin block 296s accepts void op <= if on last line 296s registers two offenses for void literals in an initialize method 296s accepts void unary op - by itself without a begin block 296s accepts backtick commands 296s registers an offense for void sign op - if not on last line 296s accepts void unary op ~ by itself without a begin block 296s accepts void op / if on last line 296s registers an offense for void lit :test if not on last line 296s accepts void op >= if on last line 296s accepts void op < if on last line 296s accepts void op + by itself without a begin block 296s accepts void op != if on last line 297s accepts void unary op + if on last line 297s registers an offense for void lit 1 if not on last line 297s registers an offense for void sign op + if not on last line 297s accepts void op - by itself without a begin block 297s accepts void op > if on last line 297s registers an offense for void op / if not on last line 297s accepts void unary op ~ if on last line 297s accepts void op >= by itself without a begin block 297s registers an offense for void lit [1] if not on last line 297s accepts void unary op ! by itself without a begin block 297s accepts void op + if on last line 297s accepts void unary op + by itself without a begin block 297s registers an offense for void var $var if not on last line 297s registers an offense for void var VAR if not on last line 297s registers an offense for void lit {} if not on last line 297s registers two offenses for void literals in a setter method 297s registers an offense for void unary op ! if not on last line 297s accepts short call syntax 297s registers an offense for void op != if not on last line 297s accepts void op % by itself without a begin block 297s registers an offense for void `self` if not on last line 297s accepts void unary op - if on last line 297s accepts void op === by itself without a begin block 297s accepts percent-x commands 297s accepts void op == if on last line 297s accepts void op != by itself without a begin block 297s registers an offense for void lit /test/ if not on last line 297s accepts void op > by itself without a begin block 297s handles `#each` block with single expression 297s accepts void op <= by itself without a begin block 297s registers an offense for void unary op ~ if not on last line 297s accepts void op < by itself without a begin block 297s registers an offense for void op + if not on last line 297s accepts empty block 297s registers an offense for void lit 2.0 if not on last line 297s accepts method with irange block 297s accepts void op === if on last line 297s registers an offense for void op >= if not on last line 297s accepts void op <=> by itself without a begin block 297s registers an offense for void op * if not on last line 297s accepts void op * if on last line 297s registers an offense for void `defined?` if not on last line 297s Ruby 2.7 297s registers two offenses for void literals in `#tap` method 297s when not checking for methods with no side effects 297s does not register an offense for void nonmutating methods 297s when checking for methods with no side effects 297s registers an offense if not on last line 297s registers an offense for chained methods 297s 297s RuboCop::Cop::Lint::RequireRelativeSelfPath 297s does not register an offense when using a variable as an argument of `require_relative` 297s does not register an offense when using `require_relative` without self file path argument 297s does not register an offense when the filename is the same but the extension does not match 297s does not register an offense when using `require_relative` without argument 297s registers an offense when using `require_relative` with self file path argument 297s registers an offense when using `require_relative` with self file path argument (with ext) 297s 297s RuboCop::Cop::Style::LineEndConcatenation 297s registers multiple offenses when there are chained concatenations 297s registers an offense for string concat at line end 297s accepts string concat at line end when % literals are involved 297s registers offenses only for the appropriate lines in chained concats 297s autocorrects only the lines that should be autocorrected 297s accepts string concat on the same line 297s registers an offense for dynamic string concat at line end 297s autocorrects a + with \ to just \ 297s accepts string concat with a return value of method on an interpolated string 297s accepts string concat at line end when followed by comment 297s registers an offense for string concat with << and \ at line ends 297s accepts string concat at line end for special strings like __FILE__ 297s registers multiple offenses when there are chained concatenationscombined with << calls 297s autocorrects a + with trailing whitespace to \ 297s accepts string concat at line end when followed by a comment line 297s registers an offense for dynamic string concat with << at line end 297s registers an offense for string concat with << at line end 297s registers multiple offenses when there are chained << methods 297s accepts string concat with a return value of method on a string 297s 297s RuboCop::Cop::Style::EmptyLambdaParameter 297s accepts a keyword lambda 297s does not crash on a super 297s registers an offense for an empty block parameter with a lambda 297s 297s RuboCop::Cop::Lint::RedundantDirGlobSort 297s does not register an offense when using `sort` without a receiver 297s does not register an offense when not using `sort` for `Dir` 297s when Ruby 2.7 or lower 297s does not register an offense and correction when using `Dir[].sort.each do` 297s does not register an offense and correction when using `Dir.glob.sort` 297s does not register an offense and correction when using `::Dir.glob.sort` 297s does not register an offense and correction when using `Dir[].sort.each(&do_something)` 297s when Ruby 3.0 or higher 297s does not register an offense when using `collection.sort` 297s registers an offense and correction when using `::Dir.glob.sort` 297s does not register an offense when using `Dir[*path].sort` 297s registers an offense and correction when using `Dir[].sort.each do` 297s registers an offense and correction when using `Dir[].sort.each(&do_something)` 297s does not register an offense when not using `sort` with `sort: false` option for `Dir` 297s does not register an offense when using `Dir['./b/*.txt', './a/*.txt'].sort` 297s registers an offense and correction when using `Dir.glob.sort` 297s does not register an offense when using `Dir.glob('./b/*.txt', './a/*.txt').sort` 297s does not register an offense when using `Dir.glob(*path).sort` 297s 297s RuboCop::Cop::Lint::ParenthesesAsGroupedExpression 297s does not register an offense for expression followed by an operator 297s accepts a space inside opening paren followed by left paren 297s does not register an offense for a call with multiple arguments 297s does not register an offense for expression followed by chained expression with safe navigation operator 297s does not register an offense when method argument parentheses are omitted and hash argument key is enclosed in parentheses 297s does not register an offense for expression followed by chained expression 297s does not register an offense for math expression with `to_i` 297s accepts a chain of method calls 297s accepts a method call with arguments but no parentheses 297s accepts a method call without arguments 297s does not register an offense for math expression 297s does not register an offesne when heredoc has a space between the same string as the method name and `(` 297s accepts method with parens as arg to method without 297s accepts an operator call with argument in parentheses 297s registers an offense and corrects for method call with space before the parenthesis 297s registers an offense and corrects for predicate method call with space before the parenthesis 297s does not register an offense for ternary operator 297s when using safe navigation operator 297s registers an offense and corrects for method call with space before the parenthesis 297s 297s RuboCop::Cop::Lint::EmptyConditionalBody 297s registers an offense for missing `elsif` body that is not the one with a comment 297s registers an offense for missing all branches of `if` and `elsif` body 297s registers an offense for missing `elsif` body 297s does not register an offense for missing `if` body with a comment 297s registers an offense for missing `if` and `else` body 297s registers an offense for missing `if` body with present `else` body 297s registers an offense for missing `if` body 297s registers an offense for missing `unless` body with `else` 297s registers an offense for missing `unless` and `else` body 297s does not register an offense for missing `elsif` body with a comment 297s registers an offense for missing `if` body with `elsif` 297s does not register an offense for missing `elsif` body with an inline comment 297s registers an offense for missing `if` and `else` body with some indentation 297s does not register an offense for missing `unless` body with a comment 297s registers an offense for missing `unless` body 297s registers an offense for missing second `elsif` body without an inline comment 297s registers an offense for missing all branches of `if` and multiple `elsif` body 297s autocorrects properly when the if is assigned to a variable 297s registers an offense for missing `if` and `elsif` body 297s registers an offense for missing `if` body with `else` 297s when AllowComments is false 297s registers an offense for missing `if` body with a comment 297s registers an offense for missing `elsif` body with a comment 297s registers an offense for missing `unless` body with a comment 297s 297s RuboCop::Cop::Lint::AmbiguousAssignment 297s does not register an offense when no mistype assignments 297s registers an offense when using `-` with `x` 297s does not register an offense when no mistype assignments 297s registers an offense when using `*` with `x` 297s registers an offense when using `!` with `X` 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s registers an offense when using `*` with `@@x` 297s registers an offense when using `!` with `@x` 297s does not register an offense when no mistype assignments 297s registers an offense when using `-` with `@@x` 297s registers an offense when using `!` with `x` 297s does not register an offense when no mistype assignments 297s registers an offense when using `!` with `$x` 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s registers an offense when using `-` with `@x` 297s does not register an offense when no mistype assignments 297s registers an offense when using `+` with `$x` 297s registers an offense when using `+` with `X` 297s does not register an offense when no mistype assignments 297s registers an offense when using `-` with `X` 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s does not register an offense when no mistype assignments 297s registers an offense when using `!` with `@@x` 297s does not register an offense when no mistype assignments 297s registers an offense when using `*` with `X` 297s registers an offense when using `*` with `@x` 297s registers an offense when using `-` with `$x` 297s registers an offense when using `+` with `@x` 297s does not register an offense when no mistype assignments 297s registers an offense when using `*` with `$x` 297s registers an offense when using `+` with `x` 297s registers an offense when using `+` with `@@x` 297s 297s RuboCop::Cop::Lint::SuppressedException 297s with AllowComments set to true 297s registers an offense for empty rescue on single line with a comment after it 297s does not register an offense for empty rescue with comment 297s Ruby 2.7 or higher 297s when empty rescue for `do` block with a numbered parameter 297s registers an offense for empty rescue without comment 297s does not register an offense for empty rescue with comment 297s when empty rescue for `defs` 297s registers an offense for empty rescue without comment 297s does not register an offense for empty rescue with comment 297s when empty rescue for `def` 297s does not register an offense for empty rescue with comment 297s registers an offense for empty rescue without comment 297s Ruby 2.5 or higher 297s when empty rescue for `do` block 297s registers an offense for empty rescue without comment 297s does not register an offense for empty rescue with comment 297s with AllowComments set to false 297s registers an offense for empty rescue block 297s does not register an offense for rescue with body 297s when empty rescue for defs 297s registers an offense for empty rescue without comment 297s registers an offense for empty rescue with comment 297s Ruby 2.5 or higher 297s when empty rescue for `do` block 297s registers an offense for empty rescue without comment 297s registers an offense for empty rescue with comment 297s when empty rescue for `def` 297s registers an offense for empty rescue with comment 297s registers an offense for empty rescue without comment 297s with AllowNil set to false 297s registers an offense for rescue block with nil 297s registers an offense for inline nil rescue 297s with AllowNil set to true 297s does not register an offense for inline nil rescue 297s does not register an offense for rescue block with nil 297s 297s RuboCop::Cop::Style::SlicingWithRange 297s >= Ruby 2.7 297s reports no offense for startless 297s <= Ruby 2.5 297s reports no offense for array slicing with -1 297s >= Ruby 2.6 297s reports an offense for slicing from expression to ..-1 297s reports an offense for slicing to ..-1 297s reports no offense for excluding end 297s reports no offense for array with range inside 297s reports no offense for other methods 297s 297s RuboCop::Cop::Lint::ShadowedArgument 297s block argument shadowing 297s when a block local variable is assigned but no argument is shadowed 297s accepts 297s when multiple arguments are shadowed 297s and one of them shadowed within a lambda while another is shadowed outside 297s registers an offense 297s when a single argument is shadowed 297s registers an offense 297s when binding is used 297s registers an offense 297s when IgnoreImplicitReferences config option is set to true 297s accepts 297s and shadowed within a block 297s registers an offense without specifying where the reassignment took place 297s and the block is nested within a block 297s registers an offense without specifying where the reassignment took place 297s and the argument was used before shadowing 297s accepts 297s and was used before shadowing 297s accepts 297s and the argument was not shadowed outside the block 297s accepts 297s and the block is nested within a conditional 297s registers an offense without specifying where the reassignment took place 297s and the argument was used before shadowing 297s accepts 297s and the block occurs after the reassignment 297s registers an offense 297s and shadowed within a conditional 297s registers an offense without specifying where the reassignment took place 297s and was used before shadowing 297s accepts 297s and the argument was not shadowed outside the conditional 297s accepts 297s and the conditional is nested within a lambda 297s registers an offense without specifying where the reassignment took place 297s and the argument was used before shadowing 297s accepts 297s and the conditional occurs after the reassignment 297s registers an offense 297s and the conditional is nested within a conditional 297s registers an offense without specifying where the reassignment took place 297s and the argument was used before shadowing 297s accepts 297s and the argument is not used 297s accepts 297s when zsuper is used 297s accepts 297s method argument shadowing 297s when a single argument is shadowed 297s registers an offense 297s when argument was used in shorthand assignment 297s does not register an offense 297s and shadowed within a conditional 297s registers an offense without specifying where the reassignment took place 297s and the conditional occurs after the reassignment 297s registers an offense 297s and the conditional is nested within a conditional 297s registers an offense without specifying where the reassignment took place 297s and the argument was used before shadowing 297s accepts 297s and was used before shadowing 297s accepts 297s and the conditional is nested within a lambda 297s registers an offense without specifying where the reassignment took place 297s and the argument was used before shadowing 297s accepts 297s and the argument was not shadowed outside the conditional 297s accepts 297s and the argument is not used 297s accepts 297s and shadowed within a block 297s registers an offense without specifying where the reassignment took place 297s and was used before shadowing 297s accepts 297s and the block is nested within a conditional 297s registers an offense without specifying where the reassignment took place 297s and the argument was used before shadowing 297s accepts 297s and the argument was not shadowed outside the block 297s accepts 297s and the block is nested within a block 297s registers an offense without specifying where the reassignment took place 297s and the argument was used before shadowing 297s accepts 297s and the block occurs after the reassignment 297s registers an offense 297s when reassigning to splat variable 297s does not register an offense 297s when zsuper is used 297s registers an offense 297s when argument was shadowed by zsuper 297s registers an offense 297s when IgnoreImplicitReferences config option is set to true 297s accepts 297s when argument was shadowed by zsuper 297s does not register an offense 297s when binding is used 297s registers an offense 297s when IgnoreImplicitReferences config option is set to true 297s accepts 297s when a splat argument is shadowed 297s registers an offense 297s when multiple arguments are shadowed 297s and one of them shadowed within a lambda while another is shadowed outside 297s registers an offense 297s 297s RuboCop::Cop::Layout::SpaceAfterNot 297s registers an offense and corrects a single space after ! 297s registers an offense and corrects space after ! with the negated receiver wrapped in parentheses 297s accepts no space after ! 297s registers an offense and corrects multiple spaces after ! 297s accepts space after not keyword 297s 297s RuboCop::Cop::Style::CollectionMethods 297s registers an offense for inject with block 297s registers an offense for member? with an argument and proc param 297s registers an offense for find_all with proc param 297s registers an offense for find_all with block 297s registers an offense for member? with proc param 297s registers an offense for member? with block 297s accepts member? without a block 297s registers an offense for detect with proc param 297s accepts inject without a block 297s registers an offense for inject with proc param 297s registers an offense for detect with block 297s registers an offense for inject with an argument and proc param 297s registers an offense for collect with proc param 297s registers an offense for collect with an argument and proc param 297s registers an offense for collect with block 297s accepts find_all without a block 297s accepts collect without a block 297s registers an offense for detect with an argument and proc param 297s registers an offense for find_all with an argument and proc param 297s accepts detect without a block 297s for methods that do not accept a symbol as implicit block 297s does not register an offense for a final symbol param with extra args 297s does not register an offense for a final symbol param 297s for methods that accept a symbol as implicit block 297s registers an offense with a final symbol param 297s registers an offense with an argument and final symbol param 297s Ruby 2.7 297s registers an offense for member? with numblock 297s Ruby 2.7 297s registers an offense for find_all with numblock 297s Ruby 2.7 297s registers an offense for detect with numblock 297s Ruby 2.7 297s registers an offense for inject with numblock 297s Ruby 2.7 297s registers an offense for collect with numblock 297s 297s RuboCop::Cop::Style::CommandLiteral 297s when PercentLiteralDelimiters is configured and a default exists 297s ignores the default when autocorrecting 297s when EnforcedStyle is set to mixed 297s a multi-line %x string with backticks 297s is accepted 297s a single-line ` string with backticks 297s registers an offense without autocorrection 297s when configured to allow inner backticks 297s is accepted 297s a single-line %x string with backticks 297s is accepted 297s when configured to allow inner backticks 297s registers an offense without autocorrection 297s a single-line ` string without backticks 297s is accepted 297s a multi-line ` string without backticks 297s registers an offense and corrects to %x 297s a multi-line %x string without backticks 297s is accepted 297s a multi-line ` string with backticks 297s registers an offense without autocorrection 297s a single-line %x string without backticks 297s registers an offense and corrects to backticks 297s when PercentLiteralDelimiters only has a default 297s respects the configuration when autocorrecting 297s when PercentLiteralDelimiters is configured with curly braces 297s respects the configuration when autocorrecting 297s %x commands with other delimiters than parentheses 297s registers an offense 297s when EnforcedStyle is set to backticks 297s a single-line %x string with backticks 297s is accepted 297s when configured to allow inner backticks 297s registers an offense without autocorrection 297s a single-line ` string with backticks 297s registers an offense without autocorrection 297s when configured to allow inner backticks 297s is accepted 297s a multi-line %x string with backticks 297s is accepted 297s when configured to allow inner backticks 297s registers an offense without autocorrection 297s a single-line %x string without backticks 297s registers an offense and corrects to backticks 297s a multi-line ` string with backticks 297s registers an offense without autocorrection 297s when configured to allow inner backticks 297s is accepted 297s a multi-line %x string without backticks 297s registers an offense and corrects to backticks 297s a multi-line ` string without backticks 297s is accepted 297s a single-line ` string without backticks 297s is accepted 297s heredoc commands 297s is ignored 297s when EnforcedStyle is set to percent_x 297s a single-line ` string without backticks 297s registers an offense and corrects to %x 297s a multi-line %x string without backticks 297s is accepted 297s a multi-line %x string with backticks 297s is accepted 297s a multi-line ` string with backticks 297s registers an offense without autocorrection 297s a single-line %x string without backticks 297s is accepted 297s a single-line %x string with backticks 297s is accepted 297s a single-line ` string with backticks 297s registers an offense without autocorrection 297s a multi-line ` string without backticks 297s registers an offense and corrects to %x 297s 297s RuboCop::Cop::Lint::EmptyEnsure 297s registers an offense and corrects empty ensure 297s does not register an offense for non-empty ensure 297s 297s RuboCop::Cop::Lint::RandOne 297s behaves like no offense 297s rand(-1..1) 297s does not register an offense 297s behaves like no offense 297s ::Kernel.rand 297s does not register an offense 297s behaves like offenses 297s Kernel.rand(-1) 297s registers an offense 297s behaves like offenses 297s Kernel.rand(1) 297s registers an offense 297s behaves like offenses 297s rand(-1.0) 297s registers an offense 297s behaves like offenses 297s ::Kernel.rand(1) 297s registers an offense 297s behaves like no offense 297s rand(2) 297s does not register an offense 297s behaves like no offense 297s rand 297s does not register an offense 297s behaves like offenses 297s Kernel.rand(-1.0) 297s registers an offense 297s behaves like offenses 297s rand(1.0) 297s registers an offense 297s behaves like no offense 297s Kernel.rand 2 297s does not register an offense 297s behaves like offenses 297s Kernel.rand 1.0 297s registers an offense 297s behaves like no offense 297s Kernel.rand(-1..1) 297s does not register an offense 297s behaves like offenses 297s rand 1 297s registers an offense 297s behaves like no offense 297s Kernel.rand 297s does not register an offense 297s behaves like offenses 297s rand(-1) 297s registers an offense 297s 297s RuboCop::Cop::Style::MultilineIfModifier 297s unless guard clause 297s allows a multiline condition 297s allows a one liner 297s registers an offense when indented 297s registers an offense 297s if guard clause 297s allows a one liner 297s allows a multiline condition 297s registers an offense when indented 297s registers an offense 297s 297s RuboCop::Cop::Security::IoMethods 297s when using `IO` receiver and string argument that starts with a pipe character (`"| command"`) 297s behaves like accepts 297s does not register an offense when using `IO.binwrite("| command", "hi")` 297s behaves like accepts 297s does not register an offense when using `IO.write("| command", "hi")` 297s behaves like accepts 297s does not register an offense when using `IO.readlines("| command")` 297s behaves like accepts 297s does not register an offense when using `IO.read("| command")` 297s behaves like accepts 297s does not register an offense when using `IO.foreach("| command") { |x| puts x }` 297s when using `IO` receiver and variable argument 297s registers and corrects an offense when using `foreach` 297s behaves like offense 297s registers and corrects an offense when using `binread` 297s behaves like offense 297s registers and corrects an offense when using `binwrite` 297s behaves like offense 297s registers and corrects an offense when using `read` 297s behaves like offense 297s registers and corrects an offense when using `readlines` 297s behaves like offense 297s registers and corrects an offense when using `write` 297s when using `File` receiver 297s behaves like accepts 297s does not register an offense when using `File.readlines(path)` 297s behaves like accepts 297s does not register an offense when using `File.binwrite(path, "hi")` 297s behaves like accepts 297s does not register an offense when using `File.binread(path)` 297s behaves like accepts 297s does not register an offense when using `File.foreach(path) { |x| puts x }` 297s behaves like accepts 297s does not register an offense when using `File.read(path)` 297s when using `IO` receiver and string argument 297s registers and corrects an offense when using `foreach` 297s behaves like offense 297s registers and corrects an offense when using `readlines` 297s behaves like offense 297s registers and corrects an offense when using `binwrite` 297s behaves like offense 297s registers and corrects an offense when using `binwrite` 297s behaves like offense 297s registers and corrects an offense when using `write` 297s behaves like offense 297s registers and corrects an offense when using `read` 297s when using `IO` receiver and string argument that starts with a pipe character (`" | command"`) 297s behaves like accepts 297s does not register an offense when using `IO.foreach(" | command") { |x| puts x }` 297s behaves like accepts 297s does not register an offense when using `IO.readlines(" | command")` 297s behaves like accepts 297s does not register an offense when using `IO.binwrite(" | command", "hi")` 297s behaves like accepts 297s does not register an offense when using `IO.write(" | command", "hi")` 297s behaves like accepts 297s does not register an offense when using `IO.read(" | command")` 297s when using no receiver 297s behaves like accepts 297s does not register an offense when using `binwrite("command", "hi")` 297s behaves like accepts 297s does not register an offense when using `write("command", "hi")` 297s behaves like accepts 297s does not register an offense when using `readlines("command")` 297s behaves like accepts 297s does not register an offense when using `read("command")` 297s behaves like accepts 297s does not register an offense when using `foreach("command") { |x| puts x }` 297s 297s RuboCop::Cop::Style::HashConversion 297s reports an offense for single-argument Hash[] 298s reports different offense for hash argument Hash[] as a method argument without parentheses 298s reports different offense for Hash[(a && b)] 298s reports different offense for Hash[(a || b)] 298s reports different offense for hash argument Hash[] as a method argument with parentheses 298s reports different offense for hash argument Hash[] 298s registers and corrects an offense when using multi-argument `Hash[]` as a method argument 298s registers and corrects an offense when using argumentless `zip` without parentheses in `Hash[]` 298s reports different offense for Hash[a && b] 298s reports different offense for empty Hash[] 298s does not try to correct multi-argument Hash with odd number of arguments 298s registers and corrects an offense when using `zip` with argument in `Hash[]` 298s reports different offense for Hash[a || b] 298s reports different offense for multi-argument Hash[] 298s registers and corrects an offense when using argumentless `zip` with parentheses in `Hash[]` 298s wraps complex statements in parens if needed 298s AllowSplatArgument: false 298s reports uncorrectable offense for unpacked array 298s AllowSplatArgument: true 298s does not register an offense for unpacked array 298s 298s RuboCop::Cop::Style::IfWithBooleanLiteralBranches 298s when condition is a comparison method 298s registers and corrects an offense when using `if foo == bar` with boolean literal branches 298s does not register an offense when using a branch that is not boolean literal 298s registers and corrects an offense when using opposite ternary operator with boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 298s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 298s does not register an offense when using a branch that is not boolean literal 298s registers and corrects an offense when using ternary operator with boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using opposite ternary operator with boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with boolean literal branches 298s registers and corrects an offense when using ternary operator with boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 298s does not register an offense when using a branch that is not boolean literal 298s does not register an offense when using a branch that is not boolean literal 298s registers and corrects an offense when using opposite ternary operator with boolean literal branches 298s registers and corrects an offense when using ternary operator with boolean literal branches 298s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 298s registers and corrects an offense when using `if foo == bar` with boolean literal branches 298s registers and corrects an offense when using opposite ternary operator with boolean literal branches 298s does not register an offense when using a branch that is not boolean literal 298s registers and corrects an offense when using `if foo == bar` with boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with boolean literal branches 298s registers and corrects an offense when using ternary operator with boolean literal branches 298s registers and corrects an offense when using opposite ternary operator with boolean literal branches 298s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 298s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 298s does not register an offense when using a branch that is not boolean literal 298s registers and corrects an offense when using ternary operator with boolean literal branches 298s registers and corrects an offense when using opposite ternary operator with boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 298s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 298s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 298s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using opposite ternary operator with boolean literal branches 298s registers and corrects an offense when using ternary operator with boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 298s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 298s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 298s registers and corrects an offense when using ternary operator with boolean literal branches 298s does not register an offense when using a branch that is not boolean literal 298s when condition is a predicate method 298s registers and corrects an offense when using `if foo.do_something?` with boolean literal branches 298s registers and corrects an offense when using `unless foo.do_something?` with opposite boolean literal branches 298s registers and corrects an offense when using `elsif foo.do_something?` with boolean literal branches 298s registers and corrects an offense when using `unless foo.do_something?` with boolean literal branches 298s registers and corrects an offense when using `elsif foo.do_something?` with opposite boolean literal branches 298s registers and corrects an offense when using `if foo.do_something?` with opposite boolean literal branches 298s when condition is a logical operator and all operands are predicate methods 298s registers and corrects an offense when using `unless foo? || bar?` with boolean literal branches 298s registers and corrects an offense when using `if foo? && bar? || baz?` with boolean literal branches 298s registers and corrects an offense when using `if foo? && bar? && baz?` with boolean literal branches 298s registers and corrects an offense when using `unless foo? || bar?` with opposite boolean literal branches 298s registers and corrects an offense when using `if foo? && bar?` with opposite boolean literal branches 298s registers and corrects an offense when using `if foo? && bar?` with boolean literal branches 298s when complex condition 298s does not register an offense when using `if foo? && (bar || baz)?` with boolean literal branches 298s does not register an offense when using `if (foo? && bar) || baz?` with boolean literal branches 298s does not register an offense when using `if foo? || bar || baz?` with boolean literal branches 298s registers and corrects an offense when using `if foo? && bar && baz?` with boolean literal branches 298s registers and corrects an offense when using `if foo? || (bar && baz)?` with boolean literal branches 298s register and corrects an offense when using `if (foo? || bar) && baz?` with boolean literal branches 298s registers and corrects an offense when using `if foo? || bar && baz?` with boolean literal branches 298s does not register an offense when using `if foo? && bar || baz?` with boolean literal branches 298s when condition is a logical operator and operands do not known whether to return boolean value 298s does not register an offense when using `unless foo || bar` with boolean literal branches 298s does not register an offense when using `if foo || bar` with boolean literal branches 298s does not register an offense when using `if foo && bar` with boolean literal branches 298s does not register an offense when using `unless foo && bar` with opposite boolean literal branches 298s does not register an offense when using `if foo || bar` with opposite boolean literal branches 298s does not register an offense when using `unless foo || bar` with opposite boolean literal branches 298s does not register an offense when using `if foo && bar` with opposite boolean literal branches 298s does not register an offense when using `unless foo && bar` with boolean literal branches 298s when `AllowedMethods: nonzero?` 298s does not register an offense when using `nonzero?` 298s when using `elsif` with boolean literal branches 298s does not register an offense when using multiple `elsif` with boolean literal branches 298s registers and corrects an offense when using single `elsif` with boolean literal branches 298s when double negative is used in condition 298s registers and corrects an offense when using `if !!condition` with boolean literal branches 298s registers and corrects an offense when using `if !!condition` with opposite boolean literal branches 298s when condition is a method that does not known whether to return boolean value 298s does not register an offense when using `unless condition` with boolean literal branches 298s does not register an offense when using `if condition` with boolean literal branches 298s does not register an offense when using `if condition` with opposite boolean literal branches 298s does not register an offense when using `unless condition` with opposite boolean literal branches 298s 298s RuboCop::Cop::Style::OptionHash 298s registers an offense 298s when the last argument is an options hash named something else 298s does not register an offense 298s when the argument name is in the list of suspicious names 298s registers an offense 298s permitted list 298s ignores if the method is permitted 298s when there are no arguments 298s does not register an offense 298s when the last argument is a non-options-hash optional hash 298s does not register an offense 298s when passing options hash to super 298s does not register an offense when call to super is in a nested block 298s does not register an offense 298s does not register an offense when code exists before call to super 298s 298s RuboCop::Cop::Style::SwapValues 298s handles comments when correcting 298s does not register an offense when almost swapping variables 298s does not register an offense when assigning receiver object at `def` 298s does not register an offense when idiomatically swapping variables 298s behaves like verbosely swapping 298s registers an offense and corrects when verbosely swapping constant with namespaces variables 298s behaves like verbosely swapping 298s registers an offense and corrects when verbosely swapping class variables 298s behaves like verbosely swapping 298s registers an offense and corrects when verbosely swapping instance variables 298s behaves like verbosely swapping 298s registers an offense and corrects when verbosely swapping local variables 298s behaves like verbosely swapping 298s registers an offense and corrects when verbosely swapping mixed variables 298s behaves like verbosely swapping 298s registers an offense and corrects when verbosely swapping constant variables 298s behaves like verbosely swapping 298s registers an offense and corrects when verbosely swapping global variables 298s 298s RuboCop::Cop::Style::RedundantCapitalW 298s registers no offense for normal arrays of strings 298s does not register an offense for array containing non-string 298s registers no offense for arrays with character constants 298s registers no offense for %w without interpolation 298s registers no offense for %W with interpolation 298s registers no offense for %w with interpolation-like syntax 298s registers no offense for %W with special characters 298s registers no offense for normal arrays of strings with interpolation 298s does not register an offense for array of non-words 298s does not register an offense for array with empty strings 298s registers an offense for misused %W 298s does not register an offense for array with one element 298s registers an offense for misused %W with different bracket 298s 298s RuboCop::Cop::Generator::RequireFileInjector 298s when a cop of style department already exists 298s injects a `require_relative` statement on the end of style department 298s when using an unknown department 298s inserts a `require_relative` statement to the bottom of the file 298s when a `require` entry already exists 298s does not write to any file 298s when a `require_relative` entry does not exist from before 298s injects a `require_relative` statement on the right line in the root file 298s 298s RuboCop::Cop::Layout::RescueEnsureAlignment 298s accepts aligned rescue in do-end block 298s accepts rescue and ensure on the same line 298s accepts aligned rescue in do-end block assigned to global variable 298s accepts aligned rescue in do-end block assigned to instance variable 298s accepts aligned rescue in do-end block assigned to class variable 298s accepts correctly aligned rescue 298s accepts aligned rescue with do-end block that line break with leading dot for method calls 298s accepts correctly aligned rescue/ensure with def with no body 298s accepts aligned rescue in do-end block on or-assignment 298s accepts the modifier form 298s accepts aligned rescue with do-end block that line break with trailing dot for method calls 298s accepts correctly aligned ensure 298s accepts end being misaligned 298s accepts aligned rescue in do-end block on operation assignment 298s accepts aligned rescue in do-end block on and-assignment 298s accepts aligned rescue in do-end block on multi-assignment 298s accepts aligned rescue in assigned do-end block starting on newline 298s accepts aligned rescue in do-end block with `.()` call 298s accepts aligned rescue in do-end block in a method 298s accepts correctly aligned rescue/ensure with def 298s accepts aligned rescue do-end block assigned to local variable 298s accepts aligned rescue in do-end block assigned to class 298s accepts correctly aligned rescue in assigned begin-end block 298s rescue with def 298s registers an offense 298s rescue with begin 298s registers an offense 298s as RHS of assignment 298s when `EnforcedStyleAlignWith: begin` of `Layout/BeginEndAlignment` cop 298s accepts multi-line, indented 298s accepts multi-line, aligned 298s registers an offense and corrects for incorrect alignment 298s `Layout/BeginEndAlignment` cop is not enabled 298s accepts multi-line, aligned 298s registers an offense and corrects for incorrect alignment 298s accepts multi-line, indented 298s when `EnforcedStyleAlignWith: start_of_line` of `Layout/BeginEndAlignment` cop 298s accepts multi-line, indented 298s registers an offense and corrects for incorrect alignment 298s accepts multi-line, aligned 298s excluded file 298s processes excluded files with issue 298s rescue with module 298s registers an offense when rescue used with module 298s rescue in do-end block on or-assignment 298s registers an offense 298s rescue in assigned do-end block starting on newline 298s registers an offense 298s rescue with defs 298s registers an offense 298s allows inline access modifier 298s with private_class_method modifier 298s rescue with def 298s registers an offense 298s correct alignment 298s rescue with defs 298s correct alignment 298s registers an offense 298s ensure with defs 298s registers an offense 298s correct alignment 298s ensure with def 298s registers an offense 298s correct alignment 298s with public_class_method modifier 298s ensure with defs 298s registers an offense 298s correct alignment 298s rescue with defs 298s registers an offense 298s correct alignment 298s rescue with def 298s registers an offense 298s correct alignment 298s ensure with def 298s correct alignment 298s registers an offense 298s with private modifier 298s rescue with def 298s correct alignment 298s registers an offense 298s rescue with defs 298s correct alignment 298s registers an offense 298s ensure with def 298s correct alignment 298s registers an offense 298s ensure with defs 298s correct alignment 298s registers an offense 298s rescue with do-end block 298s registers an offense 298s ensure with def 298s registers an offense 298s ensure with module 298s registers an offense when ensure used with module 298s rescue in do-end block assigned to class variable 298s registers an offense 298s rescue with class 298s registers an offense when rescue used with class 298s ensure with begin 298s registers an offense when ensure used with begin 298s when using zsuper with block 298s does not register an offense when correct alignment 298s registers and corrects an offense and corrects when incorrect alignment 298s rescue in do-end block on operation assignment 298s registers an offense 298s rescue in do-end block on multi-assignment 298s registers an offense 298s rescue in do-end block assigned to global variable 298s registers an offense 298s rescue in do-end block on and-assignment 298s registers an offense 298s allows inline expression before 298s rescue 298s registers an offense 298s ensure 298s registers an offense 298s ensure with defs 298s registers an offense 298s rescue in do-end block assigned to instance variable 298s registers an offense 298s rescue in do-end block assigned to class 298s registers an offense 298s ensure with class 298s registers an offense 298s rescue in do-end block assigned to local variable 298s registers an offense 298s 298s RuboCop::Cop::Lint::EmptyClass 298s does not register an offense when class is not empty 298s registers an offense when empty metaclass contains only comments 298s does not register an offense when empty has a parent 298s registers an offense for empty class metaclass 298s registers an offense for empty class 298s does not register an offense when metaclass is not empty 298s registers an offense for empty object metaclass 298s when AllowComments is true 298s does not register an offense when empty class contains only comments 298s does not register an offense when empty metaclass contains only comments 298s 298s RuboCop::Cop::Layout::TrailingEmptyLines 298s when EnforcedStyle is final_newline 298s autocorrects even if some lines have space 298s registers an offense for multiple blank lines in an empty file 298s accepts final blank lines if they come after __END__ in empty file 298s accepts an empty file 298s registers an offense for multiple trailing blank lines 298s registers an offense for no final newline after block comment 298s accepts final newline 298s registers an offense for no final newline after assignment 298s accepts final blank lines if they come after __END__ 298s when EnforcedStyle is final_blank_line 298s registers an offense for multiple trailing blank lines 298s registers an offense for final newline 298s autocorrects missing blank line 298s accepts final blank line 298s autocorrects missing newline 298s registers an offense for no final newline 298s registers an offense for multiple blank lines in an empty file 298s 298s RuboCop::Cop::Style::IdenticalConditionalBranches 298s on case without else 298s doesn't register an offense 298s on case with identical trailing lines 298s registers and corrects an offense 298s on if..else with identical bodies and assigning to a variable used in `if` condition 298s doesn't register an offense 298s on if..elsif with no else 298s doesn't register an offense 298s on case with identical leading lines 298s registers and corrects an offense 298s on if..else with slightly different trailing lines 298s doesn't register an offense 298s on if..else with identical leading lines 298s registers and corrects an offense 298s on case..when with identical bodies and assigning to a variable used in `case` condition 298s doesn't register an offense 298s on case with identical bodies 298s registers an offense and corrects 298s with empty brace 298s does not raise any error 298s on if..else with identical trailing lines 298s registers and corrects an offense 298s with a ternary 298s registers an offense 298s when one of the case branches is empty 298s does not register an offense 298s when using pattern matching 298s on case-match with identical leading lines 298s registers and corrects an offense 298s on case-match with empty when 298s doesn't register an offense 298s when one of the case-match branches is empty 298s does not register an offense 298s on case-match without else 298s doesn't register an offense 298s on case-match with identical trailing lines 298s registers and corrects an offense 298s on case-match with identical bodies 298s registers an offense and corrects 298s on case..in with identical bodies and assigning to a variable used in `case` condition 298s doesn't register an offense 298s on case with empty when 298s doesn't register an offense 298s on if..else with identical bodies 298s registers and corrects an offense 298s 298s RuboCop::Cop::Layout::MultilineAssignmentLayout 298s new_line style 298s registers an offense when the rhs is on the same line 298s registers an offense when the rhs is on the same line in []= 298s registers an offense when the rhs is on the same line in setters 298s ignores arrays 298s allows multi-line assignments on separate lines 298s registers an offense for masgn with multi-line lhs 298s configured supported types 298s allows supported types to be configured 298s when supported types is block 298s registers an offense when multi-line assignments using block definition is on the same line 298s allows multi-line block defines on separate lines 298s allows multi-line assignments when using block definition on separate lines 298s allows multi-line assignments when using shovel operator 298s same_line style 298s registers an offense when the rhs is a different line 298s ignores arrays 298s registers an offense when the rhs is a different line in []= 298s registers an offense when the rhs is a different line in setters 298s registers an offense for masgn with multi-line lhs 298s allows multi-line assignments on the same line 298s when supported types is block 298s registers an offense when multi-line assignments using block definition on separate lines 298s allows multi-line block defines on separate lines 298s allows multi-line assignments when using shovel operator 298s allows when multi-line assignments using block definition is on the same line 298s configured supported types 298s allows supported types to be configured 298s 298s RuboCop::Cop::Lint::HeredocMethodCallPosition 298s incorrect cases 298s chained case without args 298s detects 298s with trailing comma in method call 298s detects 298s simple incorrect case with paren 298s detects 298s chained case with multiple line args 298s detects 298s chained case with parens 298s detects 298s chained case no parens 298s detects 298s simple incorrect case 298s detects 298s correct cases 298s ignores if no call 298s accepts chained correct case 298s accepts simple correct case 298s 298s RuboCop::Cop::Layout::ElseAlignment 298s accepts a ternary if 298s with case 298s accepts else aligned with when but not with case 298s registers an offense for misaligned else 298s accepts correctly aligned case/when/else 298s accepts case without else 298s >= Ruby 2.7 298s with case match 298s accepts case match without else 298s accepts correctly aligned empty else 298s accepts correctly aligned case/when/else 298s registers an offense for misaligned else 298s with def/rescue/else/ensure/end 298s accepts a correctly aligned else 298s registers an offense for misaligned else 298s with def/rescue/else/end 298s registers an offense for misaligned else 298s accepts a correctly aligned else 298s with if statement 298s registers an offense for misaligned else 298s accepts a one line if statement 298s accepts indentation after else when if is on new line after assignment 298s registers an offense for misaligned elsif 298s accepts a correctly aligned if/elsif/else/end 298s accepts an if/else branches with rescue clauses 298s for a file with byte order mark 298s accepts a correctly aligned if/elsif/else/end 298s with assignment 298s when alignment style is keyword by choice 298s and end is aligned with keyword 298s accepts an if/else in assignment 298s accepts an if in assignment 298s accepts a while in assignment 298s accepts an if/else in assignment on next line 298s accepts an until in assignment 298s and end is aligned with variable 298s registers an offense for an if 298s when alignment style is variable 298s and end is aligned with keyword 298s registers an offense for an if 298s registers an offense for an if with element assignment 298s registers offenses for an if with setter 298s and end is aligned with variable 298s accepts an if/else 298s accepts an if-elsif-else with end aligned with setter 298s accepts an if-else with end aligned with setter 298s accepts an if/else with chaining with a block after the end 298s accepts an if/else with chaining after the end 298s accepts an if with end aligned with element assignment 298s with unless 298s registers an offense for misaligned else 298s accepts an empty unless 298s accepts a correctly aligned else in an otherwise empty unless 298s with def/defs 298s accepts an empty def body 298s accepts an empty defs body 298s when modifier and def are on the same line 298s accepts a correctly aligned body 298s registers an offense for else not aligned with private 298s ensure/rescue/else in Block Argument 298s registers an offense for misaligned else 298s accepts a correctly aligned else 298s accepts a correctly aligned else with assignment 298s with begin/rescue/else/ensure/end 298s accepts a correctly aligned else 298s registers an offense for misaligned else 298s 298s RuboCop::Cop::Layout::BlockAlignment 298s registers an offense for mismatched block end with a constant 299s registers an offense for mismatched block end with an or-asgn (||=) 299s accepts end aligned with a class variable 299s accepts end aligned with an op-asgn (+=, -=) 299s accepts end aligned with an or-asgn (||=) 299s accepts end aligned with the block when the block is a method argument 299s does not raise an error for nested block in a method call 299s accepts end aligned with an and-asgn (&&=) 299s registers an offense for mismatched block end with an instance variable 299s registers an offense for mismatched block end with a class variable 299s accepts end aligned with a method call with arguments 299s registers an offense for mismatched block end with a method call 299s accepts end aligned with a call chain left hand side 299s accepts end aligned with a constant 299s accepts end aligned with a global variable 299s registers an offense for mismatched block end with a global variable 299s registers an offense for mismatched block end with a variable 299s accepts a block end that does not begin its line 299s accepts end aligned with an instance variable 299s registers an offense for mismatched block end with an and-asgn (&&=) 299s accepts end aligned with a mass assignment 299s registers an offense for mismatched block end with a mass assignment 299s accepts end aligned with a variable 299s registers an offense for mismatched end with a method call with arguments 299s registers an offense for mismatched block end with an op-asgn (+=, -=) 299s accepts end aligned with a method call 299s registers an offense for mismatched end not aligned with the block that is an argument 299s when the block is terminated by } 299s mentions } (not end) in the message 299s on a bit-flipped method call 299s aligns end with the ~ operator 299s registers an offense and corrects misaligned end brace 299s when the block is a logical operand 299s accepts a correctly aligned block end 299s Ruby 2.7 299s accepts end aligned with a call chain left hand side 299s registers an offense for mismatched block end with a mass assignment 299s on an arithmetically negated method call 299s aligns end with the - operator 299s registers an offense and corrects 299s when the method part is a call chain that spans several lines 299s accepts two kinds of end alignment 299s registers offenses for misaligned ends 299s accepts pretty alignment style 299s accepts end indented as the start of the block 299s when the block has arguments 299s registers an offense for mismatched block end 299s on a splatted method call 299s aligns end with the splat operator 299s registers an offense and corrects misaligned end braces 299s when variables of a mass assignment spans several lines 299s registers an offense for end aligned with the block 299s accepts end aligned with the variables 299s when multiple similar-looking blocks have misaligned ends 299s registers an offense for each of them 299s on a logically negated method call 299s registers an offense and corrects 299s aligns end with the ! operator 299s when the block is defined on the next line 299s accepts end aligned with the block expression 299s registers an offenses for mismatched end alignment 299s and the block is an operand 299s accepts end aligned with a variable 299s when configured to align with start_of_line 299s errors when do aligned 299s allows when start_of_line aligned 299s when configured to align with do 299s allows when do aligned 299s errors when start_of_line aligned 299s when the block has no arguments 299s registers an offense for mismatched block end 299s when there is an assignment chain 299s accepts end aligned with the first variable 299s registers an offense for an end aligned with the 2nd variable 299s 299s RuboCop::Cop::InternalAffairs::EmptyLineBetweenExpectOffenseAndCorrection 299s does not register an offense when using empty line between `expect_offense` and `expect_correction` with heredoc argument 299s registers and corrects an offense when using no empty line between `expect_offense` and `expect_correction`with variable argument 299s does not register an offense when using empty line between `expect_offense` and `expect_no_corrections` 299s registers and corrects an offense when using no empty line between `expect_offense` and `expect_correction` with heredoc argument 299s does not register an offense when using only `expect_offense` 299s does not register an offense when using empty line between `expect_offense` and `expect_correction`with variable argument 299s registers and corrects an offense when using no empty line between `expect_offense` and `expect_no_corrections` 299s 299s RuboCop::Cop::Style::InPatternThen 299s >= Ruby 2.7 299s registers an offense for `in b, c, d;` (array pattern) 299s registers an offense for `in b, c | d;` 299s accepts `;` separating statements in the body of `in` 299s registers an offense for `in b | c | d;` (alternative pattern) 299s registers an offense for `in b;` 299s when inspecting a case statement with an empty branch 299s does not register an offense 299s 299s RuboCop::Cop::Style::CommentedKeyword 299s registers an offense and corrects for one-line cases 299s registers an offense and corrects when commenting on indented keywords 299s accepts keyword letter sequences that are not keywords 299s does not register an offense if AST contains # symbol 299s registers an offense and corrects when commenting after keyword with spaces 299s does not register an offense for certain comments 299s registers an offense and corrects when commenting on the same line as `module` 299s registers an offense and corrects when commenting on the same line as `begin` 299s registers an offense and corrects when commenting on the same line as `class` 299s checks a long comment in less than one second 299s does not register an offense if there are no comments after keywords 299s registers an offense and corrects when commenting on the same line as `end` 299s registers an offense and corrects when commenting on the same line as `def` 299s 299s RuboCop::Cop::Style::StringConcatenation 299s correctly handles strings with special characters 299s registers an offense and corrects for string concatenation as part of other expression 299s does not register an offense when using `+` with all non string arguments 299s correctly handles nested concatenable parts 299s registers an offense and corrects for string concatenation 299s heredoc 299s registers an offense but does not correct when string concatenation with multiline heredoc text 299s registers an offense but does not correct 299s nested interpolation 299s registers an offense and corrects 299s empty quotes 299s registers offense and corrects 299s double quotes inside string surrounded single quotes 299s registers an offense and corrects with double quotes 299s multiline 299s if condition 299s registers an offense but does not correct 299s simple expressions 299s registers an offense and corrects 299s string continuation 299s does not register an offense 299s multiline block 299s registers an offense but does not correct 299s double quotes inside string 299s registers an offense and corrects with percentage quotes 299s registers an offense and corrects with double quotes 299s Mode = conservative 299s when first operand is string literal 299s registers offense 299s when first operand is not string literal 299s does not register offense 299s inline block 299s registers an offense but does not correct 299s 299s RuboCop::Cop::Layout::AccessModifierIndentation 299s when EnforcedStyle is set to outdent 299s accepts private def indented to method depth in a class 299s accepts private with argument indented to method depth in singleton class 299s accepts private def indented to method depth in singleton class 299s registers an offense and corrects module_function indented to method depth in a module 299s accepts private with argument indented to method depth in module defined with Module.new 299s registers an offense and corrects misaligned access modifiers in nested classes 299s accepts private with argument indented to method depth in a module 299s registers an offense and corrects private indented to method depth in module defined with Module.new 299s accepts module fn with argument indented to method depth in a module 299s accepts private def indented to method depth in module defined with Module.new 299s accepts private def indented to method depth in a module 299s accepts private with argument indented to method depth in a class 299s registers an offense and corrects private indented to method depth in class defined with Class.new 299s accepts module fn def indented to method depth in a module 299s registers offense and corrects private indented to method depth in a class 299s accepts private indented to the containing class indent level 299s accepts private def indented to method depth in class defined with Class.new 299s registers an offense and corrects private indented to method depth in singleton class 299s registers an offense and corrects private indented to method depth in a module 299s accepts private with argument indented to method depth in class defined with Class.new 299s accepts protected indented to the containing class indent level 299s when EnforcedStyle is set to indent 299s registers an offense and corrects misaligned private in module defined with Module.new 299s registers an offense and corrects misaligned access modifiers in nested classes 299s registers an offense and corrects misaligned protected 299s registers an offense and corrects misaligned private 299s registers an offense and corrects misaligned module_function in module 299s accepts an empty class 299s registers an offense and corrects misaligned private in a singleton class 299s accepts methods with a body 299s registers an offense and corrects access modifiers in arbitrary blocks 299s accepts properly indented private in module defined with Module.new 299s accepts indented access modifiers with arguments in nested classes 299s accepts properly indented protected 299s registers an offense and corrects misaligned private in module 299s registers an offense and corrects opposite + correct alignment 299s registers an offense and corrects misaligned private in class defined with Class.new 299s registers an offense and corrects correct + opposite alignment 299s accepts properly indented private 299s when 4 spaces per indent level are used 299s accepts properly indented private 299s when indentation width is overridden for this cop only 299s accepts properly indented private 299s 299s RuboCop::Cop::Style::NegatedWhile 299s does not blow up for empty while condition 299s accepts a while where the condition is doubly negated 299s registers an offense for while with "not" condition 299s accepts a while where only part of the condition is negated 299s registers an offense for until with exclamation point condition 299s autocorrects by replacing until not with while 299s autocorrects by replacing while not with until 299s registers an offense for while with exclamation point condition 299s does not blow up for empty until condition 299s 299s RuboCop::Cop::Style::RedundantEach 299s does not register an offense when using `each.with_index` 299s registers an offense when using `each.each_with_object` 299s registers an offense when using `each.each` 299s does not register an offense when using `each_with_index.reverse_each` 299s registers an offense when using a method starting with `each_` with `each_with_object` 299s does not register an offense when using `each` as enumerator 299s does not register an offense when using `each_foo {}.each_with_object([]) {}` 299s does not register an offense when using `each {}.each_with_object([]) {}` 299s does not register an offense when using `reverse_each(&:foo).each {...}` 299s registers an offense when using a method starting with `each_` with `each_with_index` 299s does not register an offense when using `each {}.reverse_each {}` 299s does not register an offense when using only single `each` 299s does not register an offense when using `reverse_each {}.each {}` 299s registers an offense when using `each.reverse_each` 299s does not register an offense when using `each {}.each_with_index {}` 299s registers an offense when using `reverse_each.each_with_index` 299s does not register an offense when using `each_ancestor.each` 299s does not register an offense when not chaining `each_` calls 299s does not register an offense when using `each.with_object` 299s does not register an offense when using `each` with a symbol proc for last argument 299s does not register an offense when using `each_with_object` 299s does not register an offense when using `each_with_index` 299s registers an offense when using `reverse_each.each` 299s registers an offense when using `each.each(&:foo)` 299s registers an offense when using `each.each_with_index` 299s registers an offense when using `reverse_each.each_with_object` 299s does not register an offense when using `each` with a symbol proc argument 299s does not register an offense when any method is used between methods with `each` in the method name 299s 299s RuboCop::Cop::Style::Sample 299s behaves like offense 299s registers an offense for shuffle(random: Random.new).first(2) 299s behaves like offense 299s registers an offense for shuffle[0..3] 299s behaves like offense 299s registers an offense for shuffle.slice(0...3) 299s behaves like offense 299s registers an offense for shuffle.first(foo) 299s behaves like accepts 299s accepts shuffle.slice(foo, bar) 299s behaves like offense 299s registers an offense for shuffle.first 299s behaves like accepts 299s accepts shuffle.map { |e| e } 299s behaves like accepts 299s accepts shuffle.slice(foo, 3) 299s behaves like accepts 299s accepts shuffle.slice(foo..bar) 299s behaves like accepts 299s accepts shuffle[foo..3] 299s behaves like accepts 299s accepts shuffle[-4..-3] 299s behaves like offense 299s registers an offense for shuffle.slice(0..3) 299s behaves like accepts 299s accepts shuffle[2..-3] 299s behaves like accepts 299s accepts shuffle(random: Random.new)[2, 3] 299s behaves like accepts 299s accepts shuffle[2..3] 299s behaves like offense 299s registers an offense for shuffle.at(0) 299s behaves like offense 299s registers an offense for shuffle(random: Random.new).first 299s behaves like accepts 299s accepts shuffle.slice(2..-3) 299s behaves like offense 299s registers an offense for shuffle.first(2) 299s behaves like accepts 299s accepts shuffle 299s behaves like offense 299s registers an offense for shuffle(random: foo).last(bar) 299s behaves like offense 299s registers an offense for shuffle.last(bar) 299s behaves like accepts 299s accepts shuffle[2] 299s behaves like accepts 299s accepts shuffle[foo..bar] 299s behaves like accepts 299s accepts shuffle.slice(-4..-3) 299s behaves like offense 299s registers an offense for shuffle.slice(-1) 299s behaves like accepts 299s accepts shuffle[foo] 299s behaves like accepts 299s accepts shuffle.join([5, 6, 7]) 299s behaves like offense 299s registers an offense for shuffle.slice(0) 299s behaves like accepts 299s accepts sample 299s behaves like offense 299s registers an offense for shuffle.at(-1) 299s behaves like accepts 299s accepts shuffle.slice(3, 3) 299s behaves like accepts 299s accepts shuffle.at(foo) 299s behaves like offense 299s registers an offense for shuffle.last(3) 299s behaves like accepts 299s accepts shuffle.slice(foo..3) 299s behaves like accepts 299s accepts shuffle.slice(2..3) 299s behaves like offense 299s registers an offense for shuffle[0] 299s behaves like accepts 299s accepts shuffle[foo, 3] 299s behaves like accepts 299s accepts shuffle.at(2) 299s behaves like accepts 299s accepts shuffle.slice(2) 299s behaves like accepts 299s accepts shuffle.slice(foo) 299s behaves like accepts 299s accepts shuffle(random: Random.new) 299s behaves like offense 299s registers an offense for shuffle(random: Random.new)[0..3] 299s behaves like accepts 299s accepts shuffle[foo, bar] 299s behaves like offense 299s registers an offense for shuffle.slice(0, 3) 299s behaves like accepts 299s accepts shuffle(random: Random.new).find(&:odd?) 299s behaves like offense 299s registers an offense for shuffle[-1] 299s behaves like offense 299s registers an offense for shuffle[0, 3] 299s behaves like accepts 299s accepts shuffle(random: Random.new)[2] 299s behaves like offense 299s registers an offense for shuffle[0...3] 299s behaves like offense 299s registers an offense for shuffle.last 299s behaves like accepts 299s accepts shuffle[3, 3] 299s Ruby >= 2.6 299s behaves like accepts 299s accepts shuffle[3...] 299s behaves like accepts 299s accepts shuffle[3..] 299s Ruby >= 2.7 299s behaves like offense 299s registers an offense for shuffle[...3] 299s 299s RuboCop::Cop::Style::EmptyHeredoc 299s registers an offense when using empty `<= Ruby 2.7 300s when using dig with arguments forwarding 300s does not register an offense 300s dig over literal 300s with multiple arguments 300s does not register an offense 300s with single argument 300s registers an offense and corrects unsuitable use of dig 300s when using dig with splat operator 300s does not register an offense 300s when without a receiver 300s does not register an offense 300s 300s RuboCop::Cop::Lint::MixedRegexpCaptureTypes 300s does not register offense to a regexp with numbered capture only 300s does not register offense when using a Regexp cannot be processed by regexp_parser gem 300s does not register offense to a regexp with named capture and non-capturing group 300s registers an offense when both of named and numbered captures are used 300s does not register offense to a regexp with named capture only 300s when containing a non-regexp literal 300s does not register an offense when containing a cvar 300s does not register an offense when containing a ivar 300s does not register an offense when containing a constant 300s does not register an offense when containing a lvar 300s does not register an offense when containing a gvar 300s does not register an offense when containing a method 300s 300s RuboCop::Cop::Style::CaseEquality 300s when AllowOnSelfClass is false 300s registers an offense and does not correct for === when receiver is of some other type 300s registers an offense and corrects for === when the receiver is a regexp 300s does not fail when the receiver is implicit 300s does not register an offense for === when the receiver is not a camel cased constant 300s registers an offense and corrects for === when the receiver is a range 300s registers an offense and corrects for === when the receiver is self.class 300s when AllowOnSelfClass is true 300s registers an offense and corrects for === when the receiver is a regexp 300s does not fail when the receiver is implicit 300s registers an offense and does not correct for === when receiver is of some other type 300s registers an offense and corrects for === when the receiver is self.klass 300s does not register an offense for === when the receiver is self.class 300s registers an offense and corrects for === when the receiver is a range 300s does not register an offense for === when the receiver is not a camel cased constant 300s when AllowOnConstant is true 300s does not register an offense for === when the receiver is a constant 300s registers an offense and corrects for === when the receiver is a range 300s registers an offense and corrects for === when the receiver is a regexp 300s does not fail when the receiver is implicit 300s does not register an offense for === when the receiver is not a camel cased constant 300s registers an offense and does not correct for === when receiver is of some other type 300s when AllowOnConstant is false 300s registers an offense and corrects for === when the receiver is a constant 300s registers an offense and corrects for === when the receiver is a regexp 300s registers an offense and does not correct for === when receiver is of some other type 300s does not fail when the receiver is implicit 300s registers an offense and corrects for === when the receiver is a range 300s does not register an offense for === when the receiver is not a camel cased constant 300s 300s RuboCop::Cop::Layout::FirstArrayElementIndentation 300s when array is operand 300s registers an offense and corrects incorrectly indented ] 300s registers an offense and corrects incorrectly indented first element 300s accepts correctly indented first element 300s when indentation width is overridden for this cop 300s accepts correctly indented first element 300s registers an offense and corrects incorrectly indented 1st element 300s when array is method argument 300s and argument are not surrounded by parentheses 300s accepts single line array with brackets 300s registers an offense for a multi-line array that is a value of a multi pairs hash when the indent of its elements is not based on the hash key 300s registers an offense for incorrectly indented multi-line array that is the value of a single pair hash 300s accepts bracketless array 300s accepts indent based on the start of the line where the left bracket iswhen the right bracket and its following pair is on the same line 300s registers an offense and corrects incorrectly indented multi-line array with brackets 300s accepts a correctly indented multi-line array with brackets 300s accepts indent based on the left bracket when the outer hash key and the left bracket is not on the same line 300s and arguments are surrounded by parentheses 300s and EnforcedStyle is consistent 300s accepts indent based on the left brace when the outer hash key and the left bracket is not on the same line 300s accepts normal indentation for first argument 300s registers an offense and corrects incorrect indentation 300s accepts indent based on the start of the line where the left bracket iswhen the right bracket and its following pair is on the same line 300s registers an offense for a multi-line array that is a value of a multi pairs hash when the indent of its elements is not based on the hash key 300s registers an offense for incorrectly indented multi-line array that is the value of a single pair hash 300s accepts normal indentation for second argument 300s and EnforcedStyle is special_inside_parentheses 300s accepts special indentation for first argument 300s accepts normal indentation for array within array 300s registers an offense for a multi-line array that is a value of a multi pairs hash when the indent of its elements is not based on the hash key 300s accepts indent based on the preceding left parenthesis when the right bracket and its following pair is on the same line 300s accepts indent based on the left brace when the outer hash key and the left bracket is not on the same line 300s registers an offense and corrects 'consistent' indentation 300s registers an offense and corrects 'align_brackets' indentation 300s accepts special indentation for second argument 300s registers an offense for incorrectly indented multi-line array that is the value of a single pair hash 300s when using safe navigation operator 300s registers an offense and corrects 'consistent' indentation 300s when EnforcedStyle is align_brackets 300s accepts several elements per line 300s accepts single line array 300s accepts multi-assignments with brackets 300s accepts correctly indented first element 300s accepts a first element on the same line as the left bracket 300s accepts an empty array 300s registers an offense and corrects incorrectly indented ] 300s accepts multi-assignments with no brackets 300s when 'consistent' style is used 300s registers an offense and corrects incorrectly indented 1st element 300s registers an offense and corrects incorrect indentation 300s when 'special_inside_parentheses' style is used 300s registers an offense and corrects incorrect indentation 300s when indentation width is overridden for this cop 300s registers an offense and corrects indentation that does not match IndentationWidth 300s accepts correctly indented first element 300s when array is right hand side in assignment 300s accepts several elements per line 300s accepts an empty array 300s accepts a first element on the same line as the left bracket 300s accepts multi-assignments with no brackets 300s accepts correctly indented first element 300s accepts multi-assignments with brackets 300s registers an offense and corrects incorrectly indented first element 300s accepts single line array 300s when array is argument to setter 300s registers an offense and corrects incorrectly indented first element 300s accepts correctly indented first element 300s 300s RuboCop::Cop::Layout::MultilineBlockLayout 300s registers an offense and corrects for missing newline before opening parenthesis `(` for block body 300s does not register an offense for one-line do/end blocks 300s does not register an offense for one-line {} blocks 300s doesn't move end keyword in a way which causes infinite loop in combination with Style/BlockEndNewLine 300s does not error out when the block is empty 300s does not register offenses when there is a newline for {} block 300s registers an offense for missing newline in do/end block w/o params 300s autocorrects nested parens correctly 300s registers an offense and corrects for missing newline in {} block w/o params 300s does not remove a trailing comma when only one argument is present 300s registers an offense and corrects for missing newline in {} block with params 300s registers an offense and corrects for missing newline in do/end block with params 300s registers an offense and corrects a line break within destructured arguments 300s registers an offense and corrects a do/end block with a mult-line body 300s registers offenses when there are not too many parameters to fit on one line 300s does not register offenses when there are too many parameters to fit on one line 300s autocorrects in more complex case with lambda and assignment, and aligns the next line two spaces out from the start of the block 300s registers an offense and corrects line-break before arguments with empty block 300s registers offenses and corrects for lambdas 300s does not register offenses when there is a newline for do/end block 300s registers an offense and corrects line-break before arguments 300s registers an offense and corrects a line-break within arguments 300s considers the extra space required to join the lines together 300s registers offenses and corrects for new lambda literal syntax 301s registers an offense and corrects line-break within arguments 301s Ruby 2.7 301s registers an offense and corrects for missing newline in {} block w/o params 301s registers an offense and corrects for missing newline in do/end block with params 301s 301s RuboCop::Cop::Lint::ConstantResolution 301s registers an offense not qualifying a const 301s registers no offense qualifying a namespace const 301s registers an offense not qualifying a namespace const 301s registers no offense when qualifying a const 301s module & class definitions 301s does not register offense 301s with Ignore set 301s registers no offense with an unqualified const 301s registers an with a namespace const 301s registers no offense when an unqualified namespace const 301s registers no offense when qualifying a const 301s registers no offense qualifying a namespace const 301s registers an offense not qualifying another const 301s with Only set 301s registers no offense when qualifying a const 301s registers no offense qualifying a namespace const 301s registers an offense with an unqualified const 301s registers no offense not qualifying another const 301s registers no with a namespace const 301s registers an offense when an unqualified namespace const 301s 301s RuboCop::Cop::Style::AccessorGrouping 301s when EnforcedStyle is separated 301s does not register an offense if the same accessor is listed twice 301s registers an offense and corrects when using grouped accessors within eigenclass 301s registers an offense and corrects when using grouped accessors 301s registers an offense and corrects when the same accessor is given more than once in the same statement 301s does not register an offense when using separated accessors 301s does not register an offense for grouped accessors with comments 301s registers an offense and corrects when using grouped accessors with different access modifiers 301s when there are comments for attributes 301s registers and corrects an offense 301s when EnforcedStyle is grouped 301s does not register offense for accessors with comments 301s registers an offense and corrects when using separated accessors 301s does not register an offense when using grouped accessors 301s does not register an offense when the same accessor is given more than once in the same statement 301s registers an offense and corrects when using separated accessors within eigenclass 301s registers offense and corrects if at least two separate accessors without comments 301s registers an offense and corrects when using separated accessors with different access modifiers 301s registers an offense and correct if the same accessor is listed twice 301s 301s RuboCop::Cop::Style::MapToHash 301s >= Ruby 2.6 301s when the receiver is an array 301s registers an offense and corrects 301s when chained further 301s registers an offense and corrects 301s `map` and `collect.to_h` with newlines 301s registers an offense and corrects with newline removal 301s when the receiver is an array 301s registers an offense and corrects 301s `collect` without `to_h` 301s does not register an offense 301s when the receiver is an hash 301s registers an offense and corrects 301s `map.to_h` with a block on `to_h` 301s registers an offense but does not correct 301s for `map.to_h` with block arity 1 301s registers an offense and corrects 301s `collect.to_h` with a block on `to_h` 301s registers an offense but does not correct 301s `map` and `map.to_h` with newlines 301s registers an offense and corrects with newline removal 301s `map` without `to_h` 301s does not register an offense 301s for `collect.to_h` with block arity 2 301s registers an offense and corrects 301s for `collect.to_h` with block arity 1 301s registers an offense and corrects 301s when the receiver is an hash 301s registers an offense and corrects 301s when chained further 301s registers an offense and corrects 301s for `map.to_h` with block arity 2 301s registers an offense and corrects 301s 301s RuboCop::Cop::Layout::ClosingHeredocIndentation 301s accepts correctly indented closing heredoc when aligned at the beginning of method definition and content is empty 301s accepts correctly indented closing heredoc when heredoc contents is after closing heredoc 301s accepts correctly indented closing heredoc when aligned at the beginning of method definition and using `strip_indent` 301s accepts correctly indented closing heredoc when heredoc contents with blank line 301s does not register an offense for a << heredoc 301s accepts correctly indented closing heredoc 301s accepts correctly indented closing heredoc when aligned at the beginning of method definition 301s does not register an offense for correctly indented empty heredocs 301s registers an offense for incorrectly indented empty heredocs 301s registers an offense for bad indentation of a closing heredoc 301s accepts correctly indented closing heredoc when heredoc contents is before closing heredoc 301s 301s RuboCop::Cop::Style::NonNilCheck 301s when allowing semantic changes 301s registers an offense for `!x.nil?` 301s does not blow up with ternary operators 301s registers an offense for `not x.nil?` 301s does not register an offense for `!x` 301s corrects code that would not be modified if IncludeSemanticChanges were false 301s registers an offense for unless x.nil? 301s does not register an offense for `x.nil?` 301s does not blow up when autocorrecting implicit receiver 301s autocorrects by changing `x != nil` to `x` 301s when `EnforcedStyle: comparison` of `Style/NilComparison` cop 301s `IncludeSemanticChanges: false` 301s does not register an offense for `foo != nil` 301s `IncludeSemanticChanges: true` 301s registers an offense for `foo != nil` 301s when not allowing semantic changes 301s does not register an offense if last expression in class predicate 301s does not register an offense for not x.nil? 301s registers an offense for != nil 301s does not register an offense for !x.nil? 301s does not register an offense for != 0 301s does not register an offense with implicit receiver 301s does not register an offense if last expression in predicate 301s registers an offense but does not correct when the code was not modified 301s does not register an offense if only expression in predicate 301s does not register an offense if only expression in class predicate 301s 301s RuboCop::Cop::Style::DateTime 301s does not register an offense when using ::DateTime for historic date 301s does not register an offense when using DateTime for historic date 301s does not register an offense when using Date for modern date 301s does not register an offense when using DateTime in another namespace 301s registers an offense when using DateTime for modern date 301s does not register an offense when using Time for current time 301s registers an offense when using DateTime for current time 301s registers an offense when using ::DateTime for current time 301s when configured to not allow #to_datetime 301s registers an offense 301s when configured to allow #to_datetime 301s does not register an offense 301s 301s RuboCop::Cop::Style::Alias 301s when EnforcedStyle is prefer_alias 301s does not register an offense for alias_method with explicit receiver 301s registers an offense for alias with symbol args 301s does not register an offense for alias in an instance_eval block 301s does not register an offense for alias_method in a block 301s does not register an offense for alias_method with non-literal constant argument 301s does not register an offense for alias_method in self.method def 301s registers an offense for alias_method at the top level 301s registers an offense for alias_method in a class block 301s does not register an offense for alias_method in a method def 301s registers an offense for alias_method in a module block 301s does not register an offense for alias_method with non-literal method call argument 301s does not register an offense for alias with bareword args 301s when EnforcedStyle is prefer_alias_method 301s registers an offense for alias with symbol args 301s does not register an offense for alias in an instance_eval block 301s does not register an offense for alias with gvars 301s registers an offense for alias with bareword args 301s does not register an offense for alias_method 301s 301s RuboCop::Cop::Lint::DuplicateRescueException 301s registers an offense when duplicate exception splat exists 301s registers an offense when duplicate exception exists within rescues with `else` branch 301s registers an offense when multiple duplicate exceptions exist 301s registers an offense when duplicate exception exists within rescues with empty `rescue` branch 301s registers an offense when duplicate exception exists 301s does not register an offense when there are no duplicate exceptions 301s 301s RuboCop::Cop::Style::SelectByRegexp 301s with find_all 301s registers an offense and corrects without a receiver 301s does not register an offense when the receiver is `to_h` 301s does not register an offense when the block param is a method argument 301s registers an offense and corrects for `regexp =~ blockvar` 301s does not register an offense when the block has multiple expressions 301s registers an offense and corrects for `lvar =~ blockvar` 301s does not register an offense when the receiver is `to_hash` 301s does not register an offense when the receiver is `Hash[]` 301s registers an offense if `to_h` is in the receiver chain but not the actual receiver 301s registers an offense and corrects with a multiline block 301s registers an offense and corrects when the receiver is a range 301s registers an offense and corrects for `Regexp#match?` 301s does not register an offense when the block uses an external variable in a regexp match 301s does not register an offense when the receiver is `Hash.new` 301s does not register an offense when the receiver is a hash literal 301s registers an offense and corrects for `match?` 301s registers an offense and corrects when the receiver is an array 301s does not register an offense when there is no block 301s does not register an offense when the block does not match a regexp 301s does not register an offense when given a proc 301s registers an offense and corrects for `blockvar =~ regexp` 301s does not register an offense when the receiver is `ENV` 301s registers an offense and corrects when there is no explicit regexp 301s registers an offense and corrects for `blockvar =~ lvar` 301s does not register an offense when the block arity is not 1 301s registers an offense and corrects when the receiver is a set 301s with `numblock`s 301s does not register an offense if there is more than one numbered param 301s registers an offense and corrects for `Regexp#match?` 301s does not register an offense when using `match?` without a receiver 301s registers an offense and corrects for `blockvar =~ regexp` 301s does not register an offense when the param is a method argument 301s registers an offense and corrects for `match?` 301s registers an offense and corrects for `regexp =~ blockvar` 301s with select 301s does not register an offense when the block uses an external variable in a regexp match 301s registers an offense and corrects when the receiver is a set 301s registers an offense and corrects when there is no explicit regexp 301s does not register an offense when the receiver is `ENV` 301s registers an offense and corrects for `regexp =~ blockvar` 301s registers an offense and corrects for `Regexp#match?` 301s registers an offense and corrects without a receiver 301s registers an offense and corrects for `match?` 301s does not register an offense when the receiver is `Hash.new` 301s registers an offense and corrects for `blockvar =~ lvar` 301s registers an offense and corrects with a multiline block 301s does not register an offense when the receiver is `to_hash` 301s does not register an offense when there is no block 301s does not register an offense when the receiver is `to_h` 301s does not register an offense when the block has multiple expressions 301s registers an offense and corrects for `blockvar =~ regexp` 301s registers an offense and corrects when the receiver is a range 301s does not register an offense when the receiver is `Hash[]` 301s does not register an offense when given a proc 301s does not register an offense when the block does not match a regexp 301s registers an offense and corrects for `lvar =~ blockvar` 301s does not register an offense when the receiver is a hash literal 301s registers an offense and corrects when the receiver is an array 301s does not register an offense when the block param is a method argument 301s registers an offense if `to_h` is in the receiver chain but not the actual receiver 301s does not register an offense when the block arity is not 1 301s with `numblock`s 301s registers an offense and corrects for `Regexp#match?` 301s does not register an offense when using `match?` without a receiver 301s registers an offense and corrects for `blockvar =~ regexp` 301s registers an offense and corrects for `regexp =~ blockvar` 301s does not register an offense if there is more than one numbered param 301s does not register an offense when the param is a method argument 301s registers an offense and corrects for `match?` 301s with reject 301s registers an offense and corrects for `blockvar =~ lvar` 301s registers an offense and corrects when the receiver is a range 301s does not register an offense when the receiver is `to_hash` 301s does not register an offense when the block uses an external variable in a regexp match 301s does not register an offense when the receiver is `ENV` 301s registers an offense and corrects when the receiver is an array 301s does not register an offense when there is no block 301s does not register an offense when the receiver is `Hash[]` 301s does not register an offense when the receiver is `Hash.new` 301s registers an offense and corrects without a receiver 301s registers an offense and corrects with a multiline block 301s registers an offense and corrects for `match?` 301s registers an offense and corrects when there is no explicit regexp 301s registers an offense and corrects for `regexp =~ blockvar` 301s registers an offense and corrects for `blockvar =~ regexp` 301s does not register an offense when the receiver is `to_h` 301s registers an offense and corrects for `lvar =~ blockvar` 301s registers an offense and corrects when the receiver is a set 301s does not register an offense when the block has multiple expressions 301s registers an offense if `to_h` is in the receiver chain but not the actual receiver 301s does not register an offense when given a proc 301s does not register an offense when the receiver is a hash literal 301s does not register an offense when the block does not match a regexp 301s registers an offense and corrects for `Regexp#match?` 301s does not register an offense when the block arity is not 1 301s does not register an offense when the block param is a method argument 301s with `numblock`s 301s registers an offense and corrects for `blockvar =~ regexp` 301s registers an offense and corrects for `match?` 301s does not register an offense if there is more than one numbered param 301s does not register an offense when the param is a method argument 301s does not register an offense when using `match?` without a receiver 301s registers an offense and corrects for `Regexp#match?` 301s registers an offense and corrects for `regexp =~ blockvar` 301s 301s RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets 301s does not register offense for any kind of reference brackets 301s with space inside empty braces allowed 301s accepts empty brackets with space inside 301s registers an offense and corrects empty brackets with no space inside 301s registers an offense and corrects empty brackets with more than one space inside 301s with space inside empty brackets not allowed 301s registers an offense and corrects empty brackets with multiple spaces inside 301s registers an offense and corrects empty brackets with 1 space inside 301s accepts empty brackets with no space inside 301s registers an offense and corrects multiline spaces 301s when EnforcedStyle is compact 301s does not register offense for valid 4-dimensional array 301s does not register offense for valid 2-dimensional array 301s registers an offense and corrects 3-dimensional array with extra spaces 301s registers an offense and corrects space between 2 opening brackets 301s registers an offense and corrects space between 2 closing brackets 301s accepts multiline array 301s registers an offense and corrects 2-dimensional array with extra spaces 301s does not register offense for valid 3-dimensional array 301s behaves like space inside arrays 301s does not register offense when bottom bracket gets its own line & has trailing method 301s does not register offense for indented array when bottom bracket gets its own line & is misaligned 301s does not register offense for array when brackets get their own line 301s registers an offense and corrects multiline array on end bracket with trailing method 301s does not register offense for valid multiline array 301s registers an offense and corrects array brackets with no leading whitespace 301s registers an offense and corrects multiline array on end bracket 301s registers an offense and corrects array brackets with no trailing whitespace 301s does not register offense for arrays with spaces 301s does not register offense when 2 arrays on one line 301s does not register offense for arrays using ref brackets 301s accepts square brackets as method name 301s accepts space inside array brackets with comment 301s accepts square brackets called with method call syntax 301s registers an offense and corrects an array missing whitespace when there is more than one array on a line 301s register an offense and corrects when 2 arrays are on one line 301s multiline, 2-dimensional array with spaces 301s registers an offense and corrects at the end of array 301s registers an offense and corrects at the beginning of array 301s multiline, 2-dimensional array with newlines 301s registers an offense and corrects at the beginning of array 301s registers an offense and corrects at the end of array 301s when EnforcedStyle is no_space 301s does not register offense for arrays with no spaces 301s accepts space inside array brackets if with comment 301s registers an offense and corrects 2 arrays on one line 301s does not register offense when bottom bracket gets its own line & has trailing method 301s does not register offense for arrays using ref brackets 301s does not register offense when 2 arrays on one line 301s does not register offense for valid 2-dimensional array 301s does not register offense for array when brackets get own line 301s does not register offense when contains an array literal as an argument after a heredoc is started 301s registers an offense and corrects an array when two on one line 301s registers an offense and corrects an array literal as an argument with trailing whitespace after a heredoc is started 301s accepts square brackets as method name 301s registers an offense and corrects array brackets with trailing whitespace 301s registers an offense and corrects array brackets with leading whitespace 301s does not register offense for valid multiline array 301s does not register offense when bottom bracket gets its own line indented with tabs 301s accepts square brackets called with method call syntax 301s accepts a multiline array with whitespace before end bracket 301s does not register offense for indented array when bottom bracket gets its own line & is misaligned 301s registers an offense and corrects multiline array on end bracket 301s registers an offense and corrects multiline array on end bracket with trailing method 301s when EnforcedStyle is space 301s does not register offense for valid 2-dimensional array 301s behaves like space inside arrays 301s registers an offense and corrects multiline array on end bracket with trailing method 301s accepts square brackets called with method call syntax 301s registers an offense and corrects multiline array on end bracket 301s does not register offense when bottom bracket gets its own line & has trailing method 301s registers an offense and corrects an array missing whitespace when there is more than one array on a line 301s accepts space inside array brackets with comment 301s registers an offense and corrects array brackets with no leading whitespace 301s does not register offense for valid multiline array 301s does not register offense for arrays using ref brackets 301s registers an offense and corrects array brackets with no trailing whitespace 301s does not register offense for arrays with spaces 301s register an offense and corrects when 2 arrays are on one line 301s does not register offense when 2 arrays on one line 301s does not register offense for array when brackets get their own line 301s accepts square brackets as method name 301s does not register offense for indented array when bottom bracket gets its own line & is misaligned 301s 301s RuboCop::Cop::Style::TernaryParentheses 301s when configured to enforce parentheses omission 301s accepts condition including a range 301s with one line pattern matching 301s does not register an offense 301s with a complex condition 301s registers an offense for boolean expression using keyword 301s registers an offense for defined with nested constant in condition 301s registers an offense for defined with class method in condition 301s registers an offense for query method on object 301s registers an offense for boolean expression 301s registers an offense for defined with method chain in condition 301s registers an offense for arithmetic expression 301s accepts parens around inner boolean expression 301s registers an offense for equality check 301s registers an offense for negated condition 301s registers an offense for defined with variable in condition 301s with a simple condition 301s registers an offense for multi-line boolean expression 301s registers an offense for query method in condition 301s registers an offense for yield in condition 301s accepts multi-line boolean expression starting on following line 301s registers an offense for accessor in condition 301s with no space between the parentheses and question mark 301s registers an offense 301s with an unparenthesized method call condition 301s registers an offense when calling method with a parameter 301s registers an offense for defined check 301s when calling method on a literal receiver 301s registers an offense 301s when calling method on a receiver 301s registers an offense 301s when calling method on a constant receiver 301s registers an offense 301s when calling method with multiple arguments 301s registers an offense 301s with one line pattern matching 301s does not register an offense 301s with an assignment condition 301s accepts safe assignment as part of multiple assignment 301s registers an offense for equality check 301s accepts double safe assignment 301s accepts safe assignment 301s behaves like safe assignment disabled 301s registers an offense for parens around outer assignment 301s registers an offense for parens around inner assignment 301s registers an offense for parens around assignment 301s when configured to enforce parentheses inclusion 301s with a simple condition 301s registers an offense for yield in condition 301s registers an offense for query method in condition 301s registers an offense for accessor in condition 301s with an assignment condition 301s registers an offense for double assignment 301s registers an offense for triple assignment 301s accepts safe assignment in condition 301s registers an offense for double assignment with equality check in condition 301s with a complex condition 301s registers an offense for defined? with nested constant in condition 301s registers an offense for equality check 301s registers an offense for boolean expression containing parens 302s registers an offense when calling method on a receiver 302s registers an offense for defined? with variable in condition 302s registers an offense for defined? with class method in condition 302s registers an offense for arithmetic condition 302s registers an offense for negated condition 302s registers an offense for boolean expression using keyword 302s registers an offense for defined? with method chain in condition 302s registers an offense for boolean expression 302s configured for parentheses on complex and there are parens 302s accepts condition including a range 302s with an assignment condition 302s accepts accepts safe multiple assignment 302s accepts safe assignment as part of multiple assignment 302s accepts safe assignment 302s accepts equality check 302s behaves like safe assignment disabled 302s registers an offense for parens around inner assignment 302s registers an offense for parens around outer assignment 302s registers an offense for parens around assignment 302s with a complex condition 302s registers an offense for defined with method chain in condition 302s registers an offense for defined with nested constant in condition 302s registers an offense for defined with class method in condition 302s registers an offense for defined with variable in condition 302s accepts boolean expression using keywords 302s accepts boolean expression 302s registers an offense when calling method on a receiver 302s with a simple condition 302s registers an offense for yield in condition 302s registers an offense for query method in condition 302s registers an offense with preceding boolean keyword expression 302s registers an offense for save navigation 302s registers an offense for accessor in condition 302s with method call condition 302s registers an offense when calling method with a parameter 302s registers an offense for defined check 302s registers an offense when calling method on a receiver 302s without accessor in method call parameters 302s registers an offense for array include? without parens 302s registers an offense for array include? with parens 302s with accessor in method call parameters 302s registers an offense for array include? with multiple parameters with parens 302s registers an offense for array include? without parens 302s registers an offense for array include? with multiple parameters without parens 302s configured for parentheses on complex and there are no parens 302s with an assignment condition 302s accepts safe assignment 302s registers an offense for equality check 302s with complex condition 302s registers an offense for comparison with method call on receiver 302s registers an offense for addition expression 302s registers an offense for comparison with multiplication 302s registers an offense for boolean expression with inner parens 302s registers an offense for compound boolean expression 302s registers an offense comparison with exponentiation 302s registers an offense for boolean expression 302s registers an offense for arithmetic and equality check 302s registers an offense for subtraction expression 302s registers an offense for comparison 302s 302s RuboCop::Cop::Offense 302s has a few required attributes 302s redefines == to compare offenses based on their contents 302s does not blow up if a message contains % 302s overrides #to_s 302s is frozen 302s #<=> 302s when receiver has {:line=>5, :col=>6} and other has {:line=>5, :col=>5} 302s returns 1 302s when receiver has {:cop=>"B"} and other has {:cop=>"A"} 302s returns 1 302s when receiver has {:line=>6} and other has {:line=>5} 302s returns 1 302s when receiver has {:line=>6, :col=>4} and other has {:line=>5, :col=>5} 302s returns 1 302s when receiver has {:col=>6, :cop=>"A"} and other has {:col=>5, :cop=>"B"} 302s returns 1 302s when receiver has {} and other has {} 302s returns 0 302s when receiver has {:line=>6, :cop=>"A"} and other has {:line=>5, :cop=>"B"} 302s returns 1 302s offenses that span multiple lines 302s highlights the first line 302s #message 302s is frozen 302s #severity 302s is frozen 302s offenses that span part of a line 302s highlights the first line 302s #cop_name 302s is frozen 302s when the location is pseudo 302s returns a source line 302s returns a location with valid size and length 302s returns a column 302s returns the last column 302s returns a column length 302s returns the last line 302s returns a real column 302s returns a line 302s returns a column range 302s returns the first line 302s #severity_level 302s when severity is :info 302s is 1 302s when severity is :fatal 302s is 6 302s when severity is :refactor 302s is 2 302s when unknown severity is passed 302s raises error 302s #location 302s is frozen 302s 302s RuboCop::Cop::Style::FileRead 302s registers an offense for and corrects the `File.open` with inline read block (mode 'r') 302s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'r+t') 302s registers an offense for and corrects `File.open(filename, 'r+').read` 302s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'r') 302s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'rb') 302s registers an offense for and corrects the `File.open` with inline read block (mode 'r+b') 302s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'r+') 302s registers an offense for and corrects the `File.open` with inline read block (mode 'r+t') 302s registers an offense for and corrects `File.open(filename, 'r+b').read` 302s registers an offense for and corrects the `File.open` with inline read block (mode 'r+') 302s registers an offense for and corrects the `File.open` with multiline read block (mode 'r') 302s registers an offense for and corrects the `File.open` with multiline read block (mode 'r+t') 302s registers an offense for and corrects the `File.open` with inline read block (mode 'rb') 302s does not register an offense when not reading from the block variable 302s registers an offense for and corrects `::File.open(filename).read` 302s registers an offense for and corrects the `File.open` with inline read block (implicit text mode) 302s registers an offense for and corrects the `File.open` with symbolic read proc (implicit text mode) 302s registers an offense for and corrects `File.open(filename, 'r+t').read` 302s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'rt') 302s registers an offense for and corrects the `File.open` with multiline read block (mode 'r+') 302s registers an offense for and corrects `File.open(filename).read` 302s registers an offense for and corrects `File.open(filename, 'rb').read` 302s registers an offense for and corrects `File.open(filename, 'rt').read` 302s registers an offense for and corrects the `File.open` with multiline read block (implicit text mode) 302s registers an offense for and corrects the `File.open` with multiline read block (mode 'r+b') 302s registers an offense for and corrects the `File.open` with inline read block (mode 'rt') 302s registers an offense for and corrects the `File.open` with multiline read block (mode 'rt') 302s registers an offense for and corrects the `File.open` with multiline read block (mode 'rb') 302s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'r+b') 302s registers an offense for and corrects `File.open(filename, 'r').read` 302s 302s RuboCop::Cop::Style::ImplicitRuntimeError 302s does not register an offense for `raise` with an error class 302s does not register an offense for `fail` without arguments 302s registers an offense for `fail` without error class 302s registers an offense for `fail` with a multiline string 302s does not register an offense for `fail` with an error class 302s does not register an offense for `raise` without arguments 302s registers an offense for `raise` without error class 302s registers an offense for `raise` with a multiline string 302s 302s RuboCop::Cop::Style::MultilineMethodSignature 302s when arguments span a single line 302s when defining an instance method 302s registers an offense and corrects when line break after opening parenthesis 302s registers an offense and corrects when closing paren is on the following line 302s when method signature is on a single line 302s does not register an offense for parameterized method 302s does not register an offense for unparameterized method 302s when defining an class method 302s when method signature is on a single line 302s does not register an offense for parameterized method 302s does not register an offense for unparameterized method 302s when arguments span a single line 302s registers an offense and corrects when closing paren is on the following line 302s when arguments span multiple lines 302s when correction would exceed maximum line length 302s does not register an offense 302s when correction would not exceed maximum line length 302s registers an offense and corrects 302s when defining an instance method 302s registers an offense and corrects when `end` is on the same line with last argument 302s registers an offense and corrects when `end` is on the same line with only closing parentheses 302s registers an offense and corrects when `end` is on the following line 302s when defining an class method 302s registers an offense and corrects when `end` is on the following line 302s registers an offense and corrects when `end` is on the same line 302s registers an offense and corrects when `end` is on the same line with only closing parentheses 302s 302s RuboCop::Cop::Style::GlobalVars 302s does not register an offense for built-in variable $OFS 302s does not register an offense for built-in variable $-d 302s does not register an offense for built-in variable $_ 302s does not register an offense for built-in variable $POSTMATCH 302s does not register an offense for built-in variable $" 302s does not register an offense for built-in variable $. 302s does not register an offense for built-in variable $' 302s does not register an offense for built-in variable $LOAD_PATH 302s does not register an offense for built-in variable $-w 302s does not register an offense for built-in variable $PREMATCH 302s does not register an offense for built-in variable $$ 302s does not register an offense for built-in variable $JRUBY_REVISION 302s does not register an offense for built-in variable $NR 302s does not register an offense for built-in variable $-p 302s does not register an offense for built-in variable $LAST_PAREN_MATCH 302s does not register an offense for built-in variable $ORS 302s does not register an offense for built-in variable $SAFE 302s does not register an offense for built-in variable $DEFAULT_OUTPUT 302s does not register an offense for built-in variable $stdin 302s does not register an offense for built-in variable $+ 302s does not register an offense for built-in variable $-a 302s does not register an offense for built-in variable $DEFAULT_INPUT 302s does not register an offense for built-in variable $: 302s does not register an offense for built-in variable $RS 302s does not register an offense for built-in variable $ARGV 302s does not register an offense for built-in variable $OUTPUT_RECORD_SEPARATOR 302s does not register an offense for built-in variable $ERROR_POSITION 302s allows user permitted variables 302s does not register an offense for built-in variable $~ 302s does not register an offense for built-in variable $; 302s does not register an offense for built-in variable $-0 302s does not register an offense for built-in variable $ERROR_INFO 302s does not register an offense for built-in variable $@ 302s does not register an offense for built-in variable $* 302s does not register an offense for built-in variable $, 302s does not register an offense for built-in variable $JRUBY_VERSION 302s does not register an offense for built-in variable $-v 302s does not register an offense for built-in variable $ENV_JAVA 302s does not register an offense for built-in variable $PROGRAM_NAME 302s does not register an offense for built-in variable $-i 302s does not register an offense for built-in variable $FIELD_SEPARATOR 302s does not register an offense for built-in variable $& 302s does not register an offense for built-in variable $OUTPUT_FIELD_SEPARATOR 302s does not register an offense for built-in variable $DEBUG 302s does not register an offense for built-in variable $\ 302s does not register an offense for built-in variable $LAST_READ_LINE 302s does not register an offense for built-in variable $-F 302s does not register an offense for built-in variable $stdout 302s does not register an offense for built-in variable $IGNORECASE 302s does not register an offense for built-in variable $= 302s does not register an offense for built-in variable $PID 302s does not register an offense for built-in variable $INPUT_LINE_NUMBER 302s does not register an offense for built-in variable $-I 302s does not register an offense for built-in variable $? 302s does not register an offense for built-in variable $-l 302s does not register an offense for built-in variable $PROCESS_ID 302s does not register an offense for built-in variable $INPUT_RECORD_SEPARATOR 302s does not register an offense for built-in variable $MATCH 302s does not register an offense for built-in variable $/ 302s does not register an offense for built-in variable $LAST_MATCH_INFO 302s does not register an offense for built-in variable $CLASSPATH 302s does not register an offense for built-in variable $FS 302s registers an offense for $custom 302s does not register an offense for built-in variable $stderr 302s does not register an offense for built-in variable $< 302s does not register an offense for built-in variable $> 302s does not register an offense for backrefs like $1 302s does not register an offense for built-in variable $! 302s does not register an offense for built-in variable $` 302s does not register an offense for built-in variable $0 302s does not register an offense for built-in variable $LOADED_FEATURES 302s does not register an offense for built-in variable $CHILD_STATUS 302s does not register an offense for built-in variable $VERBOSE 302s does not register an offense for built-in variable $FILENAME 302s 302s RuboCop::Cop::Style::StabbyLambdaParentheses 302s require_parentheses 302s registers an offense for a stabby lambda without parentheses 302s does not register an offense for a stabby lambda with parentheses 302s behaves like common 302s does not check the old lambda syntax 302s does not check a stabby lambda without arguments 302s does not check a method call named lambda 302s require_no_parentheses 302s registers an offense for a stabby lambda with parentheses 302s behaves like common 302s does not check a stabby lambda without arguments 302s does not check a method call named lambda 302s does not check the old lambda syntax 302s 302s RuboCop::CommentConfig 302s #cop_enabled_at_line? 302s supports disabling cops with multiple uppercase letters 302s supports disabling multiple lines with a pair of directive 302s supports disabling cops on a comment line with an EOL comment 302s supports enabling/disabling multiple cops in a single directive 302s supports disabling cops with multiple levels in department name 302s just ignores unpaired enabling directives 302s does not confuse a cop name including "all" with all cops 302s handles indented single line 302s supports disabling single line with a directive at end of line 302s supports disabling cops with numbers in their name 302s supports enabling/disabling multiple cops along with a comment 302s supports enabling/disabling cops without a prefix 302s can handle double disable of one cop 302s supports disabling all lines after a directive 302s does not confuse a comment directive embedded in a string literal with a real comment 303s supports disabling all cops except Lint/RedundantCopDisableDirective with keyword all 303s #cop_disabled_line_ranges 303s collects line ranges by disabled cops 303s comment_only_line? 303s when line contains only comment 303s returns true 303s returns true 303s when line contains code and comment 303s returns false 303s when line contains only code 304s returns false 304s returns false 304s returns false 304s returns false 304s when line is empty 304s returns true 304s #extra_enabled_comments 304s has values as arrays of extra enabled cops 304s has keys as instances of Parser::Source::Comment for extra enabled comments 304s 304s RuboCop::Cop::Lint::SendWithMixinArgument 304s registers an offense when using `__send__` method 304s registers an offense when using `public_send` method 304s registers an offense when using `send` with `prepend` 304s does not register an offense when using `extend` 304s registers an offense when using `send` with `extend` 304s does not register an offense when using `include` 304s does not register an offense when not using a mixin method 304s does not register an offense when using `prepend` 304s registers an offense when using `send` with `include` 304s when specifying a mixin method as a string 304s registers an offense when using `send` with `include` 304s registers an offense when using `send` with `prepend` 304s registers an offense when using `send` with `extend` 304s when using namespace for module 304s registers an offense when using `send` with `include` 304s 304s RuboCop::Cop::Lint::SafeNavigationWithEmpty 304s in a conditional 304s does not register an offense on `.empty?` 304s registers an offense and corrects on `&.empty?` 304s outside a conditional 304s registers no offense 304s 304s RuboCop::Cop::Style::RedundantRegexpEscape 304s with multibyte characters 304s removes the escape character at the right position 304s with a single-line %r~~ regexp 304s without escapes 304s does not register an offense 304s with escaped delimiters and regexp options 304s does not register an offense 304s with escaped delimiters outside a character-class 304s does not register an offense 304s with escaped delimiters inside a character-class 304s does not register an offense 304s with a single-line %r() regexp 304s with escaped delimiters outside a character-class 304s does not register an offense 304s without escapes 304s does not register an offense 304s with escaped delimiters and regexp options 304s does not register an offense 304s with escaped delimiters inside a character-class 304s does not register an offense 304s with a single-line `//` regexp 304s with an escaped 'J' outside a character class 304s does not register an offense 304s with a nested character class then allowed escape 304s does not register an offense 304s with an escaped '$' outside a character class 304s does not register an offense 304s with an escaped ']' inside a character class 304s does not register an offense 304s with an escaped 'K' outside a character class 304s does not register an offense 304s with an escaped 'C-c' inside a character class 304s does not register an offense 304s with an escaped 'G' outside a character class 304s does not register an offense 304s with an escaped ']' outside a character class 304s does not register an offense 304s with a line continuation within a character class 304s does not register an offense 304s with an escaped 'u{0041}' inside a character class 304s does not register an offense 304s with an escaped '?' outside a character class 304s does not register an offense 304s with an escaped 'x41' outside a character class 304s does not register an offense 304s with an escaped '(' outside a character class 304s does not register an offense 304s with an escaped 'U' inside a character class 304s does not register an offense 304s with an escaped 's' outside a character class 304s does not register an offense 304s with an escaped character class and following escaped char 304s does not register an offense 304s with an escaped 't' inside a character class 304s does not register an offense 304s with an invalid g escape 304s does not register an offense 304s with an escaped 'h' outside a character class 304s does not register an offense 304s with an escaped 'X' outside a character class 304s does not register an offense 304s with an escaped 'Z' inside a character class 304s does not register an offense 304s with an escaped '+' inside a character class inside a group 304s registers an offense and corrects 304s with an escaped 'F' outside a character class 304s does not register an offense 304s with an escaped 'm' inside a character class 304s does not register an offense 304s with an escaped '{' inside a character class 304s registers an offense and corrects 304s with an escaped 'cc' inside a character class 304s does not register an offense 304s with an escaped '-' character being the first character inside a character class 304s registers an offense and corrects 304s with an escaped 'r' inside a character class 304s does not register an offense 304s with an escaped '?' inside a character class 304s registers an offense and corrects 304s with an escaped 'n101' inside a character class 304s does not register an offense 304s without escapes 304s does not register an offense 304s with an escaped ' 304s ' outside a character class 304s does not register an offense 304s with an escaped '{' outside a character class 304s does not register an offense 304s with an escaped 'z' inside a character class 304s does not register an offense 304s with an escaped 'O' inside a character class 304s does not register an offense 304s with an escaped 'P{alpha}' outside a character class 304s does not register an offense 304s with an escaped 'o' outside a character class 304s does not register an offense 304s with a line continuation 304s does not register an offense 304s with an escaped 'f' outside a character class 304s does not register an offense 304s with an escaped '-' inside a character class 304s registers an offense and corrects 304s with an escaped 'R' inside a character class 304s does not register an offense 304s with a character class and following escaped char 304s does not register an offense 304s with an escaped 'S' outside a character class 304s does not register an offense 304s with an escaped 'M-a' outside a character class 304s does not register an offense 304s with an escaped 'R' outside a character class 304s does not register an offense 304s with an escaped 'W' outside a character class 304s does not register an offense 304s with an escaped '#' inside a character class 304s does not register an offense 304s with an escaped 'cc' outside a character class 304s does not register an offense 304s with an escaped 'e' outside a character class 304s does not register an offense 304s with an escape inside an interpolated string 304s does not register an offense 304s with an escaped '+' inside a character class 304s registers an offense and corrects 304s with an escaped '[' inside a character class 304s does not register an offense 304s with an escaped 'V' inside a character class 304s does not register an offense 304s with a backreference 304s does not register an offense 304s with an escaped 'b' outside a character class 304s does not register an offense 304s with an escaped 'a' outside a character class 304s does not register an offense 304s with an escaped 'M-a' inside a character class 304s does not register an offense 304s with an escaped 'J' inside a character class 304s does not register an offense 304s with an escaped 'Y' outside a character class 304s does not register an offense 304s with an escaped 'a' inside a character class 304s does not register an offense 304s with an escaped 'e' inside a character class 304s does not register an offense 304s with an escaped ' ' outside a character class 304s does not register an offense 304s with an interpolated unnecessary-escape regexp 304s registers an offense and corrects 304s with a POSIX character class then disallowed escape inside a character class 304s registers an offense and corrects 304s with a POSIX character class then allowed escape inside a character class 304s does not register an offense 304s with an escaped '\' inside a character class 304s does not register an offense 304s with an escaped '\' outside a character class 304s does not register an offense 304s with an escaped . inside a character class beginning with : 304s registers an offense and corrects 304s with an escaped 'K' inside a character class 304s does not register an offense 304s with an escaped '|' outside a character class 304s does not register an offense 304s with an escaped 'p{alpha}' outside a character class 304s does not register an offense 304s with an escaped ')' outside a character class 304s does not register an offense 304s with an uppercase metacharacter inside a character class 304s does not register an offense 304s with an escaped 'L' inside a character class 304s does not register an offense 304s with an escaped 't' outside a character class 304s does not register an offense 304s with an escaped '-' outside a character class 304s registers an offense and corrects 304s with an escaped ')' inside a character class 304s registers an offense and corrects 304s with an escaped 'r' outside a character class 304s does not register an offense 304s with an escaped '[' outside a character class 304s does not register an offense 304s with an escaped 'F' inside a character class 304s does not register an offense 304s with an escaped 'Q' outside a character class 304s does not register an offense 304s with regexp options and a redundant escape 304s registers offenses and corrects 304s with an escaped 'C-c' outside a character class 304s does not register an offense 304s with an escaped 'N' outside a character class 304s does not register an offense 304s with an escaped interpolation outside a character class 304s does not register an offense 304s with an escaped 'Q' inside a character class 304s does not register an offense 304s with an escaped 'V' outside a character class 304s does not register an offense 304s with an escaped 'i' inside a character class 304s does not register an offense 304s with an escaped '^' inside a character class 304s does not register an offense 304s with a nested character class containing redundant escape 304s registers an offense and corrects 304s with an escaped '}' outside a character class 304s does not register an offense 304s with an escaped 'A' outside a character class 304s does not register an offense 304s with an escaped 'S' inside a character class 304s does not register an offense 304s with a free-spaced mode regex 304s with redundant escape preceded by an escaped comment 304s registers offenses and corrects 304s with a commented redundant escape on a single line 304s does not register an offense 304s with a commented [ and ] 304s does not register an offense 304s with a commented redundant escape 304s does not register an offense 304s with an escaped interpolation inside a character class 304s does not register an offense 304s with an escaped 'Z' outside a character class 304s does not register an offense 304s with an escaped 'D' outside a character class 304s does not register an offense 304s with an escaped 'f' inside a character class 304s does not register an offense 304s with an uppercase metacharacter outside a character class 304s does not register an offense 304s with an escaped '+' outside a character class 304s does not register an offense 304s with an escaped '#' outside a character class 304s does not register an offense 304s with an escaped 'l' outside a character class 304s does not register an offense 304s with an escaped '.' outside a character class 304s does not register an offense 304s with an escaped 'E' outside a character class 304s does not register an offense 304s with an escaped 'y' inside a character class 304s does not register an offense 304s with an escaped 'U' outside a character class 304s does not register an offense 304s with an interpolation followed by redundant escapes 304s registers offenses and corrects 304s with an escaped '*' inside a character class 304s registers an offense and corrects 304s with an escaped 'u0041' outside a character class 304s does not register an offense 304s with an escaped '^' outside a character class 304s does not register an offense 304s with an escaped 'T' outside a character class 304s does not register an offense 304s with an escaped 'm' outside a character class 304s does not register an offense 304s with an escaped 'y' outside a character class 304s does not register an offense 304s with an escaped 'q' inside a character class 304s does not register an offense 304s with an escaped 'H' inside a character class 304s does not register an offense 304s with an escaped 'L' outside a character class 304s does not register an offense 304s with an escaped '.' inside a character class 304s registers an offense and corrects 304s with an escaped 'X' inside a character class 304s does not register an offense 304s with an escaped 'N' inside a character class 304s does not register an offense 304s with an escaped 'x41' inside a character class 304s does not register an offense 304s with an escaped 'A' inside a character class 304s does not register an offense 304s with an escaped 's' inside a character class 304s does not register an offense 304s with an escaped 'P{alpha}' inside a character class 304s does not register an offense 304s with an escaped 'u0041' inside a character class 304s does not register an offense 304s with escaped slashes 304s does not register an offense 304s with an escaped '*' outside a character class 304s does not register an offense 304s with an escaped '}' inside a character class 304s registers an offense and corrects 304s with an escaped 'B' outside a character class 304s does not register an offense 304s with an escaped '-' character being the last character inside a character class 304s registers an offense and corrects 304s with an escaped 'E' inside a character class 304s does not register an offense 304s with an escaped 'I' outside a character class 304s does not register an offense 304s with an escaped 'd' inside a character class 304s does not register an offense 304s with an escaped '|' inside a character class 304s registers an offense and corrects 304s with an escaped 'B' inside a character class 304s does not register an offense 304s with an escaped 'i' outside a character class 304s does not register an offense 304s with an escaped 'O' outside a character class 304s does not register an offense 304s with an escaped '$' inside a character class 304s registers an offense and corrects 304s with an escaped '(' inside a character class 304s registers an offense and corrects 304s with an escaped 'b' inside a character class 304s does not register an offense 304s with an escaped 'v' inside a character class 304s does not register an offense 304s with an escaped 'd' outside a character class 304s does not register an offense 304s with an escaped 'W' inside a character class 304s does not register an offense 304s with an escaped 'j' inside a character class 304s does not register an offense 304s with an escaped 'H' outside a character class 304s does not register an offense 304s with an escaped 'z' outside a character class 304s does not register an offense 304s with an escaped 'w' inside a character class 304s does not register an offense 304s with an escaped 'u{0041}' outside a character class 304s does not register an offense 304s with an escaped 'j' outside a character class 304s does not register an offense 304s with an escaped 'T' inside a character class 304s does not register an offense 304s with an escaped 'G' inside a character class 304s does not register an offense 304s with an escaped 'Y' inside a character class 304s does not register an offense 304s with an escaped 'n101' outside a character class 304s does not register an offense 304s with an escaped ' ' inside a character class 304s does not register an offense 304s with an escaped 'D' inside a character class 304s does not register an offense 304s with an escaped 'l' inside a character class 304s does not register an offense 304s with an escaped 'h' inside a character class 304s does not register an offense 304s with multiple escaped metachars inside a character class 304s registers offenses and corrects 304s with an escaped 'o' inside a character class 304s does not register an offense 304s with an escaped 'q' outside a character class 304s does not register an offense 304s with an escaped 'I' inside a character class 304s does not register an offense 304s with an escaped 'v' outside a character class 304s does not register an offense 304s with an escaped 'p{alpha}' inside a character class 304s does not register an offense 304s with an escaped 'w' outside a character class 304s does not register an offense 304s with a single-line %r^^ regexp 304s with escaped delimiters inside a character-class 304s does not register an offense 304s with escaped delimiters outside a character-class 304s does not register an offense 304s with escaped delimiters and regexp options 304s does not register an offense 304s without escapes 304s does not register an offense 304s with a single-line %r// regexp 304s without escapes 304s does not register an offense 304s with escaped slashes 304s does not register an offense 304s with a single-line %r<> regexp 304s with escaped delimiters outside a character-class 304s does not register an offense 304s with escaped delimiters inside a character-class 304s does not register an offense 304s with escaped delimiters and regexp options 304s does not register an offense 304s without escapes 304s does not register an offense 304s with a multi-line %r{} regexp 304s with a # inside a character class 304s does not register an offense 304s with a redundant escape after a line with comment 304s registers an offense and corrects 304s with redundantly-escaped slashes 304s registers an offense and corrects 304s without escapes 304s does not register an offense 304s with a single-line %r@@ regexp 304s with escaped delimiters inside a character-class 304s does not register an offense 304s with escaped delimiters outside a character-class 304s does not register an offense 304s without escapes 304s does not register an offense 304s with escaped delimiters and regexp options 304s does not register an offense 304s with a single-line %r!! regexp 304s with escaped delimiters outside a character-class 304s does not register an offense 304s with escaped delimiters inside a character-class 304s does not register an offense 304s with escaped delimiters and regexp options 304s does not register an offense 304s without escapes 304s does not register an offense 304s with a single-line %r{} regexp 304s with an escaped { or } outside a character class 304s does not register an offense 304s with redundantly-escaped slashes 304s registers an offense and corrects 304s without escapes 304s does not register an offense 304s with an escaped { or } inside a character class 304s does not register an offense 304s with a single-line %r__ regexp 304s with escaped delimiters outside a character-class 304s does not register an offense 304s without escapes 304s does not register an offense 304s with escaped delimiters and regexp options 304s does not register an offense 304s with escaped delimiters inside a character-class 304s does not register an offense 304s with a multi-line %r// regexp 304s without escapes 304s does not register an offense 304s with escaped slashes 304s does not register an offense 304s 304s RuboCop::Cop::Style::CombinableLoops 304s when looping method 304s does not register an offense for when the same method with different arguments 304s does not register an offense when the same loops are interleaved with some code 304s registers an offense when looping over the same data as previous loop 304s does not register an offense when the same loop method is used over different collections 304s does not register an offense when different loop methods are used over the same collection 304s does not register an offense when each branch contains the same single loop over the same collection 304s does not register an offense for when the same method with different arguments and safe navigation 304s Ruby 2.7 304s registers an offense when looping over the same data as previous loop in numblocks 304s when for loop 304s does not register an offense when the same loop method is used over different collections 304s does not register an offense when each branch contains the same single loop over the same collection 304s does not register an offense when the same loops are interleaved with some code 304s registers an offense when looping over the same data as previous loop 304s 304s RuboCop::Cop::Layout::EmptyLinesAroundArguments 304s when no extra lines 304s accepts method with no arguments that trails off block 304s accepts one line methods 304s accepts multiple listed mixed args 304s accepts multiline style argument for method call without selector 304s accepts method with argument that trails off block 304s accepts when blank line is inserted between method with arguments and receiver 304s accepts method with argument that trails off heredoc 304s accepts listed args starting on definition line 304s accepts block argument with empty line 304s with multiple arguments 304s ignores empty lines inside of method arguments 304s with one argument 304s ignores empty lines inside of method arguments 304s when extra lines 304s registers and autocorrects offense on correct lines for multi-offense example 304s registers and autocorrects offenses when multiple empty lines are detected 304s registers and autocorrects offense on correct line for single offense example 304s registers and autocorrects offense when empty line between normal arg & block arg 304s registers autocorrects empty line whetn args start on definition line 304s registers and autocorrects offense for empty line between args 304s registers and autocorrects offense when args start on definition line 304s registers and autocorrects offense for empty line before arg 304s registers and autocorrects offense for empty line after arg 304s when using safe navigation operator 304s registers and autocorrects offense for empty line before arg 304s 304s RuboCop::Cop::Gemspec::RequiredRubyVersion 304s registers an offense when `required_ruby_version` is an empty array 304s registers an offense when `required_ruby_version` is blank 304s registers an offense when `required_ruby_version` is not specified 304s target ruby version > 2.7 304s registers an offense when `required_ruby_version` is specified with ~> without a minor version and is lower than `TargetRubyVersion` 304s does not register an offense when lowest version of `required_ruby_version` equals `TargetRubyVersion` 304s does not register an offense when `required_ruby_version` is specified with >= and equals `TargetRubyVersion` 304s registers an offense when `required_ruby_version` is specified with >= without a minor version and is lower than `TargetRubyVersion` 304s does not register an offense when `required_ruby_version` is specified with ~> and equals `TargetRubyVersion` 304s does not register an offense when `required_ruby_version` is specified with ~> without a patch version and equals `TargetRubyVersion` 304s does not register an offense when `required_ruby_version` is specified with >= without a patch version and equals `TargetRubyVersion` 304s target ruby version > 2.6 304s registers an offense when `required_ruby_version` is specified with ~> and is higher than `TargetRubyVersion` 304s registers an offense when `required_ruby_version` is specified with >= and is higher than `TargetRubyVersion` 304s target ruby version > 2.7 304s recognizes a Gem::Requirement with multiple requirements and does not register an offense 304s recognizes Gem::Requirement and registers offense 304s registers an offense when `required_ruby_version` is specified with ~> and is lower than `TargetRubyVersion` 304s registers an offense when `required_ruby_version` is specified in array and is lower than `TargetRubyVersion` 304s registers an offense when `required_ruby_version` is specified with >= and is lower than `TargetRubyVersion` 304s false negatives 304s does not register an offense when `required_ruby_version` is assigned as a variable (an array of string literal) 304s does not register an offense when `required_ruby_version` is assigned as a variable (string literal) 304s 304s RuboCop::Cop::MessageAnnotator 304s #annotate 304s with options on 304s returns an annotated message 304s when the output format is JSON 304s returns the message unannotated 304s with default options 304s returns the message 304s #urls 304s returns an empty array if the reference url is blank 304s returns style guide url when it is specified 304s returns style guide and reference url when they are specified 304s returns an empty array without StyleGuide URL 304s returns multiple reference urls 304s returns reference url when it is specified 304s with style guide url 304s when StyleGuide is set in the config 304s adds style guide url 304s when StyleGuide is not set in the config 304s does not add style guide url 304s when a base URL is specified 304s combines correctly with a target-based setting 304s allows absolute URLs in the cop config 304s can accept relative paths if base has a full path 304s can use a path-based setting 304s does not specify a URL if a cop does not have one 304s when a nested department is specified 304s returns style guide url when it is specified 304s when a department other than AllCops is specified 304s returns style guide url when it is specified 304s 304s RuboCop::Cop::Style::EachWithObject 304s does not blow up for reduce with no arguments 304s correctly autocorrects 304s correctly autocorrects with return value only 304s ignores inject and reduce with empty body 304s ignores inject/reduce with assignment to accumulator param in block 304s finds inject and reduce with passed in and returned hash 304s ignores inject and reduce with condition as body 304s ignores inject and reduce passed in symbol 304s ignores inject and reduce with passed in, but not returned hash 304s when a simple literal is passed as initial value 304s ignores inject/reduce 304s Ruby 2.7 304s finds inject and reduce with passed in and returned hash and numblock 304s 304s RuboCop::Cop::Style::CaseLikeIf 304s registers an offense and corrects when using `match?` with regexp 304s does not register an offense when only single `if` 304s does not register an offense when an object overrides `equal?` with no arity 304s does not register an offense when using `unless` 304s does not register an offense when using `cover?` without a receiver 304s does not register an offense when using `match?` with non regexp 304s does not register an offense when one of `||` subconditions is not convertible 304s does not register an offense when using `==` with method call with arguments 304s does not register an offense when using `equal?` without a receiver 304s does not register an offense when using `==` with constant containing 1 letter in name 304s does not register an offense when using modifier `if` 304s registers an offense and corrects when using `===` 304s registers an offense and corrects when using `include?` with range 304s registers an offense and corrects when using `==` with literal 304s registers an offense and corrects when using `=~` 304s registers an offense and corrects when using `==` with constant 304s registers an offense and corrects when using nested conditions with `||` 304s does not register an offense when using `match?` in first branch with non regexp 304s registers an offense and corrects when using `is_a?` 304s registers an offense and corrects when target is a method call 304s does not register an offense when using `=~` in first branch with non regexp 304s does not register an offense when not all conditions contain target 304s does not register an offense when only `if-else` 304s does not register an offense when using `match?` without a receiver 304s registers an offense and corrects when using `match?` with non regexp in other branches except first 304s does not register an offense when one of the branches contains `==` with class reference 304s registers an offense and corrects when using `||` within conditions 304s does not register an offense when using `include?` without a receiver 304s does not register an offense when using `==` with class reference 304s does not register an offense when using ternary operator 304s when using regexp with named captures 304s registers and corrects an offense with =~ and regexp on rhs 304s registers and corrects an offense with match? and regexp on lhs 304s registers and corrects an offense with match? and regexp on rhs 304s does not register an offense with match and regexp on rhs 304s does not register an offense with =~ and regexp on lhs 304s does not register an offense with match and regexp on lhs 304s 304s RuboCop::Cop::Security::MarshalLoad 304s allows using dangerous Marshal methods for deep cloning 304s does not register an offense for Marshal.dump 304s does not register an offense Marshal methods under another namespace 304s registers an offense for using Marshal.restore 304s registers an offense for using Marshal.load 304s 304s RuboCop::Cop::Badge 304s compares by value 304s can be converted to a string with the Department/CopName format 304s exposes cop name 304s exposes department name 304s .for 304s parses cop class name 304s parses cop class name 304s parses cop class name 304s parses cop class name 304s parses cop class name 304s .parse 304s parses identifier 304s parses identifier 304s parses identifier 304s parses identifier 304s parses identifier 304s parses identifier 304s #camel_case 304s converts "lint" to CamelCase 304s converts "rspec" to CamelCase 304s converts "foo_bar" to CamelCase 304s .new 304s assigns name 304s assigns department 304s assigns name 304s assigns name 304s assigns department 304s assigns name 304s assigns department 304s assigns department 304s #qualified? 304s says `Deep/Department/CopName` is qualified 304s says `CopName` is not qualified 304s says `Department/CopName` is qualified 304s 304s RuboCop::Cop::Style::StructInheritance 304s registers an offense when extending instance of Struct with do ... end 304s accepts assignment to ::Struct.new 304s registers an offense when extending instance of ::Struct 304s registers an offense when extending instance of Struct 304s registers an offense when extending instance of Struct without `do` ... `end` and class body is empty 304s registers an offense when extending instance of ::Struct with do ... end 304s accepts extending DelegateClass 304s accepts assignment to block form of Struct.new 304s registers an offense when extending instance of `Struct` when there is a comment before class declaration 304s accepts assignment to Struct.new 304s registers an offense when extending instance of Struct without `do` ... `end` and class body is empty and single line definition 304s accepts plain class 304s 304s RuboCop::Cop::Lint::MissingSuper 304s callbacks 304s registers an offense when class callback without `super` call 304s registers an offense when class callback within `self << class` and without `super` call 304s registers no offense when module callback without `super` call 304s does not register an offense when callback has a `super` call 304s registers an offense when method callback is without `super` call 304s constructor 304s does not register an offense for the class with stateless parent class 304s registers an offense when no `super` call 304s does not register an offense when there is a `super` call 304s does not register an offense for the class without parent class 304s does not register an offense for the constructor-like method defined outside of a class 304s 304s RuboCop::Cop::Layout::MultilineOperationIndentation 304s when EnforcedStyle is indented 304s accepts two spaces indentation in assignment of local variable 304s registers an offense for a 2 space indentation of while condition 304s accepts special indentation of for expression 304s accepts normal indentation inside grouped expression 304s accepts indented operands in until body 304s accepts the indentation of a broken string 304s accepts double indentation of if condition 304s registers an offense and corrects an unindented multiline operation that is the left operand in another operation 304s accepts double indentation of until condition 304s registers an offense and corrects one space indentation of second line 304s registers an offense and corrects three space indentation of second line 304s registers an offense and corrects aligned operands in if conditions 304s registers an offense for a 2 space indentation of unless condition 304s accepts indented operands in if body 305s accepts indented operands in for body 305s accepts any indentation of parameters to #[] 305s registers an offense for a 2 space indentation of if condition 305s accepts any indentation of method parameters 305s accepts no extra indentation of third line 305s accepts indentation of assignment 305s registers an offense and corrects correct + unrecognized style 305s registers an offense and corrects aligned operators in assignment 305s accepts an expression where the first operand spans multiple lines 305s accepts indented operands inside and outside a block 305s accepts two spaces indentation of second line 305s accepts alignment inside a grouped expression 305s accepts indentation of next if condition 305s accepts two spaces indentation in assignment of array element 305s does not check method calls 305s registers an offense and corrects extra indentation of third line 305s registers an offense and corrects no indentation of second line 305s accepts indentation of return if condition 305s registers an offense and corrects aligned code on LHS of equality operator 305s accepts indented operands in unless body 305s accepts double indentation of while condition 305s accepts unary operations 305s accepts indented operands in while body 305s accepts indented operands in an array 305s accepts indented operands in if condition 305s accepts indentation of return unless condition 305s registers an offense and corrects wrong indentation of for expression 305s accepts indentation of next unless condition 305s registers an offense for a 2 space indentation of until condition 305s accepts double indentation of unless condition 305s accepts normal indentation of method parameters 305s accepts indented operands in ordinary statement 305s registers an offense and corrects emacs ruby-mode 1.1 indentation of an expression in an array 305s when indentation width is overridden for this cop 305s accepts indentation of unless condition which is offset by a single normal indentation step 305s registers an offense for a 4 space indentation of until condition 305s accepts indented operands in if body 305s registers an offense for a 4 space indentation of while condition 305s registers an offense for a 4 space indentation of if condition 305s registers an offense and corrects 305s accepts indentation of while condition which is offset by a single normal indentation step 305s registers an offense for a 4 space indentation of unless condition 305s accepts indented operands in unless body 305s accepts indented operands in if condition 305s accepts indentation of until condition which is offset by a single normal indentation step 305s accepts indentation of if condition which is offset by a single normal indentation step 305s accepts indented operands in while body 305s accepts indented operands in until body 305s when EnforcedStyle is aligned 305s registers an offense and corrects extra indentation of third line 305s registers an offense and corrects three space indentation of second line 305s registers an offense and corrects misaligned string operand when plus is used 305s registers an offense and corrects no indentation of second line 305s registers an offense for misaligned operands in until condition 305s registers an offense and corrects one space indentation of second line 305s accepts unary operations 305s accepts indented operands inside and outside a block 305s registers an offense and corrects emacs ruby-mode 1.1 indentation of an expression in an array 305s accepts indented operands in for body 305s accepts no extra indentation of third line 305s registers an offense and corrects misaligned string operand when the first operand has backslash continuation 305s registers an offense for misaligned operands in unless condition 305s registers an offense and corrects indented second part of string 305s accepts indented operands inside block + assignment 305s registers an offense and corrects misaligned operands in unless condition 305s registers an offense and corrects indented operands in if condition 305s accepts indented code on LHS of equality operator 305s accepts two spaces indentation of second line 305s accepts indented operands in ordinary statement 305s registers an offense and corrects unaligned operands in op-assignment 305s accepts alignment inside a grouped expression 305s accepts aligned operands in assignment 305s accepts aligned operands in if condition 305s accepts two spaces indentation in assignment of array element 305s registers an offense and corrects indented operand in second argument 305s accepts indented operands in an array 305s registers an offense for misaligned operands in if condition 305s accepts aligned or:ed operands in assignment 305s accepts indented operands with ternary operators 305s accepts an expression where the first operand spans multiple lines 305s registers an offense and corrects an unindented multiline operation that is the left operand in another operation 305s accepts any indentation of parameters to #[] 305s accepts two spaces indentation in assignment of local variable 305s does not check method calls 305s registers an offense for misaligned operands in while condition 305s 305s RuboCop::Cop::VariableForce::Assignment 305s .new 305s when any other type node is passed 305s raises error 305s when an assignment node is passed 305s does not raise error 305s when an argument declaration node is passed 305s raises error 305s #meta_assignment_node 305s when it is ||= operator assignment 305s returns or_asgn node 305s when it is &&= operator assignment 305s returns and_asgn node 305s when it is += operator assignment 305s returns op_asgn node 305s when it is multiple assignment 305s returns masgn node 305s #operator 305s when it is normal assignment 305s returns = 305s when it is multiple assignment 305s returns = 305s when it is += operator assignment 305s returns += 305s when it is ||= operator assignment 305s returns ||= 305s when it is &&= operator assignment 305s returns &&= 305s #name 305s returns the variable name 305s 305s RuboCop::Cop::Layout::EmptyLinesAroundClassBody 305s when EnforcedStyle is empty_lines_special 305s when first child is an access modifier 305s with no blank lines at the beginning and ending of class body 305s registers and corrects an offense 305s with blank lines at the beginning and ending of class body 305s registers no offense 305s when namespace has multiple children 305s requires empty lines for namespace 305s when first child is a method 305s requires blank line at the beginning and ending of class body 305s when class has a namespace 305s requires no empty lines for namespace but requires blank line at the beginning and ending of class body 305s source without blank lines 305s registers and autocorrects the offenses 305s source with blank lines 305s autocorrects the offenses 305s source without blank lines 305s registers an offense for class not beginning and ending with a blank line 305s class with constant and child class 305s registers and autocorrects the offenses 305s when first child is NOT a method 305s does not require blank line at the beginning of class body but requires blank line before first def definition and requires blank line at the end of class body 305s source with blank lines 305s registers an offense for class beginning with a blank line 305s when class has a namespace 305s requires no empty lines for namespace and does not require blank line at the beginning of class body but requires blank line at the end of class body 305s source without blank lines 305s registers and autocorrects the offenses 305s source with constants 305s registers and autocorrects the offenses 305s source with blank lines 305s registers and autocorrects the offenses 305s source with comment before method definition 305s registers an offense for class beginning with a blank line 305s source without blank lines 305s registers an offense for class not ending with a blank line 305s class with empty body 305s with empty line 305s does NOT register offenses 305s without empty line 305s does NOT register offenses 305s class with only constants 305s registers and autocorrects the offenses 305s when EnforcedStyle is beginning_only 305s ignores empty lines at the beginning of a class 305s registers an offense for an empty line at the end of a class 305s when EnforcedStyle is empty_lines_except_namespace 305s when has multiple child classes 305s registers offenses for namespace body starting and ending without a blank 305s requires empty lines for namespace 305s when only child is class 305s autocorrects beginning and end 305s requires no empty lines for namespace 305s registers offenses for namespaced class body not starting with a blank 305s registers offenses for namespaced class body not ending with a blank 305s registers offense for namespace body ending with a blank 305s registers offense for namespace body starting with a blank 305s when only child is module 305s registers offense for namespace body ending with a blank 305s registers offense for namespace body starting with a blank 305s requires no empty lines for namespace 305s when EnforcedStyle is no_empty_lines 305s registers an offense for class body starting with a blank 305s autocorrects singleton class body containing only a blank 305s registers an offense for class body ending with a blank 305s registers an offense for singleton class body ending with a blank 305s when EnforcedStyle is empty_lines 305s does not register offenses when specifying a superclass that breaks the line 305s does not register offenses 305s accepts singleton classes with an empty body 305s registers an offense for singleton class body not starting or ending with a blank 305s registers an offense for class body not starting or ending with a blank 305s accepts classes with an empty body 305s when EnforcedStyle is ending_only 305s registers an offense for an empty line at the end of a class 305s ignores empty lines at the beginning of a class 305s 305s RuboCop::Cop::Style::ExponentialNotation 305s EnforcedStyle is scientific 305s registers an offense for mantissa smaller than 1 305s registers no offense for a float smaller than 1 305s registers no offense for a mantissa between 1 and 10 305s registers an offense for mantissa greater than 10 305s registers an offense for mantissa equal to 10 305s registers no offense for a regular float 305s registers no offense for a negative mantissa 305s registers no offense for a negative exponent 305s registers no offense for a mantissa equal to 1 305s EnforcedStyle is engineering 305s registers no offense for a large mantissa 305s registers no offense for a negative mantissa 305s registers an offense for exponent equal to 4 305s registers no offense for a mantissa equal to 1 305s registers an offense for a mantissa greater than -0.1 305s registers an offense for mantissa smaller than 0.1 305s registers an offense for mantissa smaller than -1000 305s registers no offense for a negative exponent 305s registers no offense for a regular float 305s registers no offense for a float smaller than 1 305s registers an offense for exponent equal to -2 305s EnforcedStyle is integral 305s registers no offense for an integral mantissa 305s registers an offense for decimal mantissa 305s registers no offense for negative mantissa 305s registers no offense for a float smaller than 1 305s registers no offense for negative exponent 305s registers no offense for a regular float 305s registers an offense for mantissa divisible by 10 305s 305s RuboCop::Cop::InternalAffairs::RedundantContextConfigParameter 305s registers an offense when using `:config` parameter 305s does not register an offense when using `:config` in other than `context` 305s does not register an offense when not using `:config` 305s does not register an offense when using `:ruby30` only 305s registers an offense when using `:config` parameter with other parameters 305s 305s RuboCop::Cop::Lint::CircularArgumentReference 305s circular argument references in ordinal arguments 305s when the seemingly-circular default value is a method call 305s does not register an offense 305s when the method contains a circular argument reference 305s registers an offense 305s when the method does not contain a circular argument reference 305s does not register an offense 305s circular argument references in keyword arguments 305s when there is one circular argument reference 305s registers an offense 305s when the keyword argument is not circular 305s does not register an offense 305s when the keyword argument is not circular, but calls a method of some other object with the same name 305s does not register an offense 305s when the keyword argument is not circular, but calls a method of its own class with a self specification 305s does not register an offense 305s when the keyword argument is not circular, and calls a method 305s does not register an offense 305s when there are multiple offensive keyword arguments 305s registers an offense 305s 305s RuboCop::Cop::Style::EnvHome 305s registers and corrects an offense when using `ENV.fetch('HOME', nil)` 305s registers and corrects an offense when using `ENV.fetch('HOME')` 305s does not register an offense when using `ENV['HOME'] = '/home/foo'` 305s does not register an offense when using `ENV.fetch('HOME', default)` 305s registers and corrects an offense when using `::ENV['HOME']` 305s registers and corrects an offense when using `ENV['HOME']` 305s does not register an offense when using `Dir.home` 305s 305s RuboCop::Cop::Lint::UnreachableCode 305s accepts code with conditional `raise` 305s accepts `return` is in `if`, and without `else` 305s registers an offense for `raise` in all `case` branches 305s accepts code with conditional `retry` 305s accepts `exit!` is in all `if` branches 305s accepts `redo` is not in `elsif` branch 305s accepts `raise` is in all `if` branches 305s registers an offense for `exit!` in `begin` 305s accepts `exit` is in `if`, and without `else` 305s registers an offense for `exit!` in all `if` and `elsif` branches 305s registers an offense for `return` in all `case` branches 305s accepts `abort` is in `if`, and without `else` 305s registers an offense for `throw` in `begin` 305s accepts code with conditional `fail` 305s accepts `return` is in `case` branch without else 305s accepts `raise` is in `case` branch without else 305s registers an offense for `fail` in all `if` and `elsif` branches 305s registers an offense for `abort` before other statements 305s registers an offense for `raise` in `begin` 305s accepts `retry` is in `else` branch only 305s accepts `abort` is in `if` branch only 305s accepts `retry` is in `if` branch only 305s registers an offense for `exit` in all `case` branches 305s accepts `next` as the final expression 305s accepts `fail` is in `case` branch without else 305s accepts `exit` as the final expression 305s registers an offense for `throw` in all `if` branches 305s registers an offense for `throw` in all `case` branches 305s accepts `exit!` is in `if` branch only 305s accepts `return` is in `else` branch only 305s accepts code with conditional `return` 305s accepts `break` is not in `elsif` branch 305s accepts `fail` is in `if` branch only 305s accepts `throw` is in all `if` branches 305s accepts `fail` is in all `if` branches 305s registers an offense for `return` in all `if` branches with other expressions 305s registers an offense for `retry` in all `if` branches 305s accepts `return` is not in `elsif` branch 305s registers an offense for `raise` in all `if` branches 305s registers an offense for `retry` before other statements 305s accepts `exit!` is not in `elsif` branch 305s registers an offense for `retry` in `begin` 305s accepts `break` is in `else` branch only 305s accepts `exit!` as the final expression 305s accepts `break` is in `if`, and without `else` 305s accepts code with conditional `exit!` 305s registers an offense for `redo` in `begin` 305s registers an offense for `raise` in all `if` branches with other expressions 305s registers an offense for `exit` in all `if` branches with other expressions 305s registers an offense for `fail` in all `if` branches with other expressions 306s registers an offense for `redo` in all `if` branches with other expressions 306s accepts `next` is in `if` branch only 306s accepts `retry` is in `if`, and without `else` 306s accepts `abort` is in `case` branch without else 306s accepts `exit` is in `else` branch only 306s registers an offense for `redo` in all `if` and `elsif` branches 306s registers an offense for `return` in all `if` and `elsif` branches 306s registers an offense for `retry` in all `if` branches with other expressions 306s accepts `break` is in `case` branch without else 306s registers an offense for `exit!` in all `if` branches 306s registers an offense for `exit!` in all `case` branches 306s accepts `return` is in all `if` branches 306s accepts `fail` is in `if`, and without `else` 306s accepts `exit` is in `if` branch only 306s registers an offense for `exit` in all `if` and `elsif` branches 306s registers an offense for `exit` in `begin` 306s accepts code with conditional `throw` 306s accepts `throw` is in `else` branch only 306s registers an offense for `redo` in all `case` branches 306s accepts `exit!` is in `case` branch without else 306s accepts `return` as the final expression 306s accepts `abort` is in all `if` branches 306s accepts code with conditional `redo` 306s registers an offense for `next` in all `if` and `elsif` branches 306s accepts `redo` is in `case` branch without else 306s accepts `raise` as the final expression 306s registers an offense for `break` before other statements 306s accepts `redo` is in `else` branch only 306s accepts `raise` is in `if` branch only 306s accepts `abort` is not in `elsif` branch 306s accepts `raise` is in `else` branch only 306s registers an offense for `break` in all `if` branches with other expressions 306s accepts `retry` is in all `if` branches 306s registers an offense for `abort` in all `if` branches with other expressions 306s accepts `redo` is in `if`, and without `else` 306s registers an offense for `throw` before other statements 306s registers an offense for `fail` before other statements 306s accepts `fail` is in `else` branch only 306s registers an offense for `fail` in `begin` 306s accepts code with conditional `abort` 306s accepts `next` is in `case` branch without else 306s accepts `return` is in `if` branch only 306s accepts `retry` is in `case` branch without else 306s registers an offense for `next` in all `case` branches 306s accepts `exit!` is in `else` branch only 306s accepts `throw` is in `if` branch only 306s registers an offense for `break` in all `case` branches 306s accepts `next` is in all `if` branches 306s registers an offense for `retry` in all `case` branches 306s registers an offense for `throw` in all `if` branches with other expressions 306s accepts `fail` as the final expression 306s registers an offense for `exit` before other statements 306s registers an offense for `exit` in all `if` branches 306s registers an offense for `throw` in all `if` and `elsif` branches 306s registers an offense for `fail` in all `case` branches 306s registers an offense for `retry` in all `if` and `elsif` branches 306s accepts `redo` as the final expression 306s accepts `abort` as the final expression 306s registers an offense for `abort` in all `case` branches 306s accepts `retry` is not in `elsif` branch 306s registers an offense for `fail` in all `if` branches 306s accepts `fail` is not in `elsif` branch 306s accepts `exit!` is in `if`, and without `else` 306s accepts `redo` is in all `if` branches 306s registers an offense for `break` in `begin` 306s accepts `redo` is in `if` branch only 306s registers an offense for `exit!` before other statements 306s accepts `exit` is in all `if` branches 306s registers an offense for `break` in all `if` and `elsif` branches 306s accepts `throw` is in `if`, and without `else` 306s registers an offense for `return` before other statements 306s registers an offense for `redo` in all `if` branches 306s registers an offense for `break` in all `if` branches 306s accepts `raise` is not in `elsif` branch 306s accepts `throw` as the final expression 306s registers an offense for `abort` in all `if` and `elsif` branches 306s registers an offense for `next` in all `if` branches with other expressions 306s registers an offense for `abort` in all `if` branches 306s accepts code with conditional `exit` 306s accepts `retry` as the final expression 306s accepts `exit` is not in `elsif` branch 306s accepts `abort` is in `else` branch only 306s registers an offense for `return` in all `if` branches 306s accepts code with conditional `break` 306s accepts `throw` is in `case` branch without else 306s registers an offense for `raise` before other statements 306s accepts `next` is in `else` branch only 306s registers an offense for `abort` in `begin` 306s accepts `raise` is in `if`, and without `else` 306s accepts code with conditional `next` 306s registers an offense for `next` before other statements 306s registers an offense for `raise` in all `if` and `elsif` branches 306s registers an offense for `next` in `begin` 306s registers an offense for `redo` before other statements 306s registers an offense for `next` in all `if` branches 306s accepts `next` is not in `elsif` branch 306s accepts `break` is in all `if` branches 306s accepts `exit` is in `case` branch without else 306s registers an offense for `return` in `begin` 306s accepts `break` is in `if` branch only 306s registers an offense for `exit!` in all `if` branches with other expressions 306s accepts `next` is in `if`, and without `else` 306s accepts `break` as the final expression 306s accepts `throw` is not in `elsif` branch 306s 306s RuboCop::Cop::Style::ConstantVisibility 306s does not register an offense when passing a string to the visibility declaration 306s registers an offense for module definitions 306s does not register an offense in the top level scope 306s IgnoreModules 306s does not register an offense for class definitions 306s registers an offense for constants 306s when defining a constant in a module 306s does not register an offense when using a visibility declaration 306s registers an offense when not using a visibility declaration 306s when defining a constant in a class 306s with a multi-statement body 306s does not register an offense when using a visibility declaration 306s registers an offense when not using a visibility declaration 306s registers an offense when there is no matching visibility declaration 306s with a single-statement body 306s registers an offense when not using a visibility declaration 306s 306s RuboCop::Runner 306s #run 306s if there is an offense in an inspected file 306s returns false 306s sends the offense to a formatter 306s if a cop crashes 306s does not call ResultCache#save 306s if there are no offenses in inspected files 306s returns true 306s if -s/--stdin is used with an offense 306s sends the offense to a formatter 306s returns false 306s #run when interrupted 306s with SIGINT 306s returns false 306s #run with cops autocorrecting each-other 306s with two conflicting cops 306s if there are multiple offenses in an inspected file 307s aborts because of an infinite loop 307s if there is an offense in an inspected file 307s aborts because of an infinite loop 307s with two pairs of conflicting cops 307s with display options 307s --display-only-correctable 307s returns false 307s ommits uncorrectable `Layout/LineLength` 307s --display-only-safe-correctable 307s ommits unsafe correctable `Style/FrozenStringLiteral` 307s returns false 307s if there is an offense in an inspected file 307s aborts because of an infinite loop 307s with three cop cycle 307s if there is an offense in an inspected file 307s aborts because of an infinite loop 307s 307s RuboCop::Cop::Style::ObjectThen 307s EnforcedStyle: yield_self 307s registers an offense for then with proc param 307s accepts then with more than 1 param 307s registers an offense for then with block 307s accepts then without a block 307s EnforcedStyle: then 307s accepts yield_self with more than 1 param 307s registers an offense for yield_self with proc param 307s accepts yield_self without a block 307s Ruby 2.6 307s registers an offense for yield_self with block 307s Ruby 2.5 307s accepts yield_self with block 307s Ruby 2.7 307s registers an offense for yield_self with block 307s 307s RuboCop::Cop::Style::EmptyCaseCondition 307s given a case statement with an empty case 307s when using `return` in `else` clause and assigning the return value of `case` 307s does not register an offense 307s when used as an argument of a method without comment 307s behaves like detect/correct empty case, accept non-empty case 307s accepts the source with case 307s registers an offense and autocorrects 307s when using `return` in `when` clause and assigning the return value of `case` 307s does not register an offense 307s with a single when branch and an else 307s behaves like detect/correct empty case, accept non-empty case 307s accepts the source with case 307s registers an offense and autocorrects 307s when using `when ... then` in `case` in `return` 307s behaves like detect/correct empty case, accept non-empty case 307s registers an offense and autocorrects 307s accepts the source with case 307s when used as an argument of a method with comment 307s behaves like detect/correct empty case, accept non-empty case 307s registers an offense and autocorrects 307s accepts the source with case 307s with first when branch including comma-delimited alternatives 307s behaves like detect/correct empty case, accept non-empty case 307s accepts the source with case 307s registers an offense and autocorrects 307s when using `return ... if` in `else` clause and assigning the return value of `case` 307s does not register an offense 307s with multiple when branches and no else 307s behaves like detect/correct empty case, accept non-empty case 307s registers an offense and autocorrects 307s accepts the source with case 307s with a when branch including comma-delimited alternatives 307s behaves like detect/correct empty case, accept non-empty case 307s registers an offense and autocorrects 307s accepts the source with case 307s with when branches using then 307s behaves like detect/correct empty case, accept non-empty case 307s accepts the source with case 307s registers an offense and autocorrects 307s with multiple when branches and an `else` with code comments 307s behaves like detect/correct empty case, accept non-empty case 307s accepts the source with case 307s registers an offense and autocorrects 307s when using `return ... if` in `when` clause and assigning the return value of `case` 307s does not register an offense 307s with a single when branch and no else 307s behaves like detect/correct empty case, accept non-empty case 307s accepts the source with case 307s registers an offense and autocorrects 307s when using `when ... then` in `case` in a method call 307s behaves like detect/correct empty case, accept non-empty case 307s registers an offense and autocorrects 307s accepts the source with case 307s with multiple when branches and an else 307s behaves like detect/correct empty case, accept non-empty case 307s registers an offense and autocorrects 307s accepts the source with case 307s 307s RuboCop::Cop::Lint::FlipFlop 307s registers an offense for inclusive flip-flops 307s registers an offense for exclusive flip-flops 307s 307s RuboCop::Cop::Lint::BigDecimalNew 307s registers an offense and corrects using `::BigDecimal.new()` 307s registers an offense and corrects using `BigDecimal.new()` 307s does not register an offense when using `BigDecimal()` 307s 307s RuboCop::Cop::Bundler::GemComment 307s when investigating Ruby files 307s does not register any offenses 307s when investigating Gemfiles 307s and the file is empty 307s does not register any offenses 307s and the gem is commented 307s does not register any offenses 307s and the gem is commented on the same line 307s does not register any offenses 307s and the gem is permitted 307s does not register any offenses 307s and a gem has no comment 307s registers an offense 307s and the file contains source and group 307s does not register any offenses 307s when the "OnlyFor" option is set 307s including one or more option names but not "version_specifiers" 307s when a gem is uncommented and has a version specifier but none of the specified options 307s does not register an offense 307s when a gem is uncommented and has one of the specified options 307s registers an offense 307s when a gem is uncommented and contains only options not specified 307s does not register an offense 307s including "version_specifiers" 307s when a gem is uncommented and has a version specifier 307s registers an offense 307s when a gem is commented 307s does not register an offense 307s when a gem is uncommented and has multiple version specifiers 307s registers an offense 307s when a gem is uncommented and has options but no version specifiers 307s does not register an offense 307s when a gem is uncommented and has a version specifier along with other options 307s registers an offense 307s when a gem is uncommented and has no version specified 307s does not register an offense 307s including "restrictive_version_specifiers" 307s when a gem is uncommented and has a pessimistic version specifier 307s registers an offense 307s when a gem is uncommented and has a non-minimum version specifier with a leading space 307s registers an offense 307s when a gem is uncommented and has a frozen version specifier 307s registers an offense 307s when a gem is uncommented and has only a minimum version specifier 307s does not register an offense 307s when a gem is uncommented and has a version specifier without operator 307s registers an offense 307s when a gem is commented 307s does not register an offense 307s when a gem is uncommented and has no version specified 307s does not register an offense 307s when a gem is uncommented and has a version specifier along with other options 307s registers an offense 307s when a gem is uncommented and has both minimum and non-minimum version specifier 307s registers an offense 307s when a gem is uncommented and has options but no version specifiers 307s does not register an offense 307s 307s RuboCop::Cop::Lint::RedundantStringCoercion 307s does not explode on empty interpolation 307s accepts interpolation without #to_s 307s accepts #to_s with arguments in an interpolation 307s registers an offense and corrects `to_s` in an interpolation with several expressions 307s registers an offense and corrects `to_s` in interpolation 307s registers an offense and corrects an implicit receiver 307s 307s RuboCop::Cop::Style::GuardClause 307s does not register an offense when assigning the result of a guard condition with `else` 307s registers an error if non-control-flow branch has multiple lines 307s does not report an offense if next is inside if..elsif..else..end 307s does not report an offense if return is inside elsif 307s does not report an offense if next is inside elsif 307s accepts a method whose body is a modifier if / unless 307s accepts a method which body does not end with if / unless 307s accepts a method with empty parentheses as its body 307s doesn't register an error if control flow expr has multiple lines 307s registers an error with break in the else branch 307s registers an error with return in the if branch 307s accepts a method which body is if / unless with else 307s registers an offense when using `|| raise` in `then` branch 307s does not report an offense if raise "error" is inside elsif 307s registers an error if non-control-flow branch has multiple lines 307s doesn't register an error if condition has multiple lines 307s does not report an offense if body is if..elsif..end 307s registers an offense when using `and return` in `else` branch 307s doesn't register an error if condition has multiple lines 307s doesn't register an error if condition has multiple lines 307s registers an error with break in the if branch 307s registers an error with raise "error" in the else branch 307s doesn't register an error if control flow expr has multiple lines 307s does not report an offense if break is inside if..elsif..else..end 307s doesn't report an offense if condition has multiple lines 307s doesn't register an error if control flow expr has multiple lines 307s registers an error with next in the else branch 307s does not report an offense if raise "error" is inside if..elsif..else..end 307s registers an error with return in the else branch 307s registers an error with next in the if branch 307s registers an error if non-control-flow branch has multiple lines 307s doesn't register an error if condition has multiple lines 307s registers an error with raise "error" in the if branch 307s does not report an offense if return is inside if..elsif..else..end 307s doesn't register an error if control flow expr has multiple lines 307s registers an error if non-control-flow branch has multiple lines 307s registers an offense when using `and return` in `then` branch 307s registers an offense when using `|| raise` in `else` branch 307s does not report an offense if break is inside elsif 307s behaves like reports offense 307s reports an offense if method body is if / unless without else 307s reports an offense if method body ends with if / unless without else 307s AllowConsecutiveConditionals: false 307s reports an offense when not allowed same depth multiple if statement andpreceding expression is a conditional at the same depth 307s MinBodyLength: 4 307s accepts a method whose body has 3 lines 307s MinBodyLength: 1 307s reports an offense for if whose body has 1 line 307s with Metrics/MaxLineLength enabled 307s when the correction is too long for a single line 307s with a nested `begin` node 307s does registers an offense 307s with a nested `if` node 307s does registers an offense 307s with a trivial body 307s does not register an offense 307s method in module 307s registers an offense for singleton methods 307s registers an offense for instance method 307s with Metrics/MaxLineLength disabled 307s registers an offense with modifier example code regardless of length 307s Invalid MinBodyLength 307s fails with an error 307s AllowConsecutiveConditionals: true 307s does not register an offense when allowed same depth multiple if statement andpreceding expression is not a conditional at the same depth 307s reports an offense when allowed same depth multiple if statement andpreceding expression is not a conditional at the same depth 307s behaves like reports offense 307s reports an offense if method body is if / unless without else 307s reports an offense if method body ends with if / unless without else 307s 307s RuboCop::Cop::InternalAffairs::NodeDestructuring 307s does not register an offense when receiver is named `array` 307s registers an offense when destructuring using a splat 307s when destructuring using `node.children` 307s registers an offense when receiver is named `send_node` 307s registers an offense when receiver is named `node` 307s 307s RuboCop::Cop::Lint::RescueException 307s does not crash when the splat operator is used in a rescue 307s does not register an offense for rescue with no class and => e 307s registers an offense for rescue with StandardError, Exception 307s registers an offense for rescue with Exception => e 307s does not register an offense for rescue with other class 307s does not register an offense for rescue with no class 307s does not register an offense for rescue with other classes 307s registers an offense for rescue with ::Exception 307s does not register an offense for rescue with a module prefix 307s registers an offense for rescue from Exception 307s does not crash when the namespace of a rescued class is in a local variable 307s 307s RuboCop::Cop::Lint::SelfAssignment 307s registers an offense when using global var self-assignment 307s registers an offense when using local var self-assignment 307s does not register an offense when using multiple var assignment through splat 307s does not register an offense when using constant var assignment for constant from another scope 307s does not register an offense when using instance var assignment 307s registers an offense when using constant var self-assignment 307s does not register an offense when using multiple var assignment 307s does not register an offense when using class var assignment 307s registers an offense when using shorthand-or var self-assignment 307s does not register an offense when using shorthand-and var assignment 307s registers an offense when using shorthand-and var self-assignment 307s does not register an offense when using multiple var assignment through method call 307s registers an offense when using class var self-assignment 307s does not register an offense when using global var assignment 307s does not register an offense when using shorthand-or var assignment 307s registers an offense when using instance var self-assignment 307s does not register an offense when using constant var or-assignment for constant from another scope 307s registers an offense when using multiple var self-assignment 307s does not register an offense when using local var assignment 307s registers an offense when using multiple var self-assignment through array 307s 307s RuboCop::Cop::Lint::UselessMethodDefinition 307s does not register an offense for empty constructor 307s does not register an offense for constructor containing additional code to `super` 307s registers an offense and corrects for method containing only `super` call 307s does not register an offense when `super` arguments differ from method arguments 307s does not register an offense when non-constructor contains only comments 307s does not register an offense for method containing additional code to `super` 307s does not register an offense for empty class level `initialize` method 307s does not register an offense for constructor with only comments 307s does not register an offense when method definition contains optional keyword argument 307s does not register an offense when method definition contains optional argument 307s 307s RuboCop::Cop::Security::Open 307s registers an offense for `URI.open` with a block 307s accepts open with a string that interpolates a literal 307s registers an offense for open with dynamic string that is not prefixed 307s registers an offense for `URI.open` with string that starts with a pipe 307s accepts open on a literal string 307s accepts File.open as method 307s registers an offense for `::URI.open` with string that starts with a pipe 307s accepts open as variable 307s registers an offense for open with mode argument 307s accepts open with a literal string starting with a pipe 307s registers an offense for open with string that starts with a pipe 307s accepts open with prefix string literal plus something 307s registers an offense for open with a block 307s accepts open with no arguments 307s registers an offense for open 307s accepts open with string that has a prefixed interpolation 307s 307s RuboCop::Cop::Layout::SpaceInsideRangeLiteral 307s registers an offense for space inside ... literal 307s accepts no space inside ... literal 307s registers an offense for space inside .. literal 307s accepts multiline range literal with no space in it 307s accepts complex range literal with space in it 307s registers an offense in multiline range literal with space in it 307s accepts no space inside .. literal 307s 307s RuboCop::Cop::InternalAffairs::RedundantDescribedClassAsSubject 307s registers an offense when using `subject(:cop)` and `:config` is not specified in `describe` 307s registers an offense when using `subject(:cop)` with no argument `described_class.new` and `:config` is specified 307s does not register an offense when using `subject(:cop)` with multiple arguments to `described_class.new` 307s registers an offense when using `subject(:cop)` and `:config` is already specified in `describe` 307s 307s RuboCop::Cop::Style::ClassCheck 307s when enforced style is is_a? 307s registers an offense for kind_of? and corrects to is_a? 307s when enforced style is kind_of? 307s registers an offense for is_a? and corrects to kind_of? 307s 307s RuboCop::Cop::Style::UnlessLogicalOperators 307s EnforcedStyle is `forbid_mixed_logical_operators` 307s does not register an offense when not using logical operator 308s does not register an offense when using only `and`s 308s registers an offense when using `&&` and `and` 308s registers an offense when using `&&` and `||` 308s does not register an offense when not used in unless 308s registers an offense when using parentheses 308s registers an offense when using `&&` and `or` 308s does not register an offense when using only `or`s 308s registers an offense when using `||` and `or` 308s does not register an offense when using `&&` operator and invoked method name includes "and" in the conditional branch 308s does not register an offense when using only `&&`s 308s does not register an offense when using `||` operator and invoked method name includes "or" in the conditional branch 308s does not register an offense when using only `||`s 308s registers an offense when using `||` and `and` 308s does not register an offense when using if 308s EnforcedStyle is `forbid_logical_operators` 308s does not register an offense when using if 308s registers an offense when using only `||` 308s registers an offense when using only `and` 308s registers an offense when using only `&&` 308s does not register an offense when not used in unless 308s registers an offense when using only `or` 308s does not register an offense when not using logical operator 308s registers an offense when using `&&` followed by || 308s 308s RuboCop::Cop::Lint::ScriptPermission 308s with file permission 0755 308s accepts without shebang line 308s accepts with shebang line 308s accepts with blank 308s with stdin 308s skips investigation 308s with file permission 0644 308s registers an offense for script permission 308s if autocorrection is off 308s leaves the file intact 308s 308s RuboCop::Cop::Style::AndOr 308s when style is conditionals 308s accepts "or" in if body 308s registers an offense for "or" in if condition 308s registers an offense for "or" in while condition 308s accepts "and" outside of conditional 308s accepts && inside of conditional 308s accepts "and" in post-until body 308s registers an offense for "or" in post-until condition 308s accepts && outside of conditional 308s accepts || inside of conditional 308s registers an offense for "and" in post-while condition 308s accepts "or" in post-until body 308s registers an offense for "or" in post-while condition 308s accepts "or" in until body 308s accepts "and" in until body 308s accepts "or" in while body 308s registers an offense for "and" in if condition 308s registers an offense for "and" in while condition 308s registers an offense for "or" in until condition 308s accepts "and" in while body 308s registers an offense for "and" in until condition 308s registers an offense for "and" in post-until condition 308s accepts || outside of conditional 308s accepts "and" in if body 308s accepts "and" in post-while body 308s accepts "or" in post-while body 308s accepts "or" outside of conditional 308s when style is always 308s warns on short-circuit (and) 308s autocorrects "and" with && and adds parentheses to expr 308s autocorrects "and" with && in method calls (2) 308s also warns on non short-circuit (and) (unless) 308s autocorrects "and" with && in method calls (3) 308s also warns on non short-circuit (and) 308s also warns on while (or) 308s autocorrects "and" with && in method calls (4) 308s autocorrects "and" with && and doesn't add extra parentheses 308s warns on short-circuit (or) 308s registers an offense for "and" 308s autocorrects "or" with an assignment on the left 308s autocorrects "or" with || and adds parentheses to expr 308s also warns on non short-circuit (or) (unless) 308s also warns on non short-circuit (or) 308s also warns on until (or) 308s autocorrects "and" with an Enumerable accessor on either side 308s autocorrects "and" with && in method calls 308s autocorrects "or" inside def 308s registers an offense for "or" 308s autocorrects "and" inside def 308s autocorrects "or" with || in method calls (3) 308s autocorrects "or" with || in method calls (4) 308s autocorrects "or" with || in method calls 308s also warns on while (and) 308s autocorrects "or" with || in method calls (2) 308s autocorrects "or" with an assignment on the right 308s also warns on until (and) 308s autocorrects "or" with || and doesn't add extra parentheses 308s within a nested begin node 308s autocorrects "and" with && and adds parens 308s within a nested begin node with one child only 308s autocorrects "and" with && and adds parens 308s when `or` precedes `and` 308s registers an offense and corrects 308s with `not` expression on left 308s autocorrects "and" with && and adds parens 308s with !obj.method arg on left 308s autocorrects "and" with && and adds parens 308s when `and` precedes `or` 308s registers an offense and corrects 308s with two predicate methods with args without spaces on right 308s autocorrects "and" with && and adds parens 308s autocorrects "or" with || and adds parens 308s with obj.method= arg on left 308s autocorrects "and" with && and adds parens 308s with `not` expression on right 308s autocorrects "and" with && and adds parens 308s with predicate method with arg without space on right 308s autocorrects "and" with && and adds parens 308s autocorrects "or" with || and adds parens 308s with a file which contains __FILE__ 308s autocorrects "or" with || 308s with !obj.method arg on right 308s autocorrects "and" with && and adds parens 308s with one predicate method without space on right and another method 308s autocorrects "or" with || and adds parens 308s autocorrects "and" with && and adds parens 308s when `or` precedes `&&` 308s registers an offense and corrects 308s when `and` precedes `||` 308s registers an offense and corrects 308s with !variable on left 308s doesn't crash and burn 308s with obj.method = arg on left 308s autocorrects "and" with && and adds parens 308s when left hand side is a comparison method 308s autocorrects "and" with && and adds parens 308s 308s RuboCop::Cop::Style::EvenOdd 308s converts x % 2 != 0 to #odd? 308s accepts x % 2 == 2 308s converts x % 2 != 1 to #even? 308s accepts x % 3 == 0 308s converts (x._(y)) % 2 != 1 to even? 308s converts (y % 2) != 1 to #even? 308s converts (x.y % 2) != 1 to #even? 308s converts (x._(y) % 2) != 1 to even? 308s converts x % 2 == 0 to #even? 308s converts x._(y) % 2 != 1 to even? 308s converts (x % 2) == 0 to #even? 308s converts (x % 2) == 1 to #odd? 308s converts (x(y) % 2) != 1 to #even? 308s accepts x % 3 != 0 308s converts (x % 2) != 0 to #odd? 308s converts complex examples 308s converts x % 2 == 1 to #odd? 308s converts 1 % 2 != 1 to even? 308s 308s RuboCop::Cop::AnnotationComment 308s #annotation? 308s when the keyword is multiple words 308s is expected to equal true 308s when given a keyword followed by a colon 308s is expected to equal true 308s when annotated with a non keyword 308s is expected to be falsey 308s when the keyword is not capitalized properly 308s is expected to equal true 308s when it includes a keyword 308s is expected to be falsey 308s when given as the first word of a sentence 308s is expected to be falsey 308s when given a keyword followed by a space 308s is expected to equal true 308s #correct? 308s when no colon is required 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like correct 308s is expected to be truthy 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like correct 308s is expected to be truthy 308s behaves like correct 308s is expected to be truthy 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s when there is duplication in the keywords 308s when the shorter keyword is given first 308s behaves like correct 308s is expected to be truthy 308s behaves like correct 308s is expected to be truthy 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s when the longer keyword is given first 308s behaves like correct 308s is expected to be truthy 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like correct 308s is expected to be truthy 308s when a colon is required 308s behaves like incorrect 308s is expected to be falsey 308s behaves like correct 308s is expected to be truthy 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like incorrect 308s is expected to be falsey 308s behaves like correct 308s is expected to be truthy 308s behaves like incorrect 308s is expected to be falsey 308s behaves like correct 308s is expected to be truthy 308s 308s RuboCop::Cop::Style::ClassAndModuleChildren 308s nested style 308s accepts :: in parent class on inheritance 308s registers an offense for not nested classes 308s accepts cbase module name 308s preserves comments 308s accepts nested children 308s accepts cbase class name 308s registers an offense for not nested classes when namespace is defined as a class 308s registers an offense for partially nested modules 308s registers an offense for not nested classes with explicit superclass 308s registers an offense for not nested classes when namespace is defined as a module 308s registers an offense for partially nested classes 308s registers an offense for not nested modules 308s compact style 308s preserves comments between classes 308s registers an offense for classes with partially nested children 308s registers a offense for modules with nested children 308s accepts nesting for classes/modules with more than one child 308s registers a offense for classes with nested children 308s accepts compact style for classes/modules 308s registers a offense for classes with nested one-liner children 308s accepts class/module with single method 308s registers an offense for modules with partially nested children 308s correctly indents heavily nested children 308s accepts nesting for classes with an explicit superclass 308s registers and offense for deeply nested children 308s 308s RuboCop::Cop::Style::MultilineInPatternThen 308s >= Ruby 2.7 308s registers an offense for multiline (one line in a body) `in` statement with `then` 308s registers an offense when one line for multiple candidate values of `in` 308s registers an offense for empty `in` statement with `then` 308s doesn't register an offense for multiline `in` statement without `then` 308s registers an offense for multiline (two lines in a body) `in` statement with `then` 308s does not register an offense when line break for multiple candidate values of `in` 308s autocorrects when the body of `in` branch starts with `then` 308s doesn't register an offense for multiline `in` statement with `then` followed by other lines 308s doesn't register an offense when `then` required for a body of `in` is used 308s doesn't register an offense for singleline `in` statement with `then` 308s does not register an offense for hash `in` statement with `then` 308s does not register an offense for array `when` statement with `then` 308s doesn't register an offense for empty `in` statement without `then` 308s 308s RuboCop::Formatter::DisabledConfigFormatter 308s with autocorrect supported cop 308s adds a comment about --autocorrect option 308s when there's .rubocop.yml 308s merges in excludes from .rubocop.yml 308s when any offenses are detected 308s displays YAML configuration disabling all cops with offenses 308s when exclude_limit option is passed 308s respects the file exclusion list limit 308s when no files are inspected 308s creates a .rubocop_todo.yml even in such case 308s when exclude_limit option is omitted 308s disables the cop with 15 offending files 308s 308s RuboCop::Cop::Style::EndBlock 308s reports an offense and corrects END block 308s does not report offenses for other blocks 308s 308s RuboCop::Cop::Layout::SpaceAroundOperators 308s accepts an assignment with spaces 308s accepts rational 308s accepts an operator at the end of a line 308s accepts operator symbols 308s accepts an assignment with the same alignment margins 308s accepts the result of the ExtraSpacing Cop 308s accepts an assignment by `for` statement 308s accepts unary operators without space 308s accepts ranges 308s accepts [] without space 308s registers an offense and corrects exclamation point negation 308s accepts an assignment with a blank line 308s accepts exponent operator without spaces 308s accepts def of operator 308s accepts scope operator 308s accepts [arg] without space 308s accepts ::Kernel::raise 308s accepts splat operator 308s accepts an operator called with method syntax 308s accepts exclamation point definition 308s accepts some operators that are exceptions & don't need spaces 308s accepts a unary 308s accepts []= without space 308s accepts operators with spaces 308s registers an offense and corrects singleton class operator` 308s registers an offenses for exponent operator with spaces 308s accepts operator surrounded by tabs 308s accepts an assignment followed by newline 308s accepts argument default values without space 308s accepts an operator at the beginning of a line 308s extra space around operators 308s registers an offense and corrects assignment with too many spaces on either side 308s does not register an offenses match operators between `<<` and `+=` 308s registers an offense and corrects inheritance < with too many spaces 308s registers an offense and corrects match operators with too many spaces 308s registers an offense and corrects a hash rocket with too many spaces 308s registers an offense and corrects a hash rocket with an extra spaceon multiple line 308s registers an offense and corrects binary operators that could be unary 308s does not register an offenses match operators between `+=` and `<<` 308s registers an offense and corrects operators with too many spaces 308s registers an offense and corrects operators with too many spaces on the same line 308s registers an offense and corrects `-` with too many spaces with negative lhs operand 308s registers an offense and corrects equality operators with too many spaces 308s registers an offense and corrects arguments to a method 308s registers an offense and corrects various assignments with too many spaces 308s accepts for a hash rocket with an extra space for alignment on multiple line 308s registers an offense and corrects ternary operator with too many spaces 308s registers an offense and corrects hash rocket with too many spaces at rescue 308s registers an offense and corrects a setter call with too many spaces 308s behaves like modifier with extra space 308s registers an offense in presence of modifier while statement 308s behaves like modifier with extra space 308s registers an offense in presence of modifier until statement 308s behaves like modifier with extra space 308s registers an offense in presence of modifier if statement 308s when does not allowed for alignment 308s registers an offense and corrects an extra space 308s behaves like modifier with extra space 308s registers an offense in presence of modifier unless statement 308s when Layout/ExtraSpacing has `ForceEqualSignAlignment` configured to true 308s allows constants to be aligned 308s allows variables to be aligned 308s when EnforcedStyleForExponentOperator is space 308s registers an offenses for exponent operator without spaces 308s >= Ruby 3.0 308s registers an offenses for one-line pattern matching syntax (`=>`) 308s missing space around operators 308s registers an offense for assignment without space on both sides 308s registers an offense and corrects equality operators without space 308s registers an offense and corrects arguments to a method 308s registers an offense and corrects various assignments without space 308s doesn't register an offense for operators with newline on right 308s registers an offense and corrects match operators without space 308s registers an offense and corrects string concatenation without messing up new lines 308s registers an offense and corrects inheritance < without space 308s registers an offense for operators without spaces 308s registers an offense and corrects hash rocket without space at rescue 308s registers an offense and corrects `-` without space with a negative lhs operand 308s registers an offense and corrects a setter call without spaces 308s registers an offense for binary operators that could be unary 308s behaves like modifier with missing space 308s registers an offense in presence of modifier unless statement 308s when a hash literal is on multiple lines 308s and Layout/HashAlignment:EnforcedHashRocketStyle is table 308s doesn't register an offense for a hash rocket without spaces 308s and Layout/HashAlignment:EnforcedHashRocketStyle is key 308s registers an offense and corrects a hash rocket without spaces 308s behaves like modifier with missing space 308s registers an offense in presence of modifier while statement 308s ternary operators 308s registers an offense and corrects operators with no spaces 308s registers an offense and corrects operators with just a trailing space 308s registers an offense and corrects operators with just a leading space 308s when a hash literal is on a single line 308s and Layout/HashAlignment:EnforcedHashRocketStyle is table 308s registers an offense and corrects a hash rocket without spaces 308s and Layout/HashAlignment:EnforcedHashRocketStyle is key 308s registers an offense and corrects a hash rocket without spaces 308s behaves like modifier with missing space 308s registers an offense in presence of modifier if statement 308s behaves like modifier with missing space 308s registers an offense in presence of modifier until statement 308s >= Ruby 2.7 308s does not register an offenses for one-line pattern matching syntax (`in`) 308s 308s RuboCop::Cop::Style::TrailingCommaInArguments 308s with a single argument spanning multiple lines 308s when EnforcedStyleForMultiline is consistent_comma 308s accepts a single argument with no trailing comma 308s with multi-line list of values 308s when EnforcedStyleForMultiline is consistent_comma 308s accepts a trailing comma in a method call with single line hashes 308s accepts no trailing comma in a method call with a block parameter at the end 308s accepts a trailing comma in a method call with a single hash parameter to a receiver object 308s autocorrects missing comma after a heredoc 308s registers an offense for no trailing comma in a method call with hash parameters at the end 308s accepts a trailing comma in a method call with a single hash parameter 308s accepts a multiline call with arguments on a single line and trailing comma 308s accepts a multiline call with single argument on multiple lines 308s accepts trailing comma in a method call with hash parameters at the end 308s accepts a multiline call with a single argument and trailing comma 308s registers an offense for no trailing comma in a method call withtwo parameters on the same line 308s when closing bracket is on same line as last value 308s registers an offense for a method call, with a Hash as the last parameter, split on multiple lines 308s when EnforcedStyleForMultiline is no_comma 308s accepts comma inside a heredoc with comments inside 308s accepts comma inside a heredoc in brackets 308s accepts a method call with hash parameters at the end and no trailing comma 308s accepts comma inside a heredoc with method and comments inside 308s accepts comma inside a modified heredoc parameter 308s accepts comma inside a heredoc parameter at the end 308s registers an offense for trailing comma in a method call with hash parameters at the end 308s autocorrects unwanted comma after modified heredoc parameter 308s when there is string interpolation inside heredoc parameter 308s accepts comma inside a heredoc parameter when on a single line 308s accepts comma inside a heredoc parameter 308s autocorrects unwanted comma inside string interpolation 308s when EnforcedStyleForMultiline is comma 308s does not break when a safe method call is chained on the offending simple one 308s does not break when a safe method call is chained on the offending more complex one 308s accepts a trailing comma in a method call with single line hashes 308s registers an offense for no trailing comma in a method call with hash parameters at the end 308s accepts no trailing comma in a method call with a multiline braceless hash at the end with more than one parameter on a line 308s accepts an empty hash being passed as a method argument 308s accepts a method call with two parameters on the same line 308s does not break when a method call is chained on the offending one 308s accepts trailing comma in a method call with hash parameters at the end 308s accepts missing comma after heredoc with comments 308s accepts a multiline call with a single argument and trailing comma 308s when closing bracket is on same line as last value 308s accepts a method call with Hash as last parameter split on multiple lines 308s with a single argument of anonymous function spanning multiple lines 308s when EnforcedStyleForMultiline is consistent_comma 308s accepts a single argument with no trailing comma 308s with single line list of values 308s when EnforcedStyleForMultiline is consistent_comma 308s accepts method call without trailing comma 308s accepts heredoc without trailing comma 308s registers an offense for trailing comma in a method call with hash parameters at the end 308s registers an offense for trailing comma in a method call 308s accepts method call without trailing comma with single element hash parameters at the end 308s accepts method call without parameters 308s accepts chained single-line method calls 308s registers an offense for trailing comma preceded by whitespace in a method call 308s accepts method call without trailing comma when a line break before a method call 308s when using safe navigation operator 308s registers an offense for trailing comma in a method call with hash parameters at the end 308s registers an offense for trailing comma in a method call 308s when EnforcedStyleForMultiline is no_comma 308s registers an offense for trailing comma in a method call 308s accepts method call without trailing comma 308s registers an offense for trailing comma in a method call with hash parameters at the end 308s accepts method call without parameters 308s accepts heredoc without trailing comma 308s accepts method call without trailing comma with single element hash parameters at the end 308s accepts method call without trailing comma when a line break before a method call 308s accepts chained single-line method calls 308s registers an offense for trailing comma preceded by whitespace in a method call 308s when using safe navigation operator 308s registers an offense for trailing comma in a method call with hash parameters at the end 308s registers an offense for trailing comma in a method call 308s when EnforcedStyleForMultiline is comma 308s registers an offense for trailing comma preceded by whitespace in a method call 308s registers an offense for trailing comma in a method call 308s accepts method call without trailing comma 308s accepts heredoc without trailing comma 308s accepts method call without trailing comma when a line break before a method call 308s accepts method call without trailing comma with single element hash parameters at the end 308s accepts method call without parameters 308s registers an offense for trailing comma in a method call with hash parameters at the end 308s accepts chained single-line method calls 308s when using safe navigation operator 308s registers an offense for trailing comma in a method call with hash parameters at the end 308s registers an offense for trailing comma in a method call 308s 308s RuboCop::Cop::Style::IfUnlessModifier 308s accepts code with EOL comment since user might want to keep it 308s adds parens in autocorrect when if-end used with `||` operator 308s accepts if/elsif 308s accepts if-end when used as LHS of binary arithmetic 308s accepts if-end followed by a chained call using `.` 308s accepts if-end followed by a chained call using `&.` 308s accepts if-else-end 308s adds parens in autocorrect when if-end used with `&&` operator 308s when if-end condition is a value in a hash 308s when it is short enough to fit on a single line 309s corrects it to the single-line form 309s when it is not short enough to fit on a single line 309s accepts it in the multiline form 309s multiline if that fits on one line with comment on first line 309s registers an offense and preserves comment 309s when if-end condition has some code after the end keyword 309s when it is not short enough to fit on a single line 309s accepts it in the multiline form 309s when it is short enough to fit on a single line 309s corrects it to the single-line form 309s unless-end with conditional as body 309s accepts 309s modifier if that does not fit on one line 309s when Layout/LineLength is disabled in configuration 309s accepts 309s when Layout/LineLength is disabled with enable/disable comments 309s accepts 309s when Layout/LineLength is enabled 309s corrects it to normal form 309s when using a method with heredoc argument 309s accepts 309s when variable assignment is used in the branch body of if modifier 309s registers an offense 309s and the long line is allowed because AllowURI is true 309s accepts 309s IgnoreCopDirectives 309s and the long line is too long because IgnoreCopDirectives is false 309s registers an offense 309s and the long line is allowed because IgnoreCopDirectives is true 309s accepts 309s and the long line is too long because AllowURI is false 309s registers an offense 309s when Layout/LineLength is disabled with an EOL comment 309s accepts 309s when if-end condition is assigned to a variable 309s with variable being on the previous line 309s when it is not short enough to fit on a single line 309s accepts it in the multiline form 309s when it is short enough to fit on a single line 309s corrects it to the single-line form 309s with variable being on the same line 309s when it is short enough to fit on a single line 309s corrects it to the single-line form 309s when it is not short enough to fit on a single line 309s accepts it in the multiline form 309s when if-end condition is an element of an array 309s when short enough to fit on a single line 309s corrects it to the single-line form 309s when not short enough to fit on a single line 309s accepts it in the multiline form 309s multiline if that fits on one line 309s registers an offense 309s and has two statements separated by semicolon 309s accepts 309s when Layout/LineLength is disabled 309s registers an offense even for a long modifier statement 309s with implicit match conditional 309s when a multiline if doesn't fit on one line 309s accepts 309s when a multiline if fits on one line 309s registers an offense 309s when if-end condition has a first line comment 309s when it is short enough to fit on a single line 309s corrects it to the single-line form 309s when it is not short enough to fit on a single line 309s accepts it in the multiline form 309s if-end is argument to a non-parenthesized method call 309s adds parentheses so as not to change meaning 309s if-end with conditional as body 309s accepts 309s multiline unless that fits on one line 309s registers an offense 309s modifier if that does not fit on one line, but is not the only statement on the line 309s accepts 309s short multiline if near an else etc 309s registers an offense 309s with tabs used for indentation 309s with Layout/IndentationWidth: Width config 309s behaves like with tabs indentation 309s it fits on one line 309s registers an offense 309s it doesn't fit on one line 309s doesn't register an offense 309s with Layout/IndentationStyle: IndentationWidth config 309s behaves like with tabs indentation 309s it doesn't fit on one line 309s doesn't register an offense 309s it fits on one line 309s registers an offense 309s with a named regexp capture on the LHS 309s does not register an offense 309s multiline if that fits on one line with comment near end 309s accepts 309s behaves like condition modifier cop 309s for a multiline 'if' 309s accepts it when condition has local variable assignment 309s accepts an empty body 309s doesn't break when used as RHS of instance var assignment 309s corrects it when assignment is in body 309s handles one-line usage 309s doesn't break when used as RHS of constant assignment 309s handles inline comments during autocorrection 309s doesn't break when used as RHS of binary arithmetic 309s doesn't break when used as RHS of class var assignment 309s accepts it if single line would not fit on one line 309s corrects it if result fits in one line 309s doesn't break when used as RHS of local var assignment 309s accepts it if body spans more than one line 309s when there is a comment on the first line and some code after the end keyword 309s does not register an offense 309s accepts multiline condition in modifier form 309s registers an offense 309s when Layout/LineLength is disabled 309s registers an offense even for a long modifier statement 309s if-end is argument to a parenthesized method call 309s adds parentheses because otherwise it would cause SyntaxError 309s behaves like condition modifier cop 309s for a multiline 'unless' 309s handles inline comments during autocorrection 309s accepts it when condition has local variable assignment 309s corrects it when assignment is in body 309s doesn't break when used as RHS of instance var assignment 309s doesn't break when used as RHS of binary arithmetic 309s doesn't break when used as RHS of class var assignment 309s accepts it if single line would not fit on one line 309s accepts it if body spans more than one line 309s accepts an empty body 309s doesn't break when used as RHS of constant assignment 309s corrects it if result fits in one line 309s handles one-line usage 309s doesn't break when used as RHS of local var assignment 309s when there is a comment on the first line and some code after the end keyword 309s does not register an offense 309s when Layout/LineLength is disabled 309s registers an offense even for a long modifier statement 309s accepts multiline condition in modifier form 309s registers an offense 309s 309s RuboCop::Cop::Security::YAMLLoad 309s registers an offense and corrects load with a literal string 309s registers an offense and corrects a fully qualified ::YAML.load 309s does not register an offense for YAML.dump 309s does not register an offense for YAML.load under a different namespace 309s Ruby >= 3.1 309s does not register an offense and corrects a fully qualified `::YAML.load` 309s does not register an offense and corrects load with a literal string 309s 309s RuboCop::Cop::Layout::ArgumentAlignment 309s aligned with first argument 309s registers an offense and corrects multi-line outdented parameters 309s accepts correctly aligned arguments with fullwidth characters 309s can handle a multiline hash as second parameter 309s registers an offense and corrects arguments with double indent 309s accepts the first parameter being on a new row 309s registers an offense and corrects arguments with single indent 309s can handle a string literal as other argument 309s can handle a method call within a method call 309s doesn't get confused by symbols with embedded expressions 309s registers an offense and corrects multiline missed indentation 309s doesn't get confused by a line break inside a parameter 309s doesn't get confused by extra comma at the end 309s can handle a call embedded in a string 309s can handle parentheses used with no arguments 309s can handle other method calls without parentheses 309s accepts calls that only span one line 309s accepts multiline []= method call 309s accepts braceless hashes 309s doesn't get confused by a symbol argument 309s can handle method calls without parentheses 309s doesn't get confused by regexen with embedded expressions 309s registers an offense and corrects splat operator 309s registers an offense and corrects when missed indentation kwargs 309s accepts correctly aligned arguments 309s can handle heredoc strings 309s can handle do-end 309s does not crash in autocorrect on dynamic string in parameter value 309s can handle a ternary condition with a block reference 309s can handle a correctly aligned string literal as first argument 309s doesn't crash and burn when there are nested issues 309s registers an offense and correct multi-line parametersindented too far 309s can handle a call with a block inside another call 309s assigned methods 309s accepts the first parameter being on a new row 309s accepts the first parameter being on method row 309s when using safe navigation operator 309s registers an offense and corrects arguments with single indent 309s aligned with fixed indentation 309s autocorrects by indenting when not indented 309s does not register an offense when using aligned braced hash as a argument 309s autocorrects when first line is indented 309s corrects indentation for kwargs starting on same line as other args 309s registers an offense and corrects when missed indentation kwargs 309s autocorrects by outdenting when indented too far 309s multi-line method calls 309s registers offenses and corrects double indentation from relevant method 309s can handle existing indentation from multi-line method calls 309s does not err on method call without a method name 309s autocorrects relative to position of relevant method call 309s assigned methods 309s with ArgumentAlignment:IndentationWidth set to 4 309s accepts the first parameter being on a new row 309s accepts the first parameter being on method row 309s with IndentationWidth:Width set to 4 309s autocorrects even when first argument is in wrong position 309s accepts the first parameter being on method row 309s accepts the first parameter being on a new row 309s 309s RuboCop::Cop::InternalAffairs::StyleDetectedApiUse 309s does not register an offense when correct_style_detected and a conflicting_styles_detected are both used 309s registers an offense when unrecognized_style_detected is used in a conditional expression 309s registers an offense when ambiguous_style_detected is used in a conditional expression 309s registers an offense when no_acceptable_style! is used without a correct_style_detected follow up 309s registers an offense when opposite_style_detected is used without a correct_style_detected follow up 309s does not register an offense when correct_style_detected and a ambiguous_style_detected are both used 309s registers an offense when unexpected_style_detected is used in a conditional expression 309s registers an offense when conflicting_styles_detected is used without a correct_style_detected follow up 309s registers an offense when correct_style_detected is used without a negative *_style_detected follow up 309s does not register an offense when correct_style_detected and a opposite_style_detected are both used 309s registers an offense when conflicting_styles_detected is used in a conditional expression 309s registers an offense when correct_style_detected is used in a conditional expression 309s registers an offense when no_acceptable_style! is used in a conditional expression 309s registers an offense when ambiguous_style_detected is used without a correct_style_detected follow up 309s registers an offense when unexpected_style_detected is used without a correct_style_detected follow up 309s does not register an offense when correct_style_detected and a unrecognized_style_detected are both used 309s registers an offense when opposite_style_detected is used in a conditional expression 309s registers an offense when unrecognized_style_detected is used without a correct_style_detected follow up 309s does not register an offense when correct_style_detected and a no_acceptable_style! are both used 309s does not register an offense when correct_style_detected and a unexpected_style_detected are both used 309s 309s RuboCop::Cop::Lint::HashCompareByIdentity 309s registers an offense when using hash methods with `object_id` on receiver as a key 309s registers an offense when using hash method with `object_id` as a key 309s does not register an offense for hash methods without `object_id` as key 309s 309s RuboCop::Cop::Layout::EmptyLinesAroundMethodBody 309s registers an offense for class method body ending with a blank 309s registers an offense for method body starting with a blank 309s accepts method body starting with a line with spaces 309s is not fooled by single line methods 309s registers an offense for class method body starting with a blank 309s registers an offense for method body ending with a blank 309s 309s RuboCop::Cop::Layout::FirstHashElementLineBreak 309s registers an offense and corrects single element multi-line hash 309s registers an offense and corrects elements listed on the first line 309s ignores implicit hashes in method calls with parens 309s registers an offense and corrects hash nested in a method call 309s ignores implicit hashes in method calls that are improperly formatted 309s ignores implicit hashes in method calls without parens 309s ignores elements listed on a single line 309s 309s RuboCop::Cop::Style::EmptyBlockParameter 309s accepts a non-empty block parameter with {} style 309s registers an offense for an empty block parameter with lambda 309s accepts an empty block parameter with a lambda 309s registers an offense for an empty block parameter with do-end style 309s accepts a block that is do-end style without parameter 309s accepts a non-empty block parameter with do-end style 309s accepts a block that is {} style without parameter 309s registers an offense for an empty block parameter with {} style 309s registers an offense for an empty block parameter with super 309s 309s RuboCop::Cop::InternalAffairs::OffenseLocationKeyword 309s does not register an offense when the `loc` is on a child node 309s does not register an offense when the `loc` is on a different node 309s when `node.loc.selector` is passed 309s registers an offense 309s registers an offense if message argument is passed 309s 309s RuboCop::Formatter::HTMLFormatter 309s outputs the cached result in HTML 310s outputs the result in HTML 310s 310s RuboCop::Cop::Style::EmptyLiteral 310s Empty Hash 310s autocorrects Hash.new to {} and wraps all arguments in parentheses when it is the first argument to super 310s registers an offense for Hash.new() 310s autocorrects Hash.new to {} in various contexts 310s autocorrects Hash.new to {} and wraps it in parentheses when it is the only argument to super 310s registers an offense for Hash.new 310s does not register an offense for ::Hash.new { block } 310s does not register an offense for Hash.new { block } 310s registers an offense for ::Hash.new 310s does not register an offense for Hash.new(3) 310s does not register an offense for ::Hash.new(3) 310s autocorrects Hash.new to {} as the only parameter to a method 310s autocorrects Hash.new in block 310s autocorrects Hash.new to {} as the first parameter to a method 310s Ruby 2.7 310s does not register an offense for Hash.new { _1[_2] = [] } 310s does not register an offense for ::Hash.new { _1[_2] = [] } 310s Empty Array 310s registers an offense for Array.new() 310s does not register an offense Array.new with block 310s autocorrects Array.new in block in block 310s registers an offense for ::Array.new 310s does not register an offense for ::Array.new with block 310s registers an offense for Array.new 310s does not register Array.new with block in other block 310s does not register an offense for Array.new(3) 310s Empty String 310s registers an offense for String.new 310s does not register an offense for ::String.new("top") 310s registers an offense for String.new() 310s registers an offense for ::String.new 310s does not register an offense for String.new("top") 310s when double-quoted string literals are preferred 310s registers an offense for String.new 310s registers an offense for ::String.new 310s when frozen string literals is enabled 310s does not register an offense for String.new 310s when Style/FrozenStringLiteral is enabled 310s and there is a frozen_string_literal: false comment 310s registers an offense and corrects 310s and there is no magic comment 310s does not register an offense 310s 310s RuboCop::StringInterpreter 310s .interpret 310s handles unicode 310s handles extended unicode 310s handles hex 310s handles octal 310s behaves like simple escape 310s handles \\s 310s behaves like simple escape 310s handles \\n 310s behaves like simple escape 310s handles \\v 310s behaves like simple escape 310s handles \\r 310s behaves like simple escape 310s handles \\f 310s behaves like simple escape 310s handles \\b 310s behaves like simple escape 310s handles \\a 310s behaves like simple escape 310s handles \\t 310s behaves like simple escape 310s handles \\e 310s 310s RuboCop::Cop::Layout::IndentationWidth 310s with Width set to 2 310s with unless 310s accepts an empty unless 310s registers an offense for bad indentation of an unless body 310s with def/rescue/end 310s registers an offense for bad indentation of bodies 310s registers an offense for bad indent of defs bodies with a modifier 310s with for 310s accepts an empty for 310s registers an offense for bad indentation of a for body 310s with def/defs 310s when end is aligned with start of line 310s accepts an empty defs body 310s accepts an empty def body 310s registers an offense for bad indentation of a def body 310s with an assignment 310s registers an offense for bad indentation of a defs body 310s when modifier and def are on the same line 310s registers an offense for bad indentation of a def body 310s accepts a correctly aligned body 310s registers an offense for bad indentation of a defs body 310s when multiple modifiers and def are on the same line 310s registers an offense for bad indentation of a defs body 310s registers an offense for bad indentation of a def body 310s accepts a correctly aligned body 310s when multiple modifiers are used in a block anda method call is made at end of the block 310s registers an offense for bad indentation of a def 310s accepts a correctly aligned body 310s registers an offense for bad indentation of a def body 310s when end is aligned with def 310s registers an offense for bad indentation of a def body 310s registers an offense for bad indentation of a defs body 310s with an assignment 310s accepts an empty def body 310s accepts an empty defs body 310s when modifier and def are on the same line 310s accepts a correctly aligned body 310s registers an offense for bad indentation of a defs body 310s registers an offense for bad indentation of a def body 310s with while/until 310s registers an offense for bad indentation of an until body 310s accepts an empty while 310s registers an offense for bad indentation of a while body 310s registers an offense for bad indentation of begin/end/while 310s with class 310s accepts an empty class body 310s leaves body unchanged if the first body line is on the same line with class keyword 310s leaves body unchanged if the first body line is on the same line with an opening of singleton class 310s registers an offense for bad indentation of a class body 310s when consistency style is indented_internal_methods 310s registers an offense for normal non-indented internal methods indentation 310s registers an offense for normal non-indented internal methods indentation when defined in a singleton class 310s when consistency style is normal 310s accepts indented public, protected, and private 310s registers offenses for indented_internal_methods indentation 310s when consistency style is outdent 310s accepts access modifier is outdent 310s with access modifier 310s registers an offense for bad indentation of sections 310s registers an offense and corrects for bad modifier indentation before good method definition 310s with if statement 310s accepts a correctly aligned if/elsif/else/end 310s does not indent heredoc strings 310s accepts a one line if statement 310s handles lines with only whitespace 310s accepts `ensure` after an empty body 310s accepts `rescue`/`ensure` after an empty body 310s accepts a correctly aligned if/elsif/else/end as a method argument 310s does not raise any error with empty braces 310s accepts if/then/else/end laid out as another table 310s indents parenthesized expressions 310s accepts `rescue` after an empty def 310s does not correct in scopes that contain block comments 310s registers an offense for bad indentation of an else body 310s registers an offense for bad indentation of an elsif body 310s accepts indentation after if on new line after assignment 310s registers offense for bad indentation of modifier if in else 310s accepts `rescue` after an empty body 310s accepts `rescue`/`ensure` after an empty def 310s accepts an if/else branches with rescue clauses 310s registers offense for bad indentation of ternary inside else 310s leaves rescue ; end unchanged 310s registers an offense for bad indentation of an else body when if body contains no code 310s registers an offense for bad indentation of an else body when if and elsif body contains no code 310s accepts `ensure` after an empty def 310s accepts an empty if 310s accepts if/elsif/else/end laid out as a table 310s leaves block unchanged if block end is not on its own line 310s registers and corrects on offense for bad indentation 310s registers an offense for bad indentation of an if body 310s with assignment 310s when alignment style is start_of_line 310s and end is aligned with keyword 310s registers an offense for an if with element assignment 310s registers an offense for an if with setter 310s registers an offense for an until 310s registers an offense for a while 310s registers an offense for an if 310s accepts an if/else in assignment on next line 310s and end is aligned randomly 310s registers an offense for an if 310s registers an offense for a while 310s registers an offense for an until 310s and end is aligned with variable 310s accepts an if with end aligned with setter 310s accepts an if/else with chaining with a block after the end 310s accepts an if with end aligned with variable 310s accepts an if with end aligned with element assignment 310s accepts an if/else 310s accepts an if/else with chaining after the end 310s when alignment style is variable 310s and end is aligned with variable 310s accepts an if with end aligned with variable 310s accepts an if/else 310s accepts an if with end aligned with setter 310s accepts an if with end aligned with element assignment 310s accepts an if/else with chaining after the end 310s accepts an if/else with chaining with a block after the end 310s and end is aligned with keyword 310s registers an offense for an if 310s registers an offense for an if with element assignment 310s registers an offense for a while 310s registers an offense for an until 310s accepts an if/else in assignment on next line 310s registers an offense for an if with setter 310s and end is aligned randomly 310s registers an offense for a while 310s registers an offense for an until 310s registers an offense for an if 310s when alignment style is keyword 310s and end is aligned with variable 310s registers and corrects bad indentation 310s registers an offense for a while 310s registers an offense for an if 310s and end is aligned with keyword 310s accepts an if in assignment 310s accepts an until in assignment 310s accepts an if/else in assignment on next line 310s accepts a while in assignment 310s accepts an if/else in assignment 310s with module 310s leaves body unchanged if the first body line is on the same line with module keyword 310s when consistency style is normal 310s accepts an empty module body 310s registers an offense for bad indentation of a module body 310s when consistency style is indented_internal_methods 310s accepts normal non-indented internal methods of module functions 310s registers an offense for bad indentation of a module body 310s with case match 310s accepts aligned values in `in` clause 310s registers an offense for bad indentation in a case/else body 310s accepts correctly indented case/in/else 310s accepts case/in/else laid out as a table 310s registers an offense for bad indentation in a case/in body 310s accepts indented in/else plus indented body 310s accepts case/in/else with then beginning a line 310s accepts aligned value in `in` clause and `else` is empty 310s with case 310s accepts aligned values in when clause 310s registers an offense for bad indentation in a case/when body 310s accepts indented when/else plus indented body 310s accepts case/when/else with then beginning a line 310s registers an offense for bad indentation in a case/else body 310s accepts case/when/else laid out as a table 310s accepts correctly indented case/when/else 310s with block 310s registers an offense for bad indentation of a {} body 310s accepts an empty block body 310s does not register an offense for good indentation of `do` ... `ensure` ... `end` block 310s accepts badly indented code if block end is not on separate line 310s registers an offense for bad indentation of `do` ... `ensure` ... `end` block 310s registers an offense for bad indentation of a do/end body 310s accepts a correctly indented block body 310s when consistency style is indented_internal_methods 310s registers an offense for bad indentation in a do/end body 310s Ruby 2.7 310s registers an offense for bad indentation of a {} body 310s registers an offense for bad indentation of a do-end body 310s when using safe navigation operator 310s registers an offense for an if with setter 310s registers an offense for bad indentation of a {} body 310s with begin/rescue/else/ensure/end 310s registers an offense for bad indentation of bodies 310s with Width set to 4 310s registers and corrects offense for bad indentation 310s with if statement 310s registers an offense for bad indentation of an if body 310s with ignored patterns set 310s accepts unindented lines for those keywords 310s for a file with byte order mark 310s accepts correctly indented method definition 310s 310s RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier 310s Ruby 2.7 310s registers an offense for missing around line before protected 310s ignores private with numblock argument 310s registers an offense for missing around line before private 310s registers an offense for missing around line before public 310s ignores public with numblock argument 310s registers an offense for missing around line before module_function 310s ignores module_function with numblock argument 310s ignores protected with numblock argument 310s EnforcedStyle is `around` 310s ignores module_function deep inside a method call 310s accepts missing blank line when at the beginning of filewhen specifying a superclass that breaks the line 310s accepts missing blank line when at the end of specifying `self` 310s ignores protected inside a method call 310s requires blank line before private 310s accepts missing blank line when at the end of specifying `self` 310s accepts missing blank line when at the end of block 310s requires blank line after module_function 310s requires blank line when next line started with end 310s requires blank line before protected 310s accepts missing blank line when at the beginning of module 310s accepts missing blank line when at the end of block 310s recognizes blank lines with DOS style line endings 310s accepts missing blank line when at the end of specifying a superclass 310s accepts missing blank line when at the beginning of sclass 310s accepts missing blank line when at the beginning of file and preceded by a comment 310s accepts only using access modifier 310s ignores protected deep inside a method call 310s requires blank line when next line started with end 310s autocorrects blank line after #{access_modifier} with comment 310s accepts missing blank line when at the end of block 310s recognizes blank lines with DOS style line endings 310s ignores comment line before module_function 310s accepts only using access modifier 310s accepts missing blank line when specifying a superclass that breaks the line 310s autocorrects blank line after #{access_modifier} with comment 310s accepts missing blank line when specifying a superclass that breaks the line 310s accepts missing blank line when specifying `self` that breaks the line 310s ignores private with a right-hand-side condition 310s ignores protected with a right-hand-side condition 310s accepts missing blank line when at the beginning of filewhen specifying a superclass that breaks the line 310s accepts only using access modifier 310s requires blank line after protected 310s accepts missing blank line when at the beginning of module 310s ignores private with block argument 310s autocorrects blank line after #{access_modifier} with comment 310s accepts missing blank line when at the end of specifying a superclass 310s accepts missing blank line when at the beginning of module 310s accepts missing blank line when at the beginning of file and preceded by a comment 310s accepts missing blank line when at the beginning of filewhen specifying a superclass that breaks the line 310s ignores protected with block argument 310s accepts missing blank line when specifying a superclass that breaks the line 310s autocorrects blank line after #{access_modifier} with comment 310s accepts missing blank line when at the beginning of class 310s accepts missing blank line when specifying `self` that breaks the line 310s ignores public with block argument 310s accepts missing blank line when at the beginning of class 310s accepts missing blank line when at the end of block 310s accepts missing blank line when at the end of specifying `self` 310s requires blank line after, but not before, private when at the beginning of class/module 310s ignores private inside a method call 310s accepts missing blank line when specifying a superclass that breaks the line 310s accepts missing blank line when at the beginning of class 310s accepts missing blank line when specifying `self` that breaks the line 310s ignores module_function with a right-hand-side condition 310s ignores module_function with block argument 310s ignores public deep inside a method call 310s accepts missing blank line when at the beginning of module 310s accepts missing blank line when at the beginning of file and preceded by a comment 310s requires blank line before public 310s ignores public inside a method call 310s accepts missing blank line when at the beginning of sclass 310s ignores public with a right-hand-side condition 310s recognizes blank lines with DOS style line endings 310s ignores comment line before protected 310s accepts missing blank line when at the end of specifying a superclass 310s accepts missing blank line when specifying `self` that breaks the line 310s accepts missing blank line when at the beginning of class 310s ignores an accessor with the same name as public above a method definition 310s requires blank line when next line started with end 310s requires blank line after, but not before, protected when at the beginning of class/module 310s accepts missing blank line when at the beginning of filewhen specifying a superclass that breaks the line 310s requires blank line after, but not before, module_function when at the beginning of class/module 310s recognizes blank lines with DOS style line endings 310s ignores an accessor with the same name as module_function above a method definition 310s accepts only using access modifier 310s accepts missing blank line when at the end of specifying a superclass 310s accepts missing blank line when at the beginning of sclass 310s ignores comment line before public 310s accepts missing blank line when at the beginning of sclass 310s requires blank line when next line started with end 310s requires blank line after private 310s requires blank line after public 310s accepts missing blank line when at the end of specifying `self` 310s ignores an accessor with the same name as private above a method definition 310s ignores an accessor with the same name as protected above a method definition 310s accepts missing blank line when at the beginning of file and preceded by a comment 310s requires blank line after, but not before, public when at the beginning of class/module 310s ignores comment line before private 310s requires blank line before module_function 310s ignores module_function inside a method call 310s ignores private deep inside a method call 310s at the beginning of block 310s for blocks defined with do 310s accepts missing blank line 310s requires blank line after, but not before, private 310s accepts missing blank line with arguments 310s for blocks defined with {} 310s accepts missing blank line with arguments 310s accepts missing blank line 310s at the beginning of block 310s for blocks defined with do 310s requires blank line after, but not before, protected 310s accepts missing blank line with arguments 310s accepts missing blank line 310s for blocks defined with {} 310s accepts missing blank line with arguments 310s accepts missing blank line 310s at the beginning of block 310s for blocks defined with do 310s requires blank line after, but not before, module_function 310s accepts missing blank line 310s accepts missing blank line with arguments 310s for blocks defined with {} 310s accepts missing blank line with arguments 310s accepts missing blank line 310s at the beginning of block 310s for blocks defined with do 310s requires blank line after, but not before, public 310s accepts missing blank line 310s accepts missing blank line with arguments 310s for blocks defined with {} 310s accepts missing blank line 310s accepts missing blank line with arguments 310s EnforcedStyle is `only_before` 310s registers an offense for missing blank line before protected 310s registers an offense for missing blank line before public 310s accepts blank line after module_function 310s accepts missing blank line after protected 310s registers an offense for blank line after private 310s registers an offense for missing blank line before private 310s registers an offense for missing blank line before module_function 310s accepts blank line after public 310s registers an offense for blank line after protected 310s accepts missing blank line after private 310s does not register an offense when `end` immediately after protected 310s does not register an offense when `end` immediately after private 310s 310s RuboCop::FileFinder 310s #find_last_file_upwards 310s returns nil when file is not found 310s returns the last file found upwards 310s #find_file_upwards 310s returns a file to be found upwards 310s returns nil when file is not found 310s 310s RuboCop::Cop::Style::RedundantFreeze 310s allows .freeze on method call 310s behaves like immutable objects 310s registers an offense for frozen (1 + 2) 310s behaves like immutable objects 310s registers an offense for frozen 1 310s behaves like mutable objects 310s allows { a: 1, b: 2 } with freeze 310s behaves like mutable objects 310s allows ([42] * 42) with freeze 310s behaves like mutable objects 310s allows ::ENV['foo'] with freeze 310s behaves like immutable objects 310s registers an offense for frozen (a > b) 310s behaves like immutable objects 310s registers an offense for frozen ('a' > 'b') 310s behaves like immutable objects 310s registers an offense for frozen (2 > 1) 310s behaves like mutable objects 310s allows 'str' with freeze 310s behaves like mutable objects 310s allows "top#{1 + 2}" with freeze 310s behaves like immutable objects 310s registers an offense for frozen 1.5 310s behaves like mutable objects 310s allows (a + b) with freeze 310s behaves like immutable objects 310s registers an offense for frozen 'foo'.count 310s behaves like mutable objects 310s allows ENV['foo'] with freeze 310s behaves like immutable objects 310s registers an offense for frozen :"" 310s behaves like immutable objects 310s registers an offense for frozen :sym 310s behaves like mutable objects 310s allows [1, 2, 3] with freeze 310s behaves like mutable objects 310s allows ('a' * 20) with freeze 310s behaves like immutable objects 310s registers an offense for frozen [1, 2, 3].size 310s behaves like mutable objects 310s allows ('a' + 'b') with freeze 310s when the receiver is a string literal 310s Ruby 2.7 or lower 310s when the frozen string literal comment is missing 310s behaves like mutable objects 310s allows "#{a}" with freeze 310s when the frozen string literal comment is true 310s behaves like immutable objects 310s registers an offense for frozen "#{a}" 310s when the frozen string literal comment is false 310s behaves like mutable objects 310s allows "#{a}" with freeze 310s Regexp and Range literals 310s Ruby 2.7 or lower 310s behaves like mutable objects 310s allows (1...5) with freeze 310s behaves like mutable objects 310s allows /./ with freeze 310s behaves like mutable objects 310s allows (1..5) with freeze 310s Ruby 3.0 or higher 310s behaves like immutable objects 310s registers an offense for frozen (1..5) 310s behaves like immutable objects 310s registers an offense for frozen /./ 310s behaves like immutable objects 310s registers an offense for frozen (1...5) 310s Ruby 3.0 or higher 310s when the frozen string literal comment is false 310s behaves like mutable objects 310s allows "#{a}" with freeze 310s when the frozen string literal comment is true 310s behaves like mutable objects 310s allows "#{a}" with freeze 310s when the frozen string literal comment is missing 310s behaves like mutable objects 310s allows "#{a}" with freeze 310s 310s RuboCop::Cop::Lint::EmptyWhen 310s when a `when` body is present 310s accepts case with when bodies and else clause 310s accepts case with when ... then statements and else clause 310s accepts case with when ... then statements 310s accepts with no case line expression 310s accepts case with when bodies 310s when a `when` body is missing 310s registers an offense for missing when ... then body 310s registers an offense for a missing when body 310s registers an offense when case line has no expression 310s registers an offense for missing when ... then body followed by else 310s registers an offense for missing when body with a comment 310s registers an offense for missing when body followed by else 310s registers an offense for missing when body with a comment followed by else 310s when `AllowComments: false` 310s registers an offense for empty when body with a comment 310s when `AllowComments: true` 310s accepts an empty when ... then body with a comment 310s accepts an empty when body with a comment 310s registers an offense for missing when body without a comment 310s 310s RuboCop::Cop::Naming::MemoizedInstanceVariableName 310s does not register an offense when or-assignment-based memoization is used outside a method definition 310s EnforcedStyleForLeadingUnderscores: required 310s when or-assignment-based memoization is used 310s registers an offense when names match but missing a leading _ 310s registers an offense when it has leading `_` but names do not match 310s does not register an offense with a leading `_` for both names 310s with dynamically defined methods 310s when the variable name does not match the method name 310s registers an offense 310s when the variable name matches the method name 310s does not register an offense 310s when a singleton method is defined inside a module callback 310s when the method matches 310s does not register an offense 310s when the method does not match 310s registers an offense 310s when a method is defined inside a module callback 310s when the method matches 310s does not register an offense 310s when the method does not match 310s registers an offense 310s when defined?-based memoization is used 310s does not register an offense with a leading `_` for both names 310s registers an offense when it has leading `_` but names do not match 310s registers an offense when names match but missing a leading _ 310s with dynamically defined methods 310s when a singleton method is defined inside a module callback 310s when the method matches 310s does not register an offense 310s when the method does not match 310s registers an offense 310s when the variable name does not match the method name 310s registers an offense 310s when the variable name matches the method name 310s does not register an offense 310s when a method is defined inside a module callback 310s when the method does not match 310s registers an offense 310s when the method matches 310s does not register an offense 310s EnforcedStyleForLeadingUnderscores: optional 310s when or-assignment-based memoization is used 310s memoized variable matches method name 310s does not register an offense with a leading underscore 310s does not register an offense with a leading `_` for both names 310s does not register an offense without a leading underscore 310s does not register an offense with a leading `_` for method name 310s when defined?-based memoization is used 310s memoized variable matches method name 310s does not register an offense with a leading `_` for method name 310s does not register an offense without a leading underscore 310s does not register an offense with a leading `_` for both names 310s does not register an offense with a leading underscore 310s with default EnforcedStyleForLeadingUnderscores => disallowed 310s when or-assignment-based memoization is used 310s memoized variable does not match class method name 310s registers an offense 310s with dynamically defined methods 310s when the variable name matches the method name 310s does not register an offense 310s when a method is defined inside a module callback 310s when the method matches 310s does not register an offense 310s when the method does not match 310s registers an offense 310s when a singleton method is defined inside a module callback 310s when the method matches 310s does not register an offense 310s when the method does not match 310s registers an offense 310s when the variable name does not match the method name 310s registers an offense 310s memoized variable does not match method name for block 310s registers an offense 310s memoized variable after other code does not match method name 310s registers an offense for a predicate method 310s registers an offense 310s registers an offense for a bang method 310s memoized variable does not match method name during assignment 310s registers an offense 310s memoized variable matches method name 310s does not register an offense when method has leading `_` 310s does not register an offense with a leading `_` for both names 310s does not register an offense 310s memoized variable matches bang method name 310s does not register an offense 310s memoized variable matches method name during assignment 310s does not register an offense 310s code follows memoized variable assignment 310s does not register an offense 310s memoized variable after other code 310s does not register an offense 310s instance variables in initialize methods 310s does not register an offense 310s non-memoized variable does not match method name 310s does not register an offense 310s memoized variable matches method name for block 310s does not register an offense 310s memoized variable matches predicate method name 310s does not register an offense 310s memoized variable does not match method name 310s registers an offense 310s when defined?-based memoization is used 310s registers an offense when memoized variable does not match method name 310s does not register an offense when some code before defined 310s registers an offense when memoized variable does not match class method name 310s does not register an offense when some code after assignment 311s does not register an offense when there is no assignment 311s memoized variable matches method name 311s does not register an offense 311s does not register an offense when memoized variable matches predicate method name 311s does not register an offense when memoized variable matches bang method name 311s does not register an offense when method has leading `_` 311s does not register an offense with a leading `_` for both names 311s non-memoized variable does not match method name 311s does not register an offense 311s with dynamically defined methods 311s when a singleton method is defined inside a module callback 311s when the method does not match 311s registers an offense 311s when the method matches 311s does not register an offense 311s when the variable name does not match the method name 311s registers an offense 311s when a method is defined inside a module callback 311s when the method matches 311s does not register an offense 311s when the method does not match 311s registers an offense 311s when the variable name matches the method name 311s does not register an offense 311s 311s RuboCop::Cop::Style::Lambda 311s with enforced `literal` style 311s with a single line lambda method call 311s without arguments 311s registers an offense 311s with arguments 311s registers an offense 311s with a multiline lambda method call 311s without arguments 311s registers an offense 311s with arguments 311s registers an offense 311s with enforced `lambda` style 311s with a multiline lambda literal 311s with arguments 311s registers an offense 311s without arguments 311s registers an offense 311s with a single line lambda literal 311s without arguments 311s registers an offense 311s without argument parens and spaces 311s registers an offense 311s with arguments 311s registers an offense 311s when using safe navigation operator 311s does not break 311s with default `line_count_dependent` style 311s with a multiline lambda method call 311s does not register an offense 311s with a multiline lambda literal 311s with arguments 311s registers an offense 311s without arguments 311s registers an offense 311s >= Ruby 2.7 311s when using numbered parameter 311s with a single line lambda literal 311s does not register an offense 311s with a single line lambda method call 311s registers an offense 311s with a multiline lambda method call 311s does not register an offense 311s with a single line lambda literal 311s does not register an offense 311s unusual lack of spacing 311s without any spacing 311s registers an offense 311s without spacing before arguments 311s registers an offense 311s without spacing after arguments 311s registers an offense 311s with a multiline lambda literal 311s without parentheses 311s registers an offense 311s with empty arguments 311s registers an offense 311s with no parentheses and bad spacing 311s registers an offense 311s with no parentheses and many args 311s registers an offense 311s with no arguments and no spacing 311s registers an offense 311s with no arguments and bad spacing 311s registers an offense 311s with a single line lambda method call 311s with arguments 311s registers an offense 311s without arguments 311s registers an offense 311s with a multiline do-end lambda literal as a keyword argument 311s registers an offense 311s with a multiline do-end lambda as a parenthesized kwarg 311s registers an offense 311s with a multiline braces lambda literal as a keyword argument 311s registers an offense 311s with a multiline lambda literal as an argument 311s registers an offense 311s when calling a lambda method without a block 311s does not register an offense 311s 311s RuboCop::CLI 311s can process a file with an invalid UTF-8 byte sequence 311s registers an offense for Parser warnings 311s registers an offense for a syntax error 311s does not register any offenses for an empty file 311s finds a file with no .rb extension but has a shebang line 311s checks a given file with faults and returns 1 311s info severity 311s when there are not only info offenses 312s returns a 1 code 312s when `Lint/Syntax` is given `Severity: info` 312s is an invalid configuration 312s when given `--display-only-fail-level-offenses` 312s returns a 0 code but does not list offenses 312s when given `--fail-level info` 312s returns a 1 code 312s when there are only info offenses 312s returns a 0 code 312s rubocop:disable comment 313s can disable all cops in a code section 313s can disable all cops on a single line 313s can disable selected cops on a single line 313s can disable selected cops in a code section 313s when --autocorrect-all is given 313s does not trigger RedundantCopDisableDirective due to lines moving around 313s without using namespace 313s can disable selected cops on a single line but prints a warning 313s when not necessary 313s causes an offense to be reported 313s when using `rubocop:disable` line comment for `Lint/EmptyBlock` 313s does not register an offense for `Lint/RedundantCopDisableDirective` 313s when using `rubocop:disable` line comment for `Style/RedundantInitialize` 314s does not register an offense for `Lint/RedundantCopDisableDirective` 314s and RedundantCopDisableDirective is disabled through department 314s does not report RedundantCopDisableDirective offenses 314s and there are no other offenses 314s exits with error code 314s and RedundantCopDisableDirective is individually excluded 314s does not report RedundantCopDisableDirective offenses 314s and RedundantCopDisableDirective is individually disabled 314s does not report RedundantCopDisableDirective offenses 314s Specify `--init` option to `rubocop` command 314s when .rubocop.yml does not exist 314s generate a .rubocop.yml file 314s when .rubocop.yml already exists 314s fails with an error message 314s unknown cop 314s in configuration file is given 314s prints the error and exists with code 2 314s when errors are raised while processing files due to bugs 314s displays an error message to stderr 314s when checking a correct file 315s returns 0 315s when super is used with a block 315s still returns 0 315s configuration from file 315s can exclude a typical vendor directory 315s prints an error message for an unrecognized EnforcedStyle 315s ignores excluded files 315s works when a configuration file passed by -c specifies Exclude with strings 315s can be configured with option to disable a certain error 315s does not read files in excluded list 315s fails when a configuration file specifies an invalid Severity 316s runs without errors for an unrecognized cop name in .rubocop.yml and `--ignore-unrecognized-cops` option is given 316s can exclude a vendor directory with an erroneous config file 316s does not consider Include parameters in subdirectories 316s works when a cop that others depend on is disabled 316s only reads configuration in explicitly included hidden directories 316s can exclude a vendor directory indirectly 316s works when a configuration file specifies Severity for Metrics/ParameterLists and Layout/LineLength 316s finds included files 316s can exclude directories relative to .rubocop.yml 317s allows the default configuration file as the -c argument 317s prints a warning for an unrecognized configuration parameter 317s can be configured to override a parameter that is a hash in a special case 317s can have different config files in different directories 317s displays cop names if DisplayCopNames is false 317s prints an error for an unrecognized cop name in .rubocop.yml 317s cannot disable Syntax offenses 317s fails when a configuration file has invalid YAML syntax 318s can use an alternative max line length from a config file 318s displays style guide URLs if DisplayStyleGuide is true 318s works when a configuration file passed by -c specifies Exclude with regexp 318s can disable parser-derived offenses with warning severity 318s works when a configuration file specifies Severity for Metrics/ParameterLists and Layout 318s excludes the vendor directory by default 319s can be configured with project config to disable a certain error 319s shows an error if the input file cannot be found 319s matches included/excluded files correctly when . argument is given 319s prefers a config file in ancestor directory to another in home 319s can be configured to merge a parameter that is a hash 319s uses the DefaultFormatter if another formatter is not specified 319s when configuration is taken from $HOME/.rubocop.yml 319s handles relative excludes correctly when run from project root 319s when a value in a hash is overridden with nil 319s acts as if the key/value pair was removed 319s when obsolete MultiSpaceAllowedForOperators param is used 320s displays a warning 320s when MultilineMethodCallIndentation is used with aligned style and IndentationWidth parameter 320s fails with an error message 320s when a file inherits from a higher level 320s inherits relative excludes correctly 320s when --force-default-config option is specified 320s when no config file specified 320s ignores config file 320s when config file specified with -c 320s ignores config file 320s when configured for indented_internal_methods style indentation 320s registers offense for normal indentation in class 320s accepts indented_internal_methods style indentation 320s registers offense for normal indentation in module 320s when MultilineOperationIndentation is used with aligned style and IndentationWidth parameter 321s fails with an error message 321s without using namespace 321s can be configured with option to disable a certain error 321s for a disabled cop 321s reports no offense when enabled on part of a file 321s style guide only usage 321s via the cli option 321s --only-guide-cops 321s runs cops for rules that link to a style guide 321s skips cops that have no link to a style guide 321s overrides configuration of AllCops/StyleGuideCopsOnly 321s via the config 321s AllCops/StyleGuideCopsOnly 321s when it is false 321s runs cops for rules regardless of any link to the style guide 321s when it is true 321s skips cops that have no link to a style guide 321s AllCops/DisabledByDefault 321s when it is false 322s runs all cops that are enabled in default configuration 322s when it is true 322s runs only the cop configured in .rubocop.yml 322s obsolete cops 322s when configuration for TrailingComma is given 322s fails with an error message 322s configuration of `require` 322s unknown library is specified 322s exits with 2 322s cops can exclude files based on config 322s ignores excluded files 322s when given a file/directory that is not under the current dir 322s and the directory is absolute 322s checks a Rakefile but Style/FileName does not report 322s and the Rakefile path is relative 322s checks a Rakefile but Style/FileName does not report 322s and the directory is relative 322s checks a Rakefile but Style/FileName does not report 322s and the Rakefile path is absolute 322s checks a Rakefile but Style/FileName does not report 322s when parallel static by default 322s when setting `UseCache: true` 323s fails with an error message 323s when setting `UseCache: false` 323s fails with an error message 323s when specifying `--debug` option only` 323s fails with an error message 323s when specifying `--debug` and `-a` options` 323s uses parallel inspection when correcting the file 323s when interrupted 323s returns 130 323s configuration of target Ruby versions 323s when configured with an unsupported ruby 323s fails with an error message 323s when configured with an unknown version 323s fails with an error message 323s configuration of `AutoCorrect` 323s when setting `AutoCorrect: false` for `Style/StringLiterals` 324s does not suggest `1 offense autocorrectable` for `Style/StringLiterals` 324s when lines end with CR+LF 324s reports an offense 324s when a directory is named `*` 324s does not crash 324s 324s RuboCop::Cop::Style::ModuleFunction 324s when enforced style is `extend_self` 324s accepts module_function with an argument 324s registers an offense for `module_function` without an argument 324s when enforced style is `forbidden` 324s registers an offense for `module_function` without an argument 324s accepts `extend self` in a class 324s registers an offense for `extend self` 324s in a module with private methods 324s in a module 324s in a module with declarative private 324s when enforced style is `module_function` 324s registers an offense for `extend self` in a module 324s accepts for `extend self` in a module with declarative private 324s accepts `extend self` in a class 324s accepts for `extend self` in a module with private methods 324s 324s RuboCop::Cop::Lint::Debugger 324s does not register an offense for a console in comments 324s does not register an offense for a binding method that is not disallowed 324s does not register an offense for a remote_byebug method 324s does not register an offense for a console method 324s does not register an offense for a irb method 324s does not register an offense for a save_and_open_screenshot method 324s does not register an offense for a pry_remote in comments 324s does not register an offense for a debugger method 324s does not register an offense for a pry method 324s does not register an offense for a irb in comments 324s does not register an offense for a debugger in comments 324s does not register an offense for a pry_remote method 324s does not register an offense for a save_and_open_page method 324s does not register an offense for a save_and_open_screenshot in comments 324s does not register an offense for a remote_pry in comments 324s does not register an offense for a remote_byebug in comments 324s does not register an offense for a byebug method 324s does not register an offense for a save_and_open_page in comments 324s does not register an offense for a pry in comments 324s does not register an offense for a remote_pry method 324s does not register an offense for a byebug in comments 324s RubyJard 324s registers an offense for a jard call 324s built-in methods 324s registers an offense for a irb binding call 324s registers an offense for a binding.irb with Kernel call 324s with the DebuggerMethods configuration 324s does not register an offense for a byebug call 324s registers an offense for a `custom_debugger` call 324s with a method chain 324s registers an offense for a `debugger.foo.bar` call 324s nested custom configurations 324s registers an offense for a `custom_debugger call 324s with a const chain 324s registers an offense for a `Foo::Bar::Baz.debug` call 324s with a const chain and a method chain 324s registers an offense for a `Foo::Bar::Baz.debug.this.code` call 324s capybara 324s registers an offense for save_and_open_page 324s registers an offense for save_and_open_screenshot 324s with an argument 324s registers an offense for save_and_open_screenshot 324s registers an offense for save_and_open_page 324s pry 324s does not register an offense for a `rescue` call without Pry 324s registers an offense for a pry binding call 324s registers an offense for a Pry.rescue call 324s registers an offense for a pry_remote binding with an argument call 324s registers an offense for a pry_remote binding call 324s registers an offense for a remote_pry binding call 324s registers an offense for a remote_pry binding with an argument call 324s registers an offense for a pry binding with an argument call 324s registers an offense for a binding.pry with Kernel call 324s does not register an offense for a `pry` call without binding 324s byebug 324s registers an offense for a byebug call 324s registers an offense for a remote_byebug call 324s registers an offense for a Kernel.remote_byebug call 324s registers an offense for a Kernel.byebug call 324s registers an offense for a byebug with an argument call 324s when a method group is disabled with false 324s does not register an offense for a Pry debugger call 324s does register an offense for another group 324s when a method group is disabled with nil 324s does register an offense for another group 324s does not register an offense for a Pry debugger call 324s rails 324s registers an offense for a debugger call 324s registers an offense for a debugger with ::Kernel call 324s registers an offense for a debugger with an argument call 324s registers an offense for a debugger with Kernel call 324s debug.rb 324s registers an offense for a `binding.b` with `Kernel` call 324s registers an offense for a `b` binding call 324s registers an offense for a `break` binding call 324s registers an offense for a `binding.break` with `Kernel` call 324s web console 324s does not register an offense for `console` without a receiver 324s registers an offense for a `binding.console` call 324s 324s RuboCop::Cop::Metrics::AbcSize 324s when Max is 0 324s registers an offense for a `define_method` 324s treats safe navigation method calls like regular method calls + a condition 324s accepts an empty `define_method` 324s registers an offense for an if modifier 324s registers an offense for complex content including A, B, and C scores 324s accepts an empty method 324s registers an offense for an assignment of an element 324s registers an offense for an assignment of a local variable 324s when CountRepeatedAttributes is `false` 324s does not count repeated attributes 324s when CountRepeatedAttributes is `true` 324s counts repeated attributes 324s when method is in list of allowed methods 324s when AllowedPatterns is enabled 324s does not register an offense when using `define_method` 324s does not register an offense when defining a class method 324s does not register an offense when defining an instance method 324s when AllowedMethods is enabled 324s does not register an offense when defining an instance method 324s does not register an offense when defining a class method 324s does not register an offense when using `define_method` 324s Ruby 2.7 324s registers an offense for a `define_method` with numblock 324s when Max is 2 324s accepts two assignments 324s when Max is 2.3 324s accepts a total score of 2.24 324s when Max is 100.321 324s reports size and max as <100, 100, 400> 424.3/100.3 324s when Max is 1000.3 325s reports size and max as <1000, 1000, 4000> 4243/1000 325s when Max is 10.3 325s reports size and max as <10, 10, 40> 42.43/10.3 325s when Max is 1.3 325s reports size and max as <1, 1, 4> 4.24/1.3 325s 325s RuboCop::Formatter::PacmanFormatter 325s #step 325s character is normal dot 325s removes the first • and puts a . 325s character is a Pacdot 325s leaves the progress_line as it is 325s character is ghost 325s removes the first • and puts a ghosts 325s character is Pacman 325s removes the first • and puts a ᗧ 325s #update_progress_line 325s when total_files is greater than columns in the terminal 325s updates the progress_line properly 325s when need to change the line 325s updates the progress_line properly 325s when total_files less than columns in the terminal 325s updates the progress_line properly 325s #next_step 325s when a offense is detected in a file 325s calls the step function with a dot 325s when no offenses are detected 325s calls the step function with a dot 325s 325s RuboCop::Formatter::Colorizable 325s #blue 325s invokes #colorize(string, blue 325s #red 325s invokes #colorize(string, red 325s #colorize 325s when the global Rainbow.enabled is true 325s and output is not a tty, but --color option was provided 325s colorizes the passed string 325s and the formatter's output is a tty 325s colorizes the passed string 325s and the formatter's output is not a tty 325s does nothing 325s when the global Rainbow.enabled is false 325s and the formatter's output is not a tty 325s does nothing 325s and the formatter's output is a tty 325s does nothing 325s #black 325s invokes #colorize(string, black 325s #cyan 325s invokes #colorize(string, cyan 325s #white 325s invokes #colorize(string, white 325s #yellow 325s invokes #colorize(string, yellow 325s #green 325s invokes #colorize(string, green 325s #magenta 325s invokes #colorize(string, magenta 325s 325s RuboCop::Cop::Naming::BlockForwarding 325s when `EnforcedStyle: anonymous 325s Ruby >= 3.1 325s does not register an offense when defining kwoptarg with block args method 325s does not register an offense when defining kwarg with block args method 325s does not register an offense when assigning the block arg 325s does not register an offense when defining no arguments method 325s registers and corrects an offense when using explicit block forwarding in singleton method 325s registers and corrects an offense when using symbol proc argument in method body 325s registers and corrects an offense when using explicit block forwarding without method body 325s does not register an offense when using anonymous block forwarding without method body 325s registers and corrects an only explicit block forwarding when using multiple proc arguments 325s registers and corrects an offense when using `yield` in method body 325s does not register an offense when using anonymous block forwarding 325s does not register an offense when defining without block argument method 325s registers and corrects an offense when using explicit block forwarding 325s registers and corrects an offense when using explicit block forwarding without method definition parentheses 325s does not register an offense when using block argument as a variable 325s Ruby < 3.0 325s does not register an offense when not using anonymous block forwarding 325s when `EnforcedStyle: explicit 325s Ruby >= 3.1 325s does not register an offense when assigning the block arg 325s registers and corrects an offense when using anonymous block forwarding 325s registers and corrects and corrects an offense when using anonymous block forwarding without method body 325s does not register an offense when using explicit block forwarding without method body 325s registers and corrects an offense when using symbol proc argument in method body 325s registers and corrects an offense when using anonymous block forwarding in singleton method 325s does not register an offense when defining without block argument method 325s does not register an offense when using explicit block forwarding 325s registers and corrects an offense when using `yield` in method body 325s when `BlockForwardingName: proc 325s registers and corrects an offense when using anonymous block forwarding 325s when `BlockForwardingName: block` is already in use 325s registers and no corrects an offense when using anonymous block forwarding 325s 325s RuboCop::Cop::Lint::RedundantCopEnableDirective 325s registers offense and corrects unnecessary enable 325s registers an offense and corrects when the first cop is unnecessarily enabled 325s registers correct offense when combined with necessary enable, no white-space after comma 325s registers offense and corrects redundant enabling of same cop 325s registers correct offense when combined with necessary enable 325s registers multiple offenses and corrects the same comment 325s when all cops are unnecessarily enabled 325s on the same line 325s registers an offense and corrects 325s on separate lines 325s registers an offense and corrects when there is extra white space 325s all switch 325s registers offense and corrects unnecessary enable all 325s when at least one cop was disabled 325s does not register offense 325s when middle cop is unnecessarily enabled 325s registers an offense and corrects when there is extra white space 325s registers an offense and corrects 325s when last cop is unnecessarily enabled 325s registers an offense and corrects 325s registers an offense and corrects when there is no space between the cops and the comma 325s when all department enabled 325s registers correct offense when combined with necessary enable 325s registers multiple offenses and corrects the same comment 325s registers an offense and corrects when the first department is unnecessarily enabled 325s registers offense and corrects redundant enabling of same department 325s registers offense and corrects unnecessary enable 325s registers offense and corrects redundant enabling of department of same cop 325s registers offense and corrects redundant enabling of cop of same department 325s when cop is disabled in the configuration 325s registers an offense if enabling it twice 325s registers no offense when enabling the cop 325s 325s RuboCop::Cop::Lint::UnderscorePrefixedVariableName 325s when an underscore-prefixed block argument is used 325s registers an offense 325s registers an offense 325s when non-underscore-prefixed variable is used 325s does not register an offense 325s in a method calling `binding` with arguments 325s when an underscore-prefixed argument is not used 325s does not register an offense 325s when an underscore-prefixed argument is used explicitly 325s registers an offense 325s in a method calling `super` without arguments 325s when an underscore-prefixed argument is not used explicitly 325s does not register an offense 325s when an underscore-prefixed argument is used explicitly 325s registers an offense 325s in a method calling `binding` without arguments 325s when an underscore-prefixed argument is not used explicitly 325s does not register an offense 325s when an underscore-prefixed argument is used explicitly 325s registers an offense 325s when an underscore-prefixed variable is captured by a block 325s accepts 325s when an underscore-prefixed variable is reassigned 325s does not register an offense 325s when an underscore-prefixed method argument is used 325s registers an offense 325s in a method calling `super` with arguments 325s when an underscore-prefixed argument is used explicitly 325s registers an offense 325s when an underscore-prefixed argument is not used 325s does not register an offense 325s when an underscore-prefixed variable in top-level scope is used 325s registers an offense 325s when an underscore-prefixed named capture variable is used 325s registers an offense 325s when an underscore-prefixed variable is used 325s registers an offense 325s when an underscore-prefixed keyword block argument is used 325s registers an offense 325s when AllowKeywordBlockArguments is set 325s does not register an offense 325s 325s RuboCop::PathUtil 325s #absolute? 325s returns a falsey value for a path beginning with a directory name 325s returns a truthy value for a path beginning with slash 325s #match_path? 325s does not match file in a subdirectory 325s matches dir/** for hidden file 325s does not match invalid UTF-8 paths 325s matches strings to the full path 325s matches glob expressions 325s matches regexps 325s does not match dir/** for file in hidden dir 325s #relative_path 325s supports custom base paths 325s builds paths relative to PWD by default as a stop-gap 325s 325s RuboCop::Cop::InternalAffairs::InheritDeprecatedCopClass 325s does not register an offense when using `Base` 325s registers an offense when using `Cop` 325s does not register an offense when not inherited super class 325s registers an offense when using `RuboCop::Cop::Cop` 325s 325s RuboCop::Cop::Lint::DuplicateMethods 325s registers 2 offenses for pair of duplicate methods in dynamic module 325s registers an offense for duplicate attr_writer in dynamic class 325s registers offenses for duplicate assignable attr in module 325s understands class << A 325s registers an offense for a duplicate class method in separate dynamic module blocks 325s registers an offense for duplicate method in dynamic class 325s understands nested modules 325s doesn't register an offense for alias for gvar in class 325s registers an offense for duplicate nested method in dynamic module 325s doesn't register an offense for different private methods in module 325s registers an offense for duplicate alias in class 325s registers offenses for duplicate assignable attr in dynamic class 325s understands class << self 325s accepts for attr_reader and setter in dynamic class 325s registers an offense for duplicate nested method in self method of dynamic class 325s accepts for attr_reader and setter in dynamic module 325s doesn't register an offense for non-duplicate method in dynamic class 325s registers an offense for duplicate method in module 325s registers an offense for duplicate class methods with `<<` and named receiver in module 325s registers an offense for duplicate alias in dynamic module 325s understands class << self 325s understands class << self 325s accepts for non-duplicate alias_method in dynamic class 325s registers an offense for duplicate nested method in self method of class_eval block 325s doesn't register offense for non-duplicate class methods in class_eval block 325s registers an offense for duplicate protected methods in class 325s accepts for non-duplicate alias_method in class 325s registers an offense for duplicate nested method in class_eval block 325s accepts for attr_writer and getter in dynamic module 325s registers an offense for duplicate private methods in dynamic module 325s registers an offense for duplicate attr in dynamic module 325s registers an offense for duplicate class methods in class_eval block 325s registers an offense for duplicate alias_method in module 325s registers an offense when class << exp is used 325s registers an offense for a duplicate instance method in separate dynamic module blocks 325s does not register an offense for same method name defined in different methods 325s doesn't register an offense for alias for gvar in dynamic module 325s registers an offense for duplicate protected methods in dynamic module 325s recognizes difference between instance and class methods in dynamic class 325s accepts for non-duplicate alias_method in dynamic module 325s registers an offense for duplicate private methods in class_eval block 325s recognizes difference between instance and class methods in module 325s registers an offense for duplicate methods at top level 325s registers an offense for duplicate attr_reader in dynamic module 325s registers an offense for duplicate alias in dynamic class 325s registers an offense when class << exp is used 325s recognizes difference between instance and class methods in class_eval block 325s doesn't register offense for non-duplicate class methods in dynamic module 325s ignores method definitions in RSpec `describe` blocks 325s does not register an offense for same method name defined in different self methods 325s registers an offense for a duplicate class method in separate module blocks 325s registers an offense for duplicate attr in dynamic class 325s registers an offense for duplicate alias in class_eval block 325s understands nested modules 325s only registers an offense for the second instance of a duplicate instance method in separate files 325s registers an offense for duplicate alias_method in dynamic module 325s registers offenses for duplicate assignable attr in class 325s doesn't register an offense for non-duplicate alias in module 325s doesn't register an offense for non-duplicate method in dynamic module 325s doesn't register an offense for non-duplicate alias in class 325s registers an offense for a duplicate class method in separate class blocks 325s registers an offense for duplicate nested method in self method of class 325s registers an offense for duplicate nested method in self method of module 325s registers an offense for duplicate nested method in self method of dynamic module 325s doesn't register an offense for different private methods in class 325s registers an offense for duplicate nested method in module 325s doesn't register an offense for alias for gvar in module 325s doesn't register an offense for non-duplicate method in module 325s understands nested modules 325s accepts for attr_writer and getter in module 325s registers 2 offenses for pair of duplicate methods in class_eval block 325s registers an offense for duplicate attr_writer in dynamic module 325s doesn't register an offense for different private methods in dynamic class 325s registers an offense for duplicate attr_reader in class 325s recognizes difference between instance and class methods in class 325s registers an offense for duplicate private self methods in module 325s registers an offense for duplicate private self methods in class 325s accepts for attr_writer and getter in class 325s accepts for attr_reader and setter in class 325s only registers an offense for the second instance of a duplicate instance method in separate files 325s does not register an offense for same method name defined in different self methods 325s doesn't register an offense for alias for gvar in dynamic class 325s registers an offense for duplicate attr_writer in class_eval block 325s only registers an offense for the second instance of a duplicate instance method in separate files 325s registers an offense for duplicate protected methods in dynamic class 325s only registers an offense for the second instance of a duplicate instance method in separate files 325s registers an offense for duplicate method in dynamic module 325s registers an offense for duplicate attr_writer in class 325s registers an offense for duplicate method in class 325s only registers an offense for the second instance of a duplicate instance method in separate files 325s registers an offense for a duplicate instance method in separate module blocks 325s accepts for attr_writer and getter in dynamic class 325s registers 2 offenses for pair of duplicate methods in module 325s registers an offense when class << exp is used 325s registers an offense for a duplicate class method in separate dynamic class blocks 325s registers an offense for duplicate class methods with named receiver in class 325s registers an offense for duplicate private self methods in dynamic module 325s understands class << self 325s registers an offense for duplicate class methods in dynamic module 325s registers offenses for duplicate attr_accessor in class 325s registers an offense when class << exp is used 325s registers an offense for duplicate attr_writer in module 325s registers an offense for duplicate attr_reader in dynamic class 325s registers an offense for duplicate alias_method in class_eval block 325s does not register an offense for same method name defined in different methods 325s registers an offense for duplicate class methods with named receiver in module 325s registers offenses for duplicate attr_accessor in dynamic module 325s accepts for non-duplicate alias_method in class_eval block 325s does not register an offense for same method name defined in different methods 325s registers an offense for a duplicate class method in separate class_eval block blocks 325s registers an offense for duplicate protected methods in class_eval block 325s registers offenses for duplicate attr_accessor in dynamic class 325s registers an offense for duplicate class methods with `self` and named receiver in class 325s doesn't register offense for non-duplicate class methods in class 325s accepts for attr_writer and getter in class_eval block 325s registers 2 offenses for pair of duplicate methods in class 325s registers an offense for duplicate attr_reader in class_eval block 325s accepts for attr_reader and setter in class_eval block 325s does not register an offense for same method name defined in different methods 325s registers offenses for duplicate attr_accessor in module 325s does not register an offense for same method name defined in different self methods 325s registers an offense for duplicate method in class_eval block 325s registers an offense for duplicate private methods in class 325s registers an offense for duplicate private self methods in class_eval block 325s does not register an offense for same method name defined in different self methods 325s registers an offense for duplicate attr_reader in module 325s doesn't register an offense for non-duplicate method in class 325s registers an offense for a duplicate instance method in separate class_eval block blocks 325s registers an offense for duplicate private self methods in dynamic class 325s doesn't register an offense for different private methods in class_eval block 325s doesn't register an offense for non-duplicate alias in dynamic class 325s registers an offense for a duplicate instance method in separate class blocks 325s registers an offense for duplicate alias in module 325s registers an offense for duplicate private methods in dynamic class 325s doesn't register an offense for alias for gvar in class_eval block 325s registers offenses for duplicate assignable attr in dynamic module 325s handles class_eval with implicit receiver 325s understands nested modules 325s registers an offense for duplicate alias_method in dynamic class 325s registers an offense for duplicate protected methods in module 325s registers offenses for duplicate assignable attr in class_eval block 325s registers an offense for duplicate attr in class 325s registers an offense when class << exp is used 325s does not register an offense for same method name defined in different methods 325s registers an offense for duplicate attr in class_eval block 325s understands nested modules 325s accepts for attr_reader and setter in module 325s doesn't register an offense for non-duplicate alias in dynamic module 325s accepts for non-duplicate alias_method in module 325s registers an offense for duplicate class methods in module 325s registers an offense for a duplicate instance method in separate dynamic class blocks 325s does not register for the same method in different scopes within `class << self` 325s properly registers and offense when deeply nested 325s recognizes difference between instance and class methods in dynamic module 325s doesn't register offense for non-duplicate class methods in module 325s registers an offense for duplicate attr in module 325s doesn't register offense for non-duplicate class methods in dynamic class 325s doesn't register an offense for non-duplicate method in class_eval block 325s registers an offense for duplicate class methods with `<<` and named receiver in class 325s registers an offense for duplicate alias_method in class 325s doesn't register an offense for non-duplicate alias in class_eval block 325s ignores Class.new blocks which are assigned to local variables 325s registers an offense for duplicate class methods in class 325s registers an offense for duplicate private methods in module 325s registers 2 offenses for pair of duplicate methods in dynamic class 325s registers an offense for duplicate class methods with `self` and named receiver in module 325s does not register an offense for same method name defined in different self methods 325s registers an offense for duplicate class methods in dynamic class 325s registers offenses for duplicate attr_accessor in class_eval block 325s doesn't register an offense for different private methods in dynamic module 325s understands class << self 325s registers an offense for duplicate nested method in dynamic class 325s registers an offense for duplicate nested method in class 325s when path is in the project root 325s adds a message with relative path 325s when path is not in the project root 325s adds a message with absolute path 325s 325s RuboCop::Cop::Layout::FirstArrayElementLineBreak 325s ignores elements listed on a single line 325s ignores properly formatted implicit arrays 325s elements listed on the first line 325s registers and corrects the offense 325s masgn implicit arrays 325s registers and corrects the offense 325s word arrays 325s registers and corrects the offense 325s send implicit arrays 325s registers and corrects the offense 325s array nested in a method call 325s registers an corrects the offense 325s 325s RuboCop::Cop::Layout::SpaceAfterColon 325s registers an offense and corrects a keyword optional argument without a space 325s accepts colon in ternary followed by space 325s accepts colons in strings 325s registers an offense and corrects colon without space after it 325s accepts if 325s accepts hash rockets 325s accepts colons denoting required keyword argument 325s accepts required keyword arguments 325s accepts hashes with a space after colons 325s accepts colons in symbols 325s Ruby >= 3.1 325s accepts colons denoting hash value omission argument 325s does not register an offense colon without space after it when using hash value omission 325s 325s RuboCop::Formatter::QuietFormatter 325s #report_summary 325s when no files inspected 325s handles pluralization correctly 325s when 2 offenses are corrected 325s handles pluralization correctly 325s when a offense detected and a offense correctable 325s handles pluralization correctly 325s when a offense detected 325s handles pluralization correctly 325s when an offense is corrected 325s prints about correction 325s when 2 offenses detected 325s handles pluralization correctly 325s when 2 offenses are corrected and 2 offenses correctable 325s handles pluralization correctly 325s when a file inspected and no offenses detected 325s handles pluralization correctly 325s when 2 offenses detected and 2 offenses correctable 325s handles pluralization correctly 325s #report_file 325s when the offense is correctable 325s prints message as-is 325s the file is outside of the current working directory 325s prints as absolute path 325s when the offense is not corrected 325s prints message as-is 325s when the offense is automatically corrected 325s prints [Corrected] along with message 325s the file is under the current working directory 325s prints as relative path 325s 325s RuboCop::Cop::InternalAffairs::MethodNameEqual 325s does not register an offense when using `#method?` 325s registers an offense when using `#method == :do_something` 325s registers an offense when using `#method == other_node.do_something` 325s 325s RuboCop::Cop::Layout::HeredocIndentation 325s quoted by ' 325s accepts for indented, but with `-` 325s accepts for not indented but with whitespace 325s registers an offense for too deep indented with whitespace line 325s registers an offense for not indented, without `~` 325s accepts for indented, with `~` 325s registers an offense for not indented 325s registers an offense for too deep indented with empty line 325s registers an offense for not indented, with `~` 325s accepts for an empty line 325s registers an offense for too deep indented 325s accepts for include empty lines 325s displays message to use `<<~` instead of `<<` 325s registers an offense for first line minus-level indented, with `-` 325s displays message to use `<<~` instead of `<<-` 325s does not register an offense when not indented but with whitespace, with `-` 325s registers an offense for not indented enough with empty line 325s accepts for indented, but without `~` 325s registers an offense for not indented enough with whitespace line 325s registers an offense for minus level indented 325s when Layout/LineLength is configured 325s accepts for long heredoc 325s quoted by ` 325s registers an offense for not indented enough with whitespace line 325s accepts for not indented but with whitespace 325s registers an offense for too deep indented with empty line 325s accepts for an empty line 325s registers an offense for first line minus-level indented, with `-` 325s registers an offense for not indented 325s registers an offense for minus level indented 325s displays message to use `<<~` instead of `<<-` 325s registers an offense for not indented enough with empty line 325s accepts for include empty lines 325s registers an offense for not indented, with `~` 325s displays message to use `<<~` instead of `<<` 325s accepts for indented, with `~` 325s does not register an offense when not indented but with whitespace, with `-` 325s registers an offense for not indented, without `~` 326s accepts for indented, but with `-` 326s accepts for indented, but without `~` 326s registers an offense for too deep indented with whitespace line 326s registers an offense for too deep indented 326s when Layout/LineLength is configured 326s accepts for long heredoc 326s quoted by 326s registers an offense for not indented, with `~` 326s accepts for not indented but with whitespace 326s registers an offense for not indented enough with empty line 326s accepts for an empty line 326s registers an offense for too deep indented with whitespace line 326s accepts for indented, with `~` 326s registers an offense for too deep indented with empty line 326s accepts for include empty lines 326s registers an offense for too deep indented 326s displays message to use `<<~` instead of `<<` 326s registers an offense for not indented enough with whitespace line 326s registers an offense for first line minus-level indented, with `-` 326s displays message to use `<<~` instead of `<<-` 326s accepts for indented, but without `~` 326s does not register an offense when not indented but with whitespace, with `-` 326s registers an offense for not indented, without `~` 326s registers an offense for minus level indented 326s accepts for indented, but with `-` 326s registers an offense for not indented 326s when Layout/LineLength is configured 326s accepts for long heredoc 326s quoted by " 326s does not register an offense when not indented but with whitespace, with `-` 326s registers an offense for not indented, with `~` 326s accepts for not indented but with whitespace 326s accepts for indented, but with `-` 326s accepts for an empty line 326s displays message to use `<<~` instead of `<<` 326s accepts for indented, but without `~` 326s displays message to use `<<~` instead of `<<-` 326s registers an offense for too deep indented with empty line 326s registers an offense for not indented enough with empty line 326s registers an offense for not indented enough with whitespace line 326s accepts for indented, with `~` 326s registers an offense for first line minus-level indented, with `-` 326s registers an offense for too deep indented with whitespace line 326s registers an offense for not indented, without `~` 326s registers an offense for minus level indented 326s registers an offense for not indented 326s accepts for include empty lines 326s registers an offense for too deep indented 326s when Layout/LineLength is configured 326s accepts for long heredoc 326s 326s RuboCop::MagicComment 326s returns nil for shareable_constant_value when comment is # frozen-string-literal: true 326s returns nil for encoding when comment is # SHAREABLE-CONSTANT-VALUE: literal 326s returns nil for encoding when comment is # sHaReaBLE-CoNstANT-ValUE: literal 326s returns "ascii-8bit" for encoding when comment is # vim: filetype=python, fileencoding=ascii-8bit 326s returns nil for typed when comment is # shareable_constant_value: experimental_everything 326s returns "none" for shareable_constant_value when comment is # shareable_constant_value: none 326s returns "ascii-8bit" for encoding when comment is # coding: utf-8 -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 326s returns nil for encoding when comment is # shareable_constant_value: none 326s returns "utf-8" for encoding when comment is # encoding: utf-8 326s returns "ascii-8bit" for encoding when comment is # -*- encoding : ascii-8bit -*- 326s returns nil for typed when comment is # fRoZeN-sTrInG_lItErAl: true 326s returns nil for shareable_constant_value when comment is #vim: filetype=ruby, fileencoding=ascii-8bit 326s returns "ascii-8bit" for encoding when comment is # -*- coding: ASCII-8BIT; typed: strict -*- 326s returns nil for shareable_constant_value when comment is # vim: filetype=ruby,fileencoding=ascii-8bit 326s returns nil for frozen_string_literal when comment is # frozen_string_literal: true encoding: ascii-8bit 326s returns nil for encoding when comment is # frozen_string_literal: invalid 326s returns nil for typed when comment is # xyz shareable_constant_value: literal xyz 326s returns "ignore" for typed when comment is # typed: ignore 326s returns nil for encoding when comment is # frozen-string-literal: true 326s returns nil for typed when comment is # encoding: utf-8 326s returns nil for typed when comment is # -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 326s returns "utf-8" for encoding when comment is # coding: utf-8 326s returns nil for shareable_constant_value when comment is # -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 326s returns nil for frozen_string_literal when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for shareable_constant_value when comment is #typed:strict 326s returns nil for shareable_constant_value when comment is # fRoZeN-sTrInG_lItErAl: true 326s returns nil for typed when comment is #vim: filetype=ruby, fileencoding=ascii-8bit 326s returns "ascii-8bit" for encoding when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for frozen_string_literal when comment is # typed: false 326s returns nil for frozen_string_literal when comment is # SHAREABLE-CONSTANT-VALUE: literal 326s returns "ascii-8bit" for encoding when comment is #vim: filetype=ruby, fileencoding=ascii-8bit, typed=strict 326s returns nil for encoding when comment is # typed: ignore 326s returns nil for shareable_constant_value when comment is # frozen_string_literal: invalid 326s returns true for frozen_string_literal when comment is # frozen_string_literal: true 326s returns nil for typed when comment is # @typed 326s returns "invalid" for frozen_string_literal when comment is # frozen_string_literal: invalid 326s returns nil for encoding when comment is # incoding: utf-8 326s returns true for frozen_string_literal when comment is # FROZEN-STRING-LITERAL: true 326s returns nil for shareable_constant_value when comment is # xyz shareable_constant_value: literal 326s returns nil for typed when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for frozen_string_literal when comment is #vim: filetype=ruby, fileencoding=ascii-8bit, typed=strict 326s returns nil for shareable_constant_value when comment is # vim:fileencoding=utf-8 326s returns nil for frozen_string_literal when comment is # typed: ignore 326s returns nil for typed when comment is #vim: filetype=ruby, fileencoding=ascii-8bit, typed=strict 326s returns nil for shareable_constant_value when comment is # coding: utf-8 -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 326s returns nil for typed when comment is # eNcOdInG: utf-8 326s returns "utf-8" for encoding when comment is # coding: utf-8 vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for frozen_string_literal when comment is # incoding: utf-8 326s returns nil for frozen_string_literal when comment is # encoding: utf-8 326s returns nil for frozen_string_literal when comment is # encoding: stateless-iso-2022-jp-kddi 326s returns "ascii-8bit" for encoding when comment is #vim: filetype=ruby, fileencoding=ascii-8bit 326s returns true for frozen_string_literal when comment is # frozen_string_literal: true 326s returns nil for encoding when comment is # typed:strict 326s returns nil for encoding when comment is # shareable_constant_value: literal 326s returns nil for typed when comment is # frozen-string-literal: true 326s returns nil for typed when comment is # frozen_string_literal: true 326s returns nil for frozen_string_literal when comment is # shareable_constant_value: literal 326s returns nil for typed when comment is # vim: filetype=ruby,fileencoding=ascii-8bit 326s returns nil for typed when comment is # sHaReaBLE-CoNstANT-ValUE: literal 326s returns nil for typed when comment is # coding: utf-8 326s returns nil for frozen_string_literal when comment is #vim: filetype=ruby, fileencoding=ascii-8bit 326s returns "utf-8" for encoding when comment is # coding: utf-8 326s returns true for frozen_string_literal when comment is # fRoZeN-sTrInG_lItErAl: true 326s returns nil for frozen_string_literal when comment is # shareable_constant_value: none 326s returns nil for shareable_constant_value when comment is # ENCODING: utf-8 326s returns nil for frozen_string_literal when comment is # -*- coding: ASCII-8BIT; typed: strict -*- 326s returns "stateless-iso-2022-jp-kddi" for encoding when comment is # encoding: stateless-iso-2022-jp-kddi 326s returns "literal" for shareable_constant_value when comment is # sHaReaBLE-CoNstANT-ValUE: literal 326s returns "strict" for typed when comment is # typed:strict 326s returns nil for frozen_string_literal when comment is # encoding: ascii-8bit frozen_string_literal: true 326s returns nil for encoding when comment is # typed: strong 326s returns true for frozen_string_literal when comment is # coding: utf-8 -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 326s returns nil for typed when comment is # FROZEN-STRING-LITERAL: true 326s returns nil for typed when comment is # shareable_constant_value: none 326s returns "ascii-8bit" for encoding when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for encoding when comment is # xyz shareable_constant_value: literal 326s returns nil for typed when comment is # encoding: stateless-iso-2022-jp-kddi 326s returns nil for shareable_constant_value when comment is # -*- encoding : ascii-8bit -*- 326s returns nil for typed when comment is # frozen_string_literal: false 326s returns nil for encoding when comment is # shareable-constant-value: literal 326s returns nil for shareable_constant_value when comment is # typed: true 326s returns nil for typed when comment is # -*- coding: ASCII-8BIT; typed: strict -*- 326s returns "literal" for shareable_constant_value when comment is # shareable-constant-value: literal 326s returns nil for typed when comment is # shareable_constant_value:literal 326s returns nil for frozen_string_literal when comment is # ENCODING: utf-8 326s returns nil for frozen_string_literal when comment is # -*- encoding : ascii-8bit -*- 326s returns nil for typed when comment is # -*- frozen-string-literal: true -*- 326s returns true for frozen_string_literal when comment is # -*- frozen-string-literal: true -*- 326s returns nil for encoding when comment is # xyz shareable_constant_value: literal xyz 326s returns nil for shareable_constant_value when comment is CSV.generate(encoding: Encoding::UTF_8) do |csv| 326s returns nil for shareable_constant_value when comment is # FROZEN-STRING-LITERAL: true 326s returns nil for shareable_constant_value when comment is # xyz shareable_constant_value: literal xyz 326s returns nil for encoding when comment is # frozen_string_literal:true 326s returns nil for shareable_constant_value when comment is # encoding: utf-8 326s returns "false" for typed when comment is # typed: false 326s returns nil for typed when comment is CSV.generate(encoding: Encoding::UTF_8) do |csv| 326s returns "literal" for shareable_constant_value when comment is # shareable_constant_value:literal 326s returns nil for frozen_string_literal when comment is # shareable-constant-value: literal 326s returns nil for frozen_string_literal when comment is # vim:fileencoding=utf-8 326s returns nil for frozen_string_literal when comment is CSV.generate(encoding: Encoding::UTF_8) do |csv| 326s returns nil for encoding when comment is # FROZEN-STRING-LITERAL: true 326s returns nil for frozen_string_literal when comment is # vim: filetype=ruby,fileencoding=ascii-8bit 326s returns true for frozen_string_literal when comment is # frozen-string-literal: true 326s returns nil for encoding when comment is # frozen_string_literal: true 326s returns nil for encoding when comment is # frozen_string_literal: true 326s returns nil for typed when comment is # xyz shareable_constant_value: literal 326s returns nil for encoding when comment is CSV.generate(encoding: Encoding::UTF_8) do |csv| 326s returns nil for encoding when comment is # @typed 326s returns nil for frozen_string_literal when comment is # typed: strict 326s returns "utf-8" for encoding when comment is # eNcOdInG: utf-8 326s returns nil for typed when comment is # frozen_string_literal:true 326s returns nil for shareable_constant_value when comment is # encoding: ascii-8bit frozen_string_literal: true 326s returns "true" for typed when comment is # typed: true 326s returns nil for shareable_constant_value when comment is #vim: filetype=ruby, fileencoding=ascii-8bit, typed=strict 326s returns nil for typed when comment is # coding: utf-8 vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for shareable_constant_value when comment is # encoding: stateless-iso-2022-jp-kddi 326s returns nil for encoding when comment is # typed: true 326s returns nil for shareable_constant_value when comment is # coding: utf-8 326s returns "ascii-8bit" for encoding when comment is # encoding: ascii-8bit frozen_string_literal: true 326s returns nil for encoding when comment is # typed: strict 326s returns nil for shareable_constant_value when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 326s returns "strong" for typed when comment is # typed: strong 326s returns nil for shareable_constant_value when comment is # typed:strict 326s returns nil for frozen_string_literal when comment is # @typed 326s returns nil for encoding when comment is # -*- frozen-string-literal: true -*- 326s returns nil for encoding when comment is # shareable_constant_value: experimental_copy 326s returns nil for frozen_string_literal when comment is # shareable_constant_value: experimental_copy 326s returns nil for typed when comment is # incoding: utf-8 326s returns nil for typed when comment is # vim: filetype=python, fileencoding=ascii-8bit 326s returns nil for frozen_string_literal when comment is # sHaReaBLE-CoNstANT-ValUE: literal 326s returns "ascii-8bit" for encoding when comment is # frozen_string_literal: true encoding: ascii-8bit 326s returns "utf-8" for encoding when comment is # ENCODING: utf-8 326s returns nil for frozen_string_literal when comment is # shareable_constant_value: experimental_everything 326s returns "experimental_everything" for shareable_constant_value when comment is # shareable_constant_value: experimental_everything 326s returns nil for typed when comment is # shareable_constant_value: experimental_copy 326s returns nil for encoding when comment is # frozen_string_literal: false 326s returns nil for shareable_constant_value when comment is # -*- frozen-string-literal: true -*- 326s returns nil for shareable_constant_value when comment is # frozen_string_literal:true 326s returns nil for shareable_constant_value when comment is # coding: utf-8 vim: filetype=ruby, fileencoding=ascii-8bit 326s returns false for frozen_string_literal when comment is # frozen_string_literal: false 326s returns true for frozen_string_literal when comment is # frozen_string_literal:true 326s returns "strict" for typed when comment is # typed: strict 326s returns nil for frozen_string_literal when comment is # xyz shareable_constant_value: literal 326s returns nil for typed when comment is # coding: utf-8 326s returns nil for encoding when comment is # typed: false 326s returns nil for frozen_string_literal when comment is # typed: true 326s returns "literal" for shareable_constant_value when comment is # SHAREABLE-CONSTANT-VALUE: literal 326s returns nil for shareable_constant_value when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for typed when comment is # frozen_string_literal: invalid 326s returns nil for typed when comment is # ENCODING: utf-8 326s returns nil for shareable_constant_value when comment is # incoding: utf-8 326s returns nil for shareable_constant_value when comment is # vim: filetype=python, fileencoding=ascii-8bit 326s returns "experimental_copy" for shareable_constant_value when comment is # shareable_constant_value: experimental_copy 326s returns nil for frozen_string_literal when comment is # coding: utf-8 326s returns nil for frozen_string_literal when comment is # coding: utf-8 326s returns nil for frozen_string_literal when comment is # typed:strict 326s returns nil for typed when comment is # 326s returns nil for shareable_constant_value when comment is # typed: strict 326s returns nil for shareable_constant_value when comment is # frozen_string_literal: true 326s returns nil for shareable_constant_value when comment is # typed: false 326s returns nil for shareable_constant_value when comment is # eNcOdInG: utf-8 326s returns nil for shareable_constant_value when comment is # frozen_string_literal: true encoding: ascii-8bit 326s returns nil for encoding when comment is # fRoZeN-sTrInG_lItErAl: true 326s returns nil for frozen_string_literal when comment is # shareable_constant_value:literal 326s returns nil for encoding when comment is # vim: filetype=ruby,fileencoding=ascii-8bit 326s returns nil for typed when comment is # frozen_string_literal: true 326s returns nil for shareable_constant_value when comment is # @typed 326s returns nil for typed when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for shareable_constant_value when comment is # typed: strong 326s returns "strict" for typed when comment is #typed:strict 326s returns nil for encoding when comment is # vim:fileencoding=utf-8 326s returns "ascii-8bit" for encoding when comment is # -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 326s returns nil for encoding when comment is #typed:strict 326s returns nil for frozen_string_literal when comment is # eNcOdInG: utf-8 326s returns nil for shareable_constant_value when comment is # coding: utf-8 326s returns nil for typed when comment is # -*- encoding : ascii-8bit -*- 326s returns nil for encoding when comment is # shareable_constant_value:literal 326s returns nil for shareable_constant_value when comment is # 326s returns nil for frozen_string_literal when comment is # vim: filetype=python, fileencoding=ascii-8bit 326s returns nil for typed when comment is # shareable-constant-value: literal 326s returns nil for frozen_string_literal when comment is # xyz shareable_constant_value: literal xyz 326s returns nil for typed when comment is # shareable_constant_value: literal 326s returns nil for encoding when comment is # shareable_constant_value: experimental_everything 326s returns nil for frozen_string_literal when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 326s returns nil for frozen_string_literal when comment is # coding: utf-8 vim: filetype=ruby, fileencoding=ascii-8bit 326s returns "literal" for shareable_constant_value when comment is # shareable_constant_value: literal 326s returns nil for frozen_string_literal when comment is # typed: strong 326s returns nil for typed when comment is # SHAREABLE-CONSTANT-VALUE: literal 326s returns nil for typed when comment is # coding: utf-8 -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 326s returns true for frozen_string_literal when comment is # -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 326s returns nil for typed when comment is # encoding: ascii-8bit frozen_string_literal: true 326s returns nil for typed when comment is # vim:fileencoding=utf-8 326s returns nil for shareable_constant_value when comment is # typed: ignore 326s returns nil for frozen_string_literal when comment is #typed:strict 326s returns nil for shareable_constant_value when comment is # -*- coding: ASCII-8BIT; typed: strict -*- 326s returns nil for encoding when comment is # 326s returns nil for shareable_constant_value when comment is # frozen_string_literal: false 326s returns nil for typed when comment is # frozen_string_literal: true encoding: ascii-8bit 326s returns nil for shareable_constant_value when comment is # frozen_string_literal: true 326s returns nil for frozen_string_literal when comment is # 326s #valid? 326s with an empty string 326s is expected to equal false 326s with an shareable constant value comment 326s is expected to equal true 326s with an encoding comment 326s is expected to equal true 326s with a non magic comment 326s is expected to equal false 326s with an frozen string literal comment 326s is expected to equal true 326s #valid_shareable_constant_value? 326s when given comment specified as `literal` 326s is expected to equal true 326s when given comment specified as `none` 326s is expected to equal true 326s when given comment specified as `experimental_everything` 326s is expected to equal true 326s when given comment specified as `experimental_copy` 326s is expected to equal true 326s when given comment is not specified 326s is expected to equal false 326s when given comment specified as unknown value 326s is expected to equal false 326s #without 326s vim format 326s when the comment has multiple tokens 326s is expected to eq "# vim: filetype=ruby" 326s emacs format 326s with multiple tokens 326s is expected to eq "# -*- frozen_string_literal: true -*-" 326s with one token 326s is expected to eq "" 326s simple format 326s when the comment contains a different magic value 326s is expected to eq "# frozen-string-literal: true" 326s when the entire comment is a single value 326s is expected to eq "" 326s 326s RuboCop::Cop::Lint::LiteralAsCondition 326s accepts `true` literal in post-loop `while` 326s registers an offense for literal 1 in case 326s accepts literal :"#{a}" in a when of a case with something after case keyword 326s registers an offense for literal [1] in ! 326s registers an offense for literal [1] in a when of a case without anything after case keyword 326s registers an offense for literal :sym in complex cond 326s registers an offense for literal :"#{a}" in while 326s registers an offense for literal [1] in && 326s registers an offense for literal [1] in post-loop until 326s registers an offense for literal 2.0 in ! 326s registers an offense for literal :"#{a}" in && 326s registers an offense for literal 1 in post-loop while 326s registers an offense for literal {} in a when of a case without anything after case keyword 326s registers an offense for literal 2.0 in complex cond 326s accepts literal [1] if it's not an and/or operand 326s registers an offense for literal :sym in post-loop until 326s accepts array literal in case, if it has nested non-literal element 326s accepts array literal in case, if it has non-literal elements 326s accepts literal 2.0 in non-toplevel and/or 326s registers an offense for literal {} in if 326s accepts `false` literal in `until` 326s accepts dstr literal in case 326s registers an offense for literal :"#{a}" in ! 326s accepts `false` literal in post-loop `until` 326s registers an offense for `not :"#{a}"` 326s registers an offense for literal [1] in case 326s registers an offense for `!:"#{a}"` 326s accepts literal 2.0 if it's not an and/or operand 326s registers an offense for `![1]` 326s registers an offense for `not :sym` 326s registers an offense for literal {} in ! 326s registers an offense for literal 2.0 in case 326s registers an offense for `not [1]` 326s registers an offense for literal :sym in post-loop while 326s registers an offense for literal 1 in until 326s accepts literal {} in a when of a case with something after case keyword 326s registers an offense for literal :"#{a}" in complex cond 326s registers an offense for literal :"#{a}" in case 326s accepts literal [1] in a when of a case with something after case keyword 326s accepts literal 1 if it's not an and/or operand 326s registers an offense for literal :"#{a}" in post-loop until 326s accepts literal 2.0 in a when of a case with something after case keyword 326s registers an offense for `not {}` 326s registers an offense for literal :"#{a}" in a when of a case without anything after case keyword 326s registers an offense for literal 2.0 in post-loop while 326s registers an offense for literal 2.0 in && 326s registers an offense for literal :sym in while 326s registers an offense for literal 1 in && 326s registers an offense for literal :sym in until 326s registers an offense for literal {} in case 326s accepts literal :"#{a}" in non-toplevel and/or 326s registers an offense for literal :sym in if 326s registers an offense for literal 2.0 in if 326s accepts literal 1 in non-toplevel and/or 326s registers an offense for literal 2.0 in post-loop until 326s accepts literal :sym if it's not an and/or operand 326s registers an offense for literal 2.0 in a when of a case without anything after case keyword 326s registers an offense for literal [1] in complex ! 326s registers an offense for literal {} in until 326s registers an offense for `not 1` 326s registers an offense for literal [1] in complex cond 326s accepts literal :sym in non-toplevel and/or 326s accepts literal :"#{a}" if it's not an and/or operand 326s registers an offense for literal :sym in complex ! 326s registers an offense for literal {} in complex cond 326s registers an offense for literal 2.0 in until 326s registers an offense for literal :sym in && 326s registers an offense for literal {} in complex ! 326s registers an offense for literal 2.0 in while 326s registers an offense for literal 1 in complex ! 326s registers an offense for literal 1 in complex cond 326s registers an offense for `!2.0` 326s registers an offense for literal 1 in post-loop until 326s accepts literal 1 in a when of a case with something after case keyword 326s registers an offense for `not 2.0` 326s registers an offense for literal 1 in while 326s registers an offense for literal 1 in a when of a case without anything after case keyword 326s registers an offense for literal 1 in if 326s registers an offense for `!{}` 326s registers an offense for literal :"#{a}" in until 326s registers an offense for literal :"#{a}" in post-loop while 326s registers an offense for literal :"#{a}" in if 326s registers an offense for literal [1] in if 326s registers an offense for literal {} in post-loop until 326s registers an offense for literal 1 in ! 326s registers an offense for literal :sym in case 326s accepts literal {} in non-toplevel and/or 326s registers an offense for `!1` 326s registers an offense for literal [1] in until 326s registers an offense for literal [1] in while 326s registers an offense for literal [1] in post-loop while 326s registers an offense for case with a primitive array condition 326s registers an offense for literal :sym in ! 326s accepts literal :sym in a when of a case with something after case keyword 326s registers an offense for literal {} in while 326s accepts `true` literal in `while` 326s registers an offense for literal {} in post-loop while 326s registers an offense for literal 2.0 in complex ! 326s registers an offense for literal :"#{a}" in complex ! 326s registers an offense for literal :sym in a when of a case without anything after case keyword 326s registers an offense for `!:sym` 326s registers an offense for literal {} in && 326s accepts literal [1] in non-toplevel and/or 326s accepts literal {} if it's not an and/or operand 326s >= Ruby 2.7 326s registers an offense for literal 1 in case match without a match var 326s accepts literal 1 in a when of a case match 326s accepts an offense for literal 1 in case match with a match var 326s >= Ruby 2.7 326s accepts literal {} in a when of a case match 326s registers an offense for literal {} in case match without a match var 326s accepts an offense for literal {} in case match with a match var 326s >= Ruby 2.7 326s accepts an offense for literal 2.0 in case match with a match var 326s registers an offense for literal 2.0 in case match without a match var 326s accepts literal 2.0 in a when of a case match 326s >= Ruby 2.7 326s registers an offense for literal [1] in case match without a match var 326s accepts an offense for literal [1] in case match with a match var 326s accepts literal [1] in a when of a case match 326s >= Ruby 2.7 326s accepts an offense for literal :sym in case match with a match var 326s registers an offense for literal :sym in case match without a match var 326s accepts literal :sym in a when of a case match 326s >= Ruby 2.7 326s accepts an offense for literal :"#{a}" in case match with a match var 326s registers an offense for literal :"#{a}" in case match without a match var 326s accepts literal :"#{a}" in a when of a case match 326s >= Ruby 2.7 326s registers an offense for case match with a primitive array condition 326s accepts array literal in case match, if it has nested non-literal element 326s accepts array literal in case match, if it has non-literal elements 326s accepts an offense for case match with a match var 326s accepts dstr literal in case match 326s 326s RuboCop::Cop::Style::RandomWithOffset 326s does not register an offense when using range with double dots 326s registers an offense when using rand(erange).succ 326s registers an offense when using Kernel.rand 326s registers an offense when using offset + rand(int) 326s registers an offense when using rand(irange) - offset 326s registers an offense when using rand(int) - offset 326s registers an offense when using rand(irange).succ 326s registers an offense when using offset - rand(erange) 326s registers an offense when using Random.rand 326s does not register an offense when using offset - rand(erange) with a non-integer range value 326s registers an offense when using rand(erange) + offset 326s does not register an offense when using rand(irange) + offset with a non-integer range value 326s registers an offense when using offset - ::Random.rand(int) 326s registers an offense when using rand(int).pred 326s registers an offense when using offset - rand(int) 326s does not register an offense when using rand(irange).succ with a non-integer range value 326s registers an offense when using rand(int).succ 326s does not register an offense when using rand(erange).pred with a non-integer range value 326s registers an offense when using ::Kernel.rand 326s registers an offense when using rand(irange) + offset 326s registers an offense when using rand(erange) - offset 326s registers an offense when using offset - rand(irange) 326s registers an offense when using ::Random.rand(int).pred 326s registers an offense when using ::Random.rand 326s registers an offense when using offset + Random.rand(int) 326s registers an offense when using Random.rand(int).succ 326s does not register an offense when using range with triple dots 326s registers an offense when using rand(int) + offset 326s registers an offense when using rand(int).next 326s 326s RuboCop::Cop::Style::RedundantSelf 326s accepts a self receiver used to distinguish from constant 326s does not report an offense when masgn name is used in `unless` 326s does not report an offense when masgn name is used in `if` 326s accepts when nested receiver and lvalue have the name name 326s reports an offense when a different masgn name is used in `if` 326s accepts a self receiver on an lvalue of an assignment 326s does not report an offense when lvasgn name is used in `if` 326s accepts a self receiver on an lvalue of an and-assignment 326s accepts a self receiver on an lvalue of a plus-assignment 326s does not report an offense when masgn name is used in `while` 326s accepts a self receiver with the square bracket operator 326s accepts a self receiver on an lvalue of an or-assignment 326s does not report an offense when lvasgn name is used in `while` 326s does not report an offense when self receiver in a method argument and lvalue have the same name 326s does not report an offense when receiver and multiple assigned lvalue have the same name 326s accepts a self receiver used to distinguish from argument of block 326s does not report an offense when masgn name is used in `until` 326s accepts a self receiver on an lvalue of a parallel assignment 326s accepts a self receiver on an lvalue of mlhs arguments 326s reports an offense a self receiver on an rvalue 326s accepts a self receiver of methods also defined on `Kernel` 326s does not report an offense when lvasgn name is nested below `if` 326s does not report an offense when self receiver in a method argument and multiple assigned lvalue have the same name 326s accepts a self receiver with the double less-than operator 326s reports an offense a self receiver of .call 326s does not report an offense when lvasgn name is used in `until` 326s accepts a self receiver for methods named like ruby keywords 326s does not report an offense when receiver and lvalue have the same name 326s reports an offense when a different lvasgn name is used in `if` 326s accepts a self receiver of .() 326s does not report an offense when lvasgn name is used in `unless` 326s instance methods 326s accepts a self receiver used to distinguish from an argument 326s accepts a self receiver used to distinguish from argument 326s accepts a self receiver used to distinguish from optional argument 326s accepts a self receiver used to distinguish from an argument when an inner method is defined 326s accepts a self receiver used to distinguish from local variable 326s accepts a self receiver used to distinguish from blockarg 326s class methods 326s accepts a self receiver used to distinguish from blockarg 326s accepts a self receiver used to distinguish from local variable 326s accepts a self receiver used to distinguish from argument 326s accepts a self receiver used to distinguish from optional argument 326s with ruby >= 2.7 326s with pattern matching 326s accepts a self receiver on a `array-pattern` 326s accepts a self receiver in a nested pattern` 326s accepts a self receiver in a conditional pattern 326s registers an offense when using a self receiver with a pin 326s accepts a self receiver on a `hash-pattern` 326s accepts a self receiver with a `match-alt` 326s accepts a self receiver on an `match-var` 326s registers an offense when using self with a different match var 326s accepts a self receiver in a `if-guard` 326s Ruby 2.7 326s registers offense for self usage in numblocks 326s 326s RuboCop::Formatter::EmacsStyleFormatter 326s #finished 326s does not report summary 326s #file_finished 326s displays parsable text 326s when the offense message contains a newline 326s strips newlines out of the error message 326s when the offense is marked as todo 326s prints [Todo] along with message 326s when the offense is automatically corrected 326s prints [Corrected] along with message 326s 326s RuboCop::Cop::Layout::EmptyLinesAroundBeginBody 326s accepts begin block without empty line 326s accepts begin block without empty line in a method 326s registers an offense for ensure body ending 326s registers an offense for begin body ending with a blank 326s registers an offense for begin body ending in method 326s registers an offense for begin body starting with rescue 326s registers an offense for begin body starting with a blank 326s registers an offense for else body ending 326s registers many offenses with complex begin-end 326s registers an offense for begin body starting in method 326s registers an offense for rescue body ending 326s 326s RuboCop::Cop::Gemspec::DuplicatedAssignment 326s does not register an offense when `name=` method call is not block value 326s does not register an offense when using `spec.add_dependency` twice 326s registers an offense when using `name=` twice with `cbase` 326s registers an offense when using `version=` twice 326s does not register an offense when using `<<` twice 326s registers an offense when using `name=` twice 326s registers an offense when using `required_ruby_version=` twice 326s 326s RuboCop::Cop::Style::RedundantArgument 326s works with double-quoted strings when configuration is single-quotes 326s does not register an offense when method called with different argument 326s registers an offense and corrects when method called on variable 326s does not register an offense when method called with no arguments 326s registers an offense and corrects when method called without parenthesis on literals 326s registers an offense and corrects when method called without parenthesis on variable 326s registers an offense and corrects when method called on literals 326s does not register an offense when method called with more than one arguments 326s does not register an offense when method called with no receiver 326s non-builtin method 326s registers an offense and corrects with configured argument 326s does not register an offense with other argument 326s 326s RuboCop::Cop::Style::HashAsLastArrayItem 326s when EnforcedStyle is braces 326s does not register an offense when hash is not inside array 326s does not register an offense when hash with braces 326s does not register an offense when using double splat operator 326s does not register an offense when the hash is empty 326s registers an offense and corrects when hash without braces 326s does not register an offense when the array is all hashes 326s when EnforcedStyle is no_braces 326s does not register an offense when passing an implicit array to a setter 326s registers an offense and corrects when hash with braces 326s does not register an offense when hash without braces 326s does not register an offense when hash is not inside array 326s does not register an offense when hash is not the last element 326s registers an offense and corrects when hash with braces and trailing comma 326s does not register an offense when the array is all hashes 326s does not register an offense when the hash is empty 326s registers an offense and corrects when hash with braces and trailing comma and new line 326s 326s RuboCop::Cop::Naming::BinaryOperatorParameterName 326s works properly even if the argument not surrounded with braces 326s registers an offense and corrects for `#eql?` when argument is not named other 326s registers an offense and corrects when assigned to argument in method body 326s does not register an offense for multibyte character method name 326s does not register an offense for << 326s registers an offense and corrects when argument is referenced in method body 326s does not register an offense for arg named other 326s does not register an offense for [] 326s registers an offense and corrects for `#equal?` when argument is not named other 326s does not register an offense for []= 326s does not register an offense for non binary operators 326s does not register an offense for arg named _other 326s registers an offense and corrects for `#+` when argument is not named other 326s does not register an offense for the match operator 326s does not register an offense for === 326s 326s RuboCop::Cop::InternalAffairs::RedundantMethodDispatchNode 326s does not register an offense when using `node.method_name` 326s does not register an offense when using `node.receiver` 326s registers an offense when using `node.send_node.receiver` 326s does not register an offense when using `send_node.method_name` 326s does not register an offense when using `node.send_node.arguments?` 326s registers an offense when using `node.send_node.method_name` 326s 326s RuboCop::Cop::Lint::UriEscapeUnescape 326s registers an offense when using `::URI.escape('http://example.com')` 326s registers an offense when using `URI.encode('http://example.com')` 326s registers an offense when using `URI.unescape(enc_uri)` 326s registers an offense when using `::URI.unescape(enc_uri)` 326s registers an offense when using `::URI.encode('http://example.com)` 326s registers an offense when using `URI.escape('http://example.com')` 326s registers an offense when using `URI.escape('@?@!', '!?')` 326s registers an offense when using `::URI.decode(enc_uri)` 326s registers an offense when using `URI.decode(enc_uri)` 326s 326s RuboCop::Cop::Style::HashExcept 326s does not register an offense when using `reject` and `include?` 326s does not register an offense when using `reject` and comparing with `:key != lvar` 326s does not register an offense when using `select` and comparing with `:key == lvar` 326s does not register an offense when using `select` and comparing with `lvar == :key` 326s does not register an offense when not using key block argument` 326s does not register an offense when using `Hash#except` 326s does not register an offense when not using block` 326s does not register an offense when using `reject` and comparing with `lvar != :key` 326s Ruby 3.0 or higher 326s registers and corrects an offense when using `reject` and comparing with `lvar == 'str'` 326s registers and corrects an offense when using `filter` and comparing with `lvar != :sym` 326s registers and corrects an offense when using `reject` and comparing with `:sym == lvar` 326s registers and corrects an offense when using `select` and comparing with `:sym != lvar` 326s registers and corrects an offense when using `reject` and comparing with `lvar == :sym` 326s does not register an offense when comparing with hash value 326s does not register an offense when using `delete_if` and comparing with `lvar == :sym` 326s does not register an offense when using `keep_if` and comparing with `lvar != :sym` 326s does not register an offense when using `reject` and other than comparison by string and symbol using `==` 326s registers and corrects an offense when using `reject` and other than comparison by string and symbol using `eql?` 326s registers and corrects an offense when using `select` and comparing with `lvar != :sym` 326s using `in?` 326s does not register offenses when using `reject` and calling `key.in?` method with symbol array 326s using `include?` 326s does not register an offense when using `reject` and calling `include?` method with symbol array and second block value 326s registers and corrects an offense when using `reject` and calling `include?` method with method call 326s registers and corrects an offense when using `select` and calling `!include?` method with symbol array 326s registers and corrects an offense when using `filter` and calling `!include?` method with symbol array 326s registers and corrects an offense when using `reject` and calling `include?` method with dynamic symbol array 326s registers and corrects an offense when using `reject` and calling `include?` method with symbol array 326s registers and corrects an offense when using `reject` and calling `include?` method with dynamic string array 326s registers and corrects an offense when using `reject` and calling `include?` method with variable 326s when `AllCops/ActiveSupportExtensionsEnabled: true` 326s registers and corrects an offense when using `reject` and comparing with `lvar == :sym` 326s registers and corrects an offense when using `filter` and comparing with `lvar != :sym` 326s does not register an offense when using `reject` and other than comparison by string and symbol using `==` 326s registers and corrects an offense when using `reject` and other than comparison by string and symbol using `eql?` 326s registers and corrects an offense when using `select` and comparing with `lvar != :sym` 326s registers and corrects an offense when using `select` and comparing with `:sym != lvar` 326s does not register an offense when comparing with hash value 326s does not register an offense when using `keep_if` and comparing with `lvar != :sym` 326s registers and corrects an offense when using `reject` and comparing with `:sym == lvar` 326s registers and corrects an offense when using `reject` and comparing with `lvar == 'str'` 327s does not register an offense when using `delete_if` and comparing with `lvar == :sym` 327s using `include?` 327s registers and corrects an offense when using `reject` and calling `include?` method with dynamic string array 327s registers and corrects an offense when using `select` and calling `!include?` method with symbol array 327s registers and corrects an offense when using `filter` and calling `!include?` method with symbol array 327s registers and corrects an offense when using `reject` and calling `include?` method with dynamic symbol array 327s registers and corrects an offense when using `reject` and calling `include?` method with variable 327s registers and corrects an offense when using `reject` and calling `include?` method with method call 327s registers and corrects an offense when using `reject` and calling `include?` method with symbol array 327s using `in?` 327s registers and corrects an offense when using `select` and calling `!key.in?` method with symbol array 327s registers and corrects an offense when using `filter` and calling `!key.in?` method with symbol array 327s registers and corrects an offense when using `reject` and calling `key.in?` method with method call 327s registers and corrects an offense when using `reject` and calling `key.in?` method with dynamic symbol array 327s registers and corrects an offense when using `reject` and calling `key.in?` method with variable 327s registers and corrects an offense when using `reject` and calling `key.in?` method with dynamic string array 327s registers and corrects an offense when using `reject` and calling `key.in?` method with symbol array 327s does not register an offense when using `reject` and calling `in?` method with symbol array and second block value 327s using `exclude?` 327s registers and corrects an offense when using `reject` and calling `!exclude?` method with dynamic symbol array 327s registers and corrects an offense when using `filter` and calling `exclude?` method with symbol array 327s registers and corrects an offense when using `reject` and calling `!exclude?` method with symbol array 327s registers and corrects an offense when using `select` and calling `exclude?` method with symbol array 327s registers and corrects an offense when using `reject` and calling `!exclude?` method with dynamic string array 327s registers and corrects an offense when using `reject` and calling `!exclude?` method with method call 327s registers and corrects an offense when using `reject` and calling `!exclude?` method with variable 327s does not register an offense when using `reject` and calling `exclude?` method with symbol array and second block value 327s using `exclude?` 327s does not register offenses when using `reject` and calling `!exclude?` method with symbol array 327s Ruby 2.7 or lower 327s does not register an offense when using `reject` and comparing with `:key == lvar` 327s does not register an offense when using `select` and comparing with `:key != lvar` 327s does not register an offense when using `reject` and comparing with `lvar == :key` 327s does not register an offense when using `select` and comparing with `lvar != :key` 327s 327s RuboCop::Cop::Layout::FirstMethodParameterLineBreak 327s accepts params without parens 327s accepts single-line methods 327s accepts methods without params 327s accepts params listed on a single line 327s registers an offense and corrects params with default values 327s registers an offense and corrects params listed on the first line 327s registers an offense and corrects params on first line of singleton method 327s 327s RuboCop::Cop::Layout::AssignmentIndentation 327s allows a properly indented rhs with fullwidth characters 327s ignores comparison operators 327s registers an offense for incorrectly indented rhs when multiple assignment 327s registers an offense for incorrectly indented rhs 327s registers an offense for multi-lhs 327s allows assignments that do not start on a newline 327s registers an offense for incorrectly indented rhs whenmultiple assignment with line breaks on each line 327s allows a properly indented rhs 327s when indentation width is overridden for this cop only 327s autocorrects indentation 327s allows a properly indented rhs 327s 327s RuboCop::Cop::Lint::OrAssignmentToConstant 327s does not register an offense with or-assignment to a class variable 327s does not register an offense with or-assignment to a global variable 327s does not register an offense with or-assignment to an attribute 327s registers an offense with or-assignment to a constant 327s does not register an offense with plain assignment to a constant 327s does not register an offense with or-assignment to a local variable 327s does not register an offense with or-assignment to an instance variable 327s 327s RuboCop::Cop::Lint::UnexpectedBlockArity 327s registers multiple offenses 327s with a block 327s when given two parameters 327s does not register an offense 327s when given one parameter 327s registers an offense 327s with optargs 327s with arity 1 327s registers an offense 327s with arity 2 327s does not register an offense 327s when destructuring 327s with arity 2 327s does not register an offense 327s with arity 1 327s registers an offense 327s with no receiver 327s does not register an offense 327s with a keyword splat 327s registers an offense 327s with shadow args 327s registers an offense 327s with keyword args 327s registers an offense 327s when given no parameters 327s registers an offense 327s when given a splat parameter 327s does not register an offense 327s when given three parameters 327s does not register an offense 327s with a numblock 327s with no receiver 327s does not register an offense 327s when using enough parameters, but not all explicitly 327s does not register an offense 327s when given one parameter 327s registers an offense 327s when given no parameters 327s registers an offense 327s when given two parameters 327s does not register an offense 327s when given three parameters 327s does not register an offense 327s 327s RuboCop::Cop::Layout::LineContinuationSpacing 327s EnforcedStyle: space 327s ignores when too much space in front of backslash after `__END__` 327s ignores heredocs and comments 327s registers no offense with one space in front of backslash 327s marks the offense correctly when offense is not in first line 327s registers an offense when too much space in front of backslash 327s registers an offense when no space in front of backslash 327s ignores empty code 327s EnforcedStyle: no_space 327s registers an offense when many spaces in front of backslash 327s registers no offense with zero spaces in front of backslash 327s marks the offense correctly when offense is not in first line 327s registers an offense when one space in front of backslash 327s ignores when too much space in front of backslash after `__END__` 327s ignores empty code 327s ignores heredocs and comments 327s 327s RuboCop::Cop::Lint::UselessTimes 327s registers an offense and corrects with 0.times with block arg 327s registers an offense and corrects with negative times 327s registers an offense and corrects with 1.times with method chain 327s registers an offense and corrects with 1.times with block arg 327s registers an offense and corrects when 1.times with empty block argument 327s registers an offense and corrects when there is a blank line in the method definition 327s does not register an offense for an integer > 1 327s registers an offense and corrects with 1.times 327s registers an offense and corrects with negative times with block arg 327s registers an offense and corrects with 0.times 327s within indentation 327s corrects properly when removing multiline 327s corrects properly when removing single line 327s corrects properly when replacing 327s inline `Integer#times` calls 327s does not try to correct `1.times` 327s does not try to correct `0.times` 327s short-form method 327s registers an offense and corrects with 0.times 327s does not adjust surrounding space 327s registers an offense and corrects with 1.times 327s does not register an offense for an integer > 1 327s registers an offense and corrects with negative times 327s multiline block 327s correctly handles a multiline block with 1.times 327s corrects a block that changes another lvar 327s does not try to correct a block if the block arg is changed 327s does not try to correct a block if the block arg is changed in parallel assignment 327s 327s RuboCop::RakeTask 327s defining tasks 327s creates a named task and a named autocorrect task 327s creates a named task and a named auto_correct task 327s creates a rubocop task and a rubocop autocorrect task 327s creates a rubocop task and a rubocop auto_correct task 327s running tasks 327s allows nested arrays inside formatters, options, and requires 327s runs with default options 327s uses the default formatter from .rubocop.yml if no formatter option is given 327s exits when result is not 0 and fail_on_error is true 327s will not error when result is not 0 and fail_on_error is false 327s runs with specified options if a block is given 327s autocorrect 327s runs with --autocorrect 327s runs with with the options that were passed to its parent task 327s runs with --autocorrect-all 327s 327s RuboCop::Cop::Style::ParallelAssignment 327s registers an offense when the right side has multiple hashes 327s allows more left variables than right variables 327s registers an offense with indices of different variables 327s registers an offense when assigning to same variables in same order 327s registers an offense when the right side has constants 327s corrects parallel assignment in until statements 327s corrects when assigning from multiple methods with blocks 327s corrects when the expression uses a modifier if statement 327s corrects when the expression uses a modifier unless statement 327s registers an offense when the right side has mulitiple arrays 327s corrects when the number of left hand variables matches the number of right hand variables 327s registers an offense when the right side has mixed expressions 327s corrects when the right variable is an array 327s registers an offense when left hand side ends with an implicit variable 327s corrects when assigning to method returns 327s corrects when assignments must be reordered to avoid changing meaning 327s registers an offense when right hand side has namespaced constants 327s corrects when the right variable is a symbol array 327s corrects parallel assignment in if statements 327s allows more right variables than left variables 327s corrects when the expression uses a modifier while statement 327s allows expanding an assigned var 327s registers an offense when assigning to namespaced constants 327s corrects when using constants 327s registers an offense when right hand side has maps with blocks 327s corrects parallel assignment in while statements 327s registers an offense with attributes when assignments must be reordered to preserve meaning 327s corrects when the expression is missing spaces 327s corrects when using nested indentation 327s corrects when the expression uses a modifier rescue statement inside of a method 327s corrects when the expression uses a modifier until statement 327s corrects when the expression uses a modifier rescue statement as the only thing inside of a method 327s registers an offense with indices and attributes when assignments must be reordered to preserve meaning 327s registers an offense when assignments must be reordered to preserve meaning 327s corrects parallel assignment in rescue statements within begin ... rescue 327s corrects parallel assignment inside rescue statements within method definitions 327s corrects when using single indentation 327s corrects when using parallel assignment in singleton method 327s corrects when the expression uses a modifier if statement inside a method 327s corrects when the expression uses a modifier rescue statement 327s corrects when the right variable is a word array 327s registers an offense with indices 327s registers an offense when the right side has methods with/without blocks 327s corrects parallel assignment in unless statements 327s behaves like allowed 327s allows assignment of: a, b = foo.map { |e| e.id } 327s behaves like allowed 327s allows assignment of: a, b = *foo 327s behaves like allowed 327s allows assignment of: a, b, c = 1, 2, *node 327s behaves like allowed 327s allows assignment of: a, b = (a + b), (a - b) 327s behaves like allowed 327s allows assignment of: *a, b = [1, 2, 3] 327s behaves like allowed 327s allows assignment of: a[0], a[1] = a[1], a[0] 327s behaves like allowed 327s allows assignment of: begin_token, end_token = CONSTANT 327s behaves like allowed 327s allows assignment of: a = 1; b = 2; 327s behaves like allowed 327s allows assignment of: a, = a 327s behaves like allowed 327s allows assignment of: a = *'foo' 327s behaves like allowed 327s allows assignment of: a, b, c = b, c, a 327s behaves like allowed 327s allows assignment of: a = a 327s behaves like allowed 327s allows assignment of: a, = 1, 2, 3 327s using custom indentation width 327s works with standard correction 327s works with nesting 327s works with guard clauses 327s works with rescue 327s behaves like allowed 327s allows assignment of: a, *b = [1, 2, 3] 327s behaves like allowed 327s allows assignment of: a, b = b, a 327s behaves like allowed 327s allows assignment of: foo = [1, 2, 3]; a, b, c = foo; 327s behaves like allowed 327s allows assignment of: a, = *foo 327s behaves like allowed 327s allows assignment of: obj.attr1, ary[0] = ary[0], obj.attr1 327s behaves like allowed 327s allows assignment of: a, b = Float::INFINITY 327s behaves like allowed 327s allows assignment of: a, b = foo() 327s behaves like allowed 327s allows assignment of: a = 1 327s behaves like allowed 327s allows assignment of: CONSTANT, = 1, 2 327s behaves like allowed 327s allows assignment of: a, b, c = *node, 1, 2 327s behaves like allowed 327s allows assignment of: a, = 1 327s behaves like allowed 327s allows assignment of: array = [1, 2, 3]; a, = array; 327s behaves like allowed 327s allows assignment of: a, = *'foo' 327s behaves like allowed 327s allows assignment of: obj.attr1, obj.attr2 = obj.attr2, obj.attr1 327s behaves like allowed 327s allows assignment of: self.a, self.b = b, a 327s behaves like allowed 327s allows assignment of: self.a, self.b = self.b, self.a 327s behaves like allowed 327s allows assignment of: ary[0], ary[1], ary[2] = ary[1], ary[2], ary[0] 327s 327s RuboCop::Cop::Gemspec::RubyVersionGlobalsUsage 327s registers an offense when using `RUBY_VERSION` 327s registers an offense when using `::RUBY_VERSION` 327s does not register an offense when no `RUBY_VERSION` 327s 327s RuboCop::Cop::Style::RedundantInitialize 327s does not register an offense for an `initialize` method that calls another method before `super` 327s does not register an offense for a method not named `initialize` that only calls super 327s does not register an offense for an empty `initialize` method with a argument forwarding` 327s registers an offense for an `initialize` method with a default argument that does nothing 327s does not register an offense for an `initialize` method with a default keyword argument that calls `super` 327s does not register an offense for an `initialize` method that calls `super` with a different argument list 327s does not register an offense for an `initialize` method that calls another method 327s registers and corrects an offense for an `initialize` method with arguments that only calls `super` with explicit args 327s does not register an offense for an `initialize` method with a default argument that calls `super` 327s registers and corrects an offense for an `initialize` method with arguments that only calls `super` 327s does not register an offense for an `initialize` method that calls `super` with no arguments 327s registers and corrects an offense for an `initialize` method with no arguments that calls `super` with no arguments 327s registers an offense for an `initialize` method with a default keyword argument that does nothing 327s does not register an offense for an `initialize` method with only a comment 327s does not register an offense for an empty `initialize` method with a splat` 327s registers and corrects an offense for an empty `initialize` method 327s does not register an offense for an empty `initialize` method with a splat` and super 327s does not register an offense for an empty method not named `initialize` 327s does not register an offense for an `initialize` method that calls another method after `super` 327s does not register an offense for an empty `initialize` method with a kwsplat` 327s registers and corrects an offense for an `initialize` method that only calls `super` 327s when `AllowComments: false` 327s registers and corrects an offense for an `initialize` method with only a comment 327s 327s RuboCop::Cop::Style::For 327s when each is the enforced style 327s registers multiple offenses 327s accepts multiline each 327s accepts def for 327s registers an offense for for 327s registers an offense for opposite + correct style 327s accepts :for 327s autocorrect 327s corrects an array with `|` operator 327s corrects an array with `&` operator 327s corrects to `each` without parenthesize collection if non-operator method called 327s corrects an array with `||` operator 327s corrects an array with `&&` operator 327s corrects an array with `+` operator 327s corrects a tuple of items 327s changes for that does not have do or semicolon to each 327s corrects an array with `-` operator 327s corrects an array with `*` operator 327s with range 327s changes for to each 327s changes for that does not have do or semicolon to each 327s without parentheses 327s changes for to each 327s changes for that does not have do or semicolon to each 327s when for is the enforced style 327s registers an offense for each without an item and uses _ as the item 327s accepts single line each 327s registers an offense for correct + opposite style 327s registers multiple offenses 327s accepts for 327s registers an offense for a tuple of items 327s registers an offense for multiline each 327s when using safe navigation operator 327s does not break 327s Ruby 2.7 327s registers an offense for each without an item and uses _ as the item 327s 327s RuboCop::Cop::Layout::DotPosition 327s Leading dots style 327s does not err on method call without a method name 327s does not err on method call on same line 327s registers an offense for only dot line 327s does not err on method call with no dots 327s accepts leading do in multi-line method call 327s registers an offense for trailing dot in multi-line call 327s registers an offense for correct + opposite 327s when there is an intervening line comment 327s does not register offense 327s when using safe navigation operator 327s registers an offense for correct + opposite 327s accepts leading do in multi-line method call 327s when the receiver is a heredoc 327s registers an offense 327s when the receiver has a heredoc argument 327s as the last argument 327s registers an offense 327s as the first argument 327s registers an offense 327s with another method on the same line 327s does not register an offense 327s with multiple heredocs 327s registers an offense 327s with a dynamic heredoc 327s registers an offense 327s with multiple offenses 327s registers all of them 327s when a method spans multiple lines 327s registers an offense 327s when there is an intervening blank line 327s does not register offense 327s Trailing dots style 327s does not err on method call with multi-line arguments 327s registers an offense for leading dot in multi-line call 327s does not err on method call without a method name 327s does not err on method call with no dots 327s does not get confused by several lines of chained methods 327s accepts trailing dot in multi-line method call 327s does not err on method call on same line 327s when there is a heredoc with a following method 327s does not register an offense for a heredoc 327s when using safe navigation operator 327s accepts trailing dot in multi-line method call 327s registers an offense for correct + opposite 327s when the receiver is a heredoc 327s registers an offense 327s when the receiver has a heredoc argument 327s as the last argument 327s registers an offense 327s with another method on the same line 327s does not register an offense 327s with a dynamic heredoc 327s registers an offense 327s with multiple heredocs 327s registers an offense 327s as the first argument 327s registers an offense 327s 327s RuboCop::Cop::Layout::SpaceBeforeComment 327s registers an offense and corrects missing space before an EOL comment 327s accepts an EOL comment with a preceding space 327s accepts a doc comment 327s accepts a comment that begins a line 327s registers an offense and corrects after a heredoc 327s 327s RuboCop::Cop::Naming::VariableName 327s when configured for camelCase 327s accepts camel case local variables marked as unused 327s registers an offense for default method arguments 327s registers an offense for snake case in local variable name 327s registers an offense for rest arguments 327s accepts one symbol size local variables 327s accepts screaming snake case globals 327s accepts with non-ascii characters 327s accepts camel case in instance variable name 327s accepts camel case in local variable name 327s accepts camel case in class variable name 327s registers an offense for keyword arguments 327s registers an offense for block arguments 327s registers an offense for opposite + correct 327s accepts assignment with indexing of self 327s registers an offense for camel case when invoking method args 327s registers an offense for keyword rest arguments 327s registers an offense for snake case in method parameter 327s accepts assigning to camel case constant 327s accepts screaming snake case constants 327s accepts local variables marked as unused 327s when AllowedPatterns is set 327s does not register an offense for a local variable name that matches the allowed pattern 327s does not register an offense for a instance variable name that matches the allowed pattern 327s does not register an offense for a method name that matches the allowed pattern 327s does not register an offense for a global variable name that matches the allowed pattern 327s does not register an offense for a symbol that matches the allowed pattern 327s does not register an offense for a class variable name that matches the allowed pattern 327s when AllowedIdentifiers is set 327s does not register an offense for a symbol that is allowed 327s does not register an offense for a method name that is allowed 327s does not register an offense for a class variable name that is allowed 327s does not register an offense for a global variable name that is allowed 327s does not register an offense for a instance variable name that is allowed 327s does not register an offense for a local variable name that is allowed 327s when configured for snake_case 327s accepts screaming snake case constants 327s registers an offense for camel case when invoking method args 327s accepts screaming snake case globals 327s accepts assigning to camel case constant 327s accepts assignment with indexing of self 327s accepts local variables marked as unused 327s registers an offense for correct + opposite 327s registers an offense for keyword rest arguments 327s registers an offense for keyword arguments 327s registers an offense for camel case in class variable name 327s registers an offense for camel case in instance variable name 327s registers an offense for default method arguments 327s accepts one symbol size local variables 327s registers an offense for block arguments 327s registers an offense for camel case in local variable name 327s registers an offense for method arguments 327s registers an offense for camel case local variables marked as unused 327s registers an offense for rest arguments 327s when AllowedPatterns is set 327s does not register an offense for a instance variable name that matches the allowed pattern 327s does not register an offense for a local variable name that matches the allowed pattern 327s does not register an offense for a global variable name that matches the allowed pattern 327s does not register an offense for a symbol that matches the allowed pattern 327s does not register an offense for a method name that matches the allowed pattern 327s does not register an offense for a class variable name that matches the allowed pattern 327s when AllowedIdentifiers is set 327s does not register an offense for a local variable name that is allowed 327s does not register an offense for a instance variable name that is allowed 327s does not register an offense for a symbol that is allowed 327s does not register an offense for a global variable name that is allowed 327s does not register an offense for a method name that is allowed 327s does not register an offense for a class variable name that is allowed 327s 327s RuboCop::Cop::Lint::DuplicateCaseCondition 327s accepts similar but not equivalent && expressions 327s registers an offense for repeated case conditionals 327s accepts non-redundant case expressions 327s registers multiple offenses for multiple repeated case conditionals 327s registers multiple offenses for repeated multi-value conditionals 327s registers an offense for repeated logical operator when expressions 327s registers an offense for subsequent repeated case conditionals 327s accepts trivial case expressions 327s accepts non-redundant case expressions with an else expression 327s 327s RuboCop::Cop::Layout::ClosingParenthesisIndentation 327s accepts begin nodes that are not grouped expressions 327s for method chains 328s registers an offense and corrects method chains 328s can handle multiple chains with differing breaks 328s when using safe navigation operator 328s registers an offense and corrects misaligned ) 328s for method calls 328s with no line break before 1st parameter 328s registers an offense for misaligned ) 328s accepts a correctly indented ) inside a block 328s accepts a correctly aligned ) 328s accepts a correctly indented ) 328s does not register an offense when using keyword arguments 328s registers an offense and corrects misindented ) when ) is aligned with the params 328s with first multiline arg on new line 328s accepts ) on the same level as ( with second arg on new line 328s accepts ) on the same level as ( with args on same line 328s without arguments 328s accepts empty () 328s accepts a correctly aligned ) against ( 328s can handle indentation up against the left edge 328s with line break before 1st parameter 328s accepts a correctly aligned ) 328s registers an offense for misaligned ) 328s for method assignments with indented parameters 328s without arguments 328s accepts empty () 328s registers an offense for misaligned ) 328s can handle indentation up against the left edge 328s can handle indentation up against the method 328s accepts a correctly aligned ) against ( 328s with no line break before 1st parameter 328s can handle hash arguments that are not broken over lines 328s accepts a correctly indented ) 328s can handle individual arguments that are broken over lines 328s registers an offense for misaligned ) 328s accepts a correctly aligned ) 328s can handle inner method calls 328s can handle indentation up against the left edge 328s with line break before 1st parameter 328s accepts a correctly aligned ) 328s registers an offense for misaligned ) 328s for grouped expressions 328s with no line break before 1st operand 328s accepts ) that does not begin its line 328s accepts a correctly aligned ) 328s registers an offense for misaligned ) 328s with line break before 1st operand 328s accepts a correctly aligned ) 328s registers an offense for misaligned ) 328s for method definitions 328s with line break before 1st parameter 328s registers an offense for misaligned ) 328s accepts a correctly aligned ) 328s with no line break before 1st parameter 328s accepts a correctly aligned ) 328s accepts empty () 328s registers an offense for misaligned ) 328s 328s RuboCop::Cop::Lint::InheritException 328s when class inherits from `Exception` 328s with enforced style set to `runtime_error` 328s registers an offense and corrects 328s when creating a subclass using Class.new 328s registers an offense and corrects 328s when inheriting a standard lib exception class that is not a subclass of `StandardError` 328s does not register an offense 328s with enforced style set to `standard_error` 328s registers an offense and corrects 328s when inheriting a standard lib exception class that is not a subclass of `StandardError` 328s does not register an offense 328s when creating a subclass using Class.new 328s registers an offense and corrects 328s 328s RuboCop::Cop::Style::Copyright 328s does not register an offense when the notice is in a block comment 328s does not register an offense when the notice is not the first comment 328s does not register an offense when the notice is present 328s when the source code file is empty 328s adds an offense 328s when the copyright notice is missing and the source code file starts with a shebang 328s adds an offense 328s when the copyright notice comes after any code 328s adds an offense 328s when the copyright notice is missing and the source code file starts with shebang and an encoding comment 328s adds an offense 328s when the copyright notice is missing and the source code file starts with an encoding comment 328s adds an offense 328s when the copyright notice is missing 328s fails to autocorrect when the AutocorrectNotice does not match the Notice pattern 328s fails to autocorrect if no AutocorrectNotice is given 328s adds an offense 328s 328s RuboCop::Cop::Lint::UnusedMethodArgument 328s inspection 328s when a required keyword argument is unused 328s when a required keyword argument is unused 328s registers an offense but does not suggest underscore-prefix 328s in a method calling `super` with arguments 328s when a method argument is unused 328s registers an offense 328s when an argument with a default value is unused 328s registers an offense and preserves the default value 328s when a trailing block argument is unused 328s registers an offense and removes the unused block arg 328s when a method argument is used 328s accepts 328s in a method calling `binding` without arguments 328s accepts all arguments 328s inside another method definition 328s registers offenses 328s when an optional keyword argument is unused 328s registers an offense but does not suggest underscore-prefix 328s and AllowUnusedKeywordArguments set 328s does not care 328s when an underscore-prefixed method argument is unused 328s accepts 328s when a block argument is unused 328s does not care 328s when a splat argument is unused 328s registers an offense and preserves the splat 328s when a singleton method argument is unused 328s registers an offense 328s in a method calling `binding` with arguments 328s when a method argument is unused 328s registers an offense 328s when a variable is unused 328s does not care 328s when a method takes multiple arguments 328s and an argument is unused 328s registers an offense and adds underscore-prefix 328s and there is some whitespace around the unused argument 328s registers an offense and preserves whitespace 328s and arguments are swap-assigned 328s accepts 328s and one argument is assigned to another, whilst other's value is not used 328s registers an offense 328s and all the arguments are unused 328s registers offenses and suggests the use of `*` and autocorrects to add underscore-prefix to all arguments 328s in a method calling `super` without arguments 328s when a method argument is not used explicitly 328s accepts since the arguments are guaranteed to be the same as superclass' ones and the user has no control on them 328s when IgnoreNotImplementedMethods config parameter is set 328s registers an offense for a non-empty method with a single unused parameter 328s accepts a method with a single unused parameter & raises NotImplementedError 328s accepts a method with a single unused parameter & raises ::NotImplementedError 328s accepts an empty method with multiple unused parameters 328s accepts an empty singleton method with a single unused parameter &raise NotImplementedError 328s registers an offense for a non-empty method with multiple unused parameters 328s accepts a method with a single unused parameter & fails without message 328s accepts a method with a single unused parameter & fails with message 328s accepts a method with a single unused parameter & raises NotImplementedError, message 328s when IgnoreEmptyMethods config parameter is set 328s registers an offense for a non-empty method with multiple unused parameters 328s accepts an empty method with multiple unused parameters 328s accepts an empty method with a single unused parameter 328s accepts an empty singleton method with a single unused parameter 328s registers an offense for a non-empty method with a single unused parameter 328s 328s RuboCop::Cop::Gemspec::DependencyVersion 328s with `EnforcedStyle: forbidden` 328s using add_development_dependency 328s registers an offense when adding development dependency by parenthesized call with version specification 328s does not register an offense when adding development dependency using git option by parenthesized call without version specification 328s registers an offense when adding development dependency with tag specification 328s registers an offense when adding development dependency with commit ref specification 328s registers an offense when adding development dependency with version specification 328s does not register an offense when adding development dependency without version specification 328s registers an offense when adding development dependency by parenthesized call with tag specification 328s does not register an offense when adding development dependency by parenthesized call without version specification 328s registers an offense when adding development dependency with branch specification 328s registers an offense when adding development dependency by parenthesized call with branch specification 328s registers an offense when adding development dependency by parenthesized call with commit ref specification 328s does not register an offense when adding development dependency using git option without version specification 328s using add_dependency 328s registers an offense when adding dependency with version specification 328s registers an offense when adding dependency by parenthesized call with version specification 328s registers an offense when adding dependency with tag specification 328s registers an offense when adding dependency by parenthesized call with tag specification 328s does not register an offense when adding dependency by parenthesized call without version specification 328s registers an offense when adding dependency with commit ref specification 328s registers an offense when adding dependency by parenthesized call with commit ref specification 328s does not register an offense when adding dependency using git option without version specification 328s does not register an offense when adding dependency using git option by parenthesized call without version specification 328s does not register an offense when adding dependency without version specification 328s registers an offense when adding dependency by parenthesized call with branch specification 328s registers an offense when adding dependency with branch specification 328s with `AllowedGems` 328s registers an offense when adding dependency without version specification 328s registers an offense when adding dependency by parenthesized call without version specification 328s using add_runtime_dependency 328s registers an offense when adding runtime dependency with branch specification 328s registers an offense when adding runtime dependency by parenthesized call with commit ref specification 328s does not register an offense when adding runtime dependency using git option without version specification 328s does not register an offense when adding runtime dependency without version specification 328s registers an offense when adding runtime dependency by parenthesized call with branch specification 328s does not register an offense when adding runtime dependency using git option by parenthesized call without version specification 328s registers an offense when adding runtime dependency with version specification 328s registers an offense when adding runtime dependency by parenthesized call with version specification 328s registers an offense when adding runtime dependency by parenthesized call with tag specification 328s registers an offense when adding runtime dependency with tag specification 328s registers an offense when adding runtime dependency with commit ref specification 328s does not register an offense when adding runtime dependency by parenthesized call without version specification 328s with `EnforcedStyle: required` 328s using add_runtime_dependency 328s does not register an offense when adding runtime dependency by parenthesized call with commit ref specification 328s registers an offense when adding runtime dependency without version specification 328s registers an offense when adding runtime dependency using git option by parenthesized call without version specification 328s does not register an offense when adding runtime dependency by parenthesized call with branch specification 328s registers an offense when adding runtime dependency by parenthesized call without version specification 328s does not register an offense when adding runtime dependency with commit ref specification 328s does not register an offense when adding runtime dependency by parenthesized call with tag specification 328s does not register an offense when adding runtime dependency with version specification 328s does not register an offense when adding runtime dependency with tag specification 328s registers an offense when adding runtime dependency using git option without version specification 328s does not register an offense when adding runtime dependency with branch specification 328s does not register an offense when adding runtime dependency by parenthesized call with version specification 328s using add_dependency 328s registers an offense when adding dependency using git option without version specification 328s does not register an offense when adding dependency by parenthesized call with tag specification 328s does not register an offense when adding dependency by parenthesized call with commit ref specification 328s does not register an offense when adding dependency with branch specification 328s registers an offense when adding dependency using git option by parenthesized call without version specification 328s does not register an offense when adding dependency with version specification 328s does not register an offense when adding dependency with tag specification 328s does not register an offense when adding dependency with commit ref specification 328s does not register an offense when adding dependency by parenthesized call with branch specification 328s does not register an offense when adding dependency by parenthesized call with version specification 328s registers an offense when adding dependency without version specification 328s registers an offense when adding dependency by parenthesized call without version specification 328s with `AllowedGems` 328s registers an offense when adding dependency without version specification excepts allowed gems 328s registers an offense when adding dependency by parenthesized call without version specification excepts allowed gems 328s using add_development_dependency 328s does not register an offense when adding development dependency by parenthesized call with branch specification 328s registers an offense when adding development dependency using git option by parenthesized call without version specification 328s registers an offense when adding development dependency using git option without version specification 328s does not register an offense when adding development dependency with commit ref specification 328s does not register an offense when adding development dependency by parenthesized call with tag specification 328s does not register an offense when adding development dependency with version specification 328s registers an offense when adding development dependency without version specification 328s does not register an offense when adding development dependency by parenthesized call with version specification 328s registers an offense when adding development dependency by parenthesized call without version specification 328s does not register an offense when adding development dependency by parenthesized call with commit ref specification 328s does not register an offense when adding development dependency with branch specification 328s does not register an offense when adding development dependency with tag specification 328s 328s RuboCop::Cop::InternalAffairs::RedundantLocationArgument 328s when location argument is not passed 328s does not register an offense 328s when location argument is passed 328s when location argument does not equal to :expression 328s does not register an offense 328s when location argument is :expression 328s registers an offense 328s removes default `location` when preceded by another keyword 328s removes default `location` surrounded by other keywords 328s when there is a message argument 328s registers an offense 328s 328s RuboCop::Cop::Style::NumericLiterals 328s registers an offense for an integer with misplaced underscore 328s registers an offense for a float with a long undelimited integer part 328s accepts short numbers without underscore 328s ignores non-decimal literals 328s accepts integers with less than three places at the end 328s does not count a leading minus sign as a digit 328s handles numeric literal with exponent 328s accepts a short integer without underscore 328s autocorrects numbers with spaces between leading minus and numbers 328s autocorrects negative floating-point numbers 328s accepts long numbers with underscore 328s autocorrects numeric literal with exponent and dot 328s registers an offense for a long undelimited integer 328s autocorrects negative numbers 328s autocorrects numeric literal with exponent (large E) and dot 328s when `'3000'` is specified for `AllowedNumbers` 328s does not register an offense 328s registers an offense 328s strict 328s registers an offense for an integer with misplaced underscore 328s for --auto-gen-config 328s when the number is only digits 328s detects right value of MinDigits based on the longest number 328s sets the right value if one is disabled inline 328s with separators 328s disables the cop 328s does not disable the cop if the line is disabled 328s when `3000` is specified for `AllowedNumbers` 328s registers an offense 328s does not register an offense 328s AllowedPatterns 328s does not register an offense for numbers that exactly match the pattern 328s corrects by inserting underscores every 3 digits 328s registers an offense for numbers that do not exactly match the pattern 328s AllowedPatterns with repetition 328s does not register an offense for numbers that match the pattern 328s 328s RuboCop::Cop::Style::MinMax 328s with an array literal containing calls to `#min` and `#max` 328s when the expression stands alone 328s does not register an offense if the receivers do not match 328s does not register an offense if there are additional elements 328s does not register an offense if the receiver is implicit 328s registers an offense if the receivers match 328s when the expression is used in a parallel assignment 328s does not register an offense if the receivers do not match 328s does not register an offense if the receiver is implicit 328s does not register an offense if there are additional elements 328s registers an offense if the receivers match 328s when the expression is used as a return value 328s registers an offense if the receivers match 328s does not register an offense if the receiver is implicit 328s does not register an offense if there are additional elements 328s does not register an offense if the receivers do not match 328s 328s RuboCop::Cop::Metrics::BlockLength 328s accepts a block with less than 3 lines 328s does not count blank lines 328s accepts a block with multiline receiver and less than 3 lines of body 328s accepts empty blocks 328s reports the correct beginning and end lines 328s rejects brace blocks too 328s does not count commented lines by default 328s rejects a block with more than 5 lines 328s properly counts nested blocks 328s when defining a module 328s does not register an offense 328s when CountComments is enabled 328s also counts commented lines 328s when `CountAsOne` is not empty 328s folds array into one line 328s when methods to allow are defined 328s when AllowedPatterns is enabled 328s does not report an offense 328s that does not match 328s reports an offense 328s when ExcludedMethods is enabled 328s does not report an offense 328s that does not match 328s reports an offense 328s when AllowedMethods is enabled 328s when a method is allowed, but receiver is a module 328s does not report an offense 328s when receiver contains whitespaces 328s allows whitespaces 328s behaves like allow an offense on an allowed method 328s accepts the foo method with a long block 328s still rejects other methods with long blocks 328s behaves like allow an offense on an allowed method 328s accepts the foo method with a long block 328s still rejects other methods with long blocks 328s when IgnoredMethods is enabled 328s when regex 328s does not report an offense 328s that does not match 328s reports an offense 328s when string 328s does not report an offense 328s that does not match 328s reports an offense 328s when defining a class 328s does not register an offense 328s when using numbered parameter 328s accepts a block with less than 3 lines 328s does not count blank lines 328s rejects a block with more than 5 lines 328s reports the correct beginning and end lines 328s when defining a Struct 328s does not register an offense 328s 328s RuboCop::Cop::Style::TrailingCommaInArrayLiteral 328s with multi-line list of values 328s when EnforcedStyleForMultiline is comma 328s accepts trailing comma 328s accepts literal with two of the values on the same line 328s accepts an empty array being passed as a method argument 328s accepts a multiline word array 328s registers an offense for a literal with two of the values on the same line and a trailing comma 328s accepts a multiline array with a single item and trailing comma 328s when closing bracket is on same line as last value 328s accepts literal with no trailing comma 328s when EnforcedStyleForMultiline is no_comma 328s accepts a literal with no trailing comma 328s registers an offense for trailing comma 328s accepts HEREDOC with commas 328s autocorrects unwanted comma where HEREDOC has commas 328s when EnforcedStyleForMultiline is consistent_comma 328s accepts trailing comma 328s accepts a multiline word array 328s accepts a multiline array with items on a single line andtrailing comma 328s registers an offense for literal with two of the values on the same line and no trailing comma 328s accepts a multiline array with a single item and trailing comma 328s accepts two values on the same line 328s when closing bracket is on same line as last value 328s registers an offense for no trailing comma 328s with single line list of values 328s when EnforcedStyleForMultiline is no_comma 328s accepts rescue clause 328s accepts single element literal without trailing comma 328s accepts literal without trailing comma 328s accepts empty literal 328s registers an offense for trailing comma 328s when EnforcedStyleForMultiline is consistent_comma 328s accepts single element literal without trailing comma 328s accepts empty literal 328s accepts literal without trailing comma 328s accepts rescue clause 328s registers an offense for trailing comma 328s when EnforcedStyleForMultiline is comma 328s accepts single element literal without trailing comma 328s accepts literal without trailing comma 328s accepts empty literal 328s registers an offense for trailing comma 328s accepts rescue clause 328s 328s RuboCop::ConfigRegeneration 328s #options 328s when the todo file is malformed 328s is expected to eq {:auto_gen_config=>true} 328s it parses options from the generation comment 328s is expected to eq {:auto_gen_config=>true, :auto_gen_only_exclude=>true, :auto_gen_timestamp=>false, :exclude_limit=>"100", :offense_counts=>false} 328s when there is a blank todo file 328s is expected to eq {:auto_gen_config=>true} 328s when no todo file exists 328s is expected to eq {:auto_gen_config=>true} 328s 328s RuboCop::Cop::Force 328s #run_hook 328s invokes a hook in all cops 328s .force_name 328s returns the class name without namespace 328s 328s RuboCop::Cop::Lint::EachWithObjectArgument 328s registers an offense for bignum argument 328s accepts two arguments 328s registers an offense for float argument 328s accepts a variable argument 328s accepts a string argument 328s registers an offense for fixnum argument 328s when using safe navigation operator 328s registers an offense for fixnum argument 328s 328s RuboCop::Cop::Style::PercentQLiterals 328s when EnforcedStyle is lower_case_q 328s with interpolation 328s accepts %Q 328s accepts single quotes 328s accepts %q 328s accepts double quotes 328s without interpolation 328s accepts single quotes 328s accepts %q 328s accepts double quotes 328s registers offense for %Q 328s with special characters 328s accepts %q 328s accepts %Q 328s when EnforcedStyle is upper_case_q 328s without interpolation 328s accepts single quotes 328s accepts %Q 328s accepts double quotes 328s registers offense for %q 328s with special characters 328s accepts %q 328s accepts %Q 328s with interpolation 328s accepts double quotes 328s accepts single quotes 328s accepts %Q 328s accepts %q 328s 328s RuboCop::Cop::Layout::SpaceAroundKeyword 328s behaves like accept around 328s accepts `[]` around keyword in `[begin end]` 328s behaves like missing after 328s registers an offense for missing space after keyword in `END{}` and autocorrects 328s behaves like missing after 328s registers an offense for missing space after keyword in `until 1 do"x" end` and autocorrects 328s behaves like accept before 328s accepts `*` before keyword in `a*begin end` 328s behaves like accept around 328s accepts `()` around keyword in `(next)` 328s behaves like accept around 328s accepts `;` around keyword in `test do;end` 328s behaves like missing before 328s registers an offense for missing space before keyword in `case a; when b; ""else end` 328s behaves like accept after 328s accepts `.` after keyword in `begin end.inspect` 328s behaves like accept around 328s accepts `[]` around keyword in `a[begin end]` 328s behaves like accept around 328s accepts `{}` around keyword in `loop {next}` 328s behaves like missing after 328s registers an offense for missing space after keyword in `if a then"" end` and autocorrects 328s behaves like accept after 328s accepts `(` after keyword in `not(1)` 328s behaves like missing after 328s registers an offense for missing space after keyword in `case a; when b; else"" end` and autocorrects 328s behaves like missing before 328s registers an offense for missing space before keyword in `a do "a"end` 328s behaves like missing before 328s registers an offense for missing space before keyword in `begin rescue; ""else end` 328s behaves like missing before 328s registers an offense for missing space before keyword in `begin "a"end` 328s behaves like accept around 328s accepts `,` around keyword in `a 1,next,1` 328s behaves like missing after 328s registers an offense for missing space after keyword in `a rescue""` and autocorrects 328s behaves like accept after 328s accepts `+` after keyword in `+begin end` 328s behaves like missing after 328s registers an offense for missing space after keyword in `begin"" end` and autocorrects 328s behaves like missing before 328s registers an offense for missing space before keyword in `if a; "b"end` 328s behaves like missing after 328s registers an offense for missing space after keyword in `BEGIN{}` and autocorrects 328s behaves like missing before 328s registers an offense for missing space before keyword in `case ""when a; end` 328s behaves like missing after 328s registers an offense for missing space after keyword in `1 while""` and autocorrects 328s behaves like missing before 328s registers an offense for missing space before keyword in `1while ""` 328s behaves like missing after 328s registers an offense for missing space after keyword in `case a when""; end` and autocorrects 328s behaves like missing after 328s registers an offense for missing space after keyword in `not""` and autocorrects 328s behaves like accept after 328s accepts `::` after keyword in `super::ModuleName` 328s behaves like missing after 328s registers an offense for missing space after keyword in `defined?1` and autocorrects 328s behaves like accept before 328s accepts `<` before keyword in `a` before keyword in `a>begin end` 328s behaves like missing before 328s registers an offense for missing space before keyword in `""rescue a` 328s behaves like missing after 328s registers an offense for missing space after keyword in `1 or(2)` and autocorrects 328s behaves like missing before 328s registers an offense for missing space before keyword in `a "b"do end` 328s behaves like accept after 328s accepts `(` after keyword in `yield(1)` 328s behaves like missing before 328s registers an offense for missing space before keyword in `if a; ""elsif b; end` 328s behaves like accept before 328s accepts `==` before keyword in `a==begin end` 328s behaves like accept before 328s accepts `&&` before keyword in `a&&begin end` 328s behaves like accept after 328s accepts `(` after keyword in `super(1)` 328s behaves like missing after 328s registers an offense for missing space after keyword in `while 1 do"x" end` and autocorrects 328s behaves like accept after 328s accepts `[` after keyword in `yield[1]` 328s behaves like missing before 328s registers an offense for missing space before keyword in `until 1do end` 328s behaves like accept before 328s accepts `+` before keyword in `a+begin; end.method` 328s behaves like missing before 328s registers an offense for missing space before keyword in `1or 2` 328s behaves like missing after 328s registers an offense for missing space after keyword in `next""` and autocorrects 328s behaves like accept after 328s accepts `(` after keyword in `next(1)` 328s behaves like missing after 328s registers an offense for missing space after keyword in `if""; end` and autocorrects 328s behaves like missing before 328s registers an offense for missing space before keyword in `if ""then a end` 328s behaves like missing after 328s registers an offense for missing space after keyword in `yield""` and autocorrects 328s behaves like accept before 328s accepts `/` before keyword in `a/begin end` 328s behaves like missing after 328s registers an offense for missing space after keyword in `begin ensure"" end` and autocorrects 328s &. 328s behaves like accept after 329s accepts `&.` after keyword in `yield&.foo` 329s behaves like accept after 329s accepts `&.` after keyword in `super&.foo` 329s behaves like missing after 329s registers an offense for missing space after keyword in `unless""; end` and autocorrects 329s behaves like missing after 329s registers an offense for missing space after keyword in `break""` and autocorrects 329s behaves like missing before 329s registers an offense for missing space before keyword in `for x in [] do "x"end` 329s behaves like accept after 329s accepts `[` after keyword in `super[1]` 329s behaves like accept after 329s accepts `\` after keyword in `test do\ 329s end` 329s behaves like accept after 329s accepts `rescue` after keyword in `begin; rescue(Error); end` 329s behaves like accept before 329s accepts `=*` before keyword in `a=*begin end` 329s behaves like missing after 329s registers an offense for missing space after keyword in `if a; else"" end` and autocorrects 329s behaves like accept after 329s accepts `(` after keyword in `defined?(1)` 329s behaves like accept before 329s accepts `-` before keyword in `a-begin end` 329s behaves like accept before 329s accepts `||` before keyword in `a||begin end` 329s behaves like missing before 329s registers an offense for missing space before keyword in `1until ""` 329s behaves like missing before 329s registers an offense for missing space before keyword in `for x in []do end` 329s behaves like accept after 329s accepts `{` after keyword in `loop{}` 329s >= Ruby 2.7 329s behaves like missing after 329s registers an offense for missing space after keyword in `case a; in "pattern" unless"condition"; else "" end` and autocorrects 329s behaves like missing before 329s registers an offense for missing space before keyword in `case a; in b; ""else end` 329s behaves like missing after 329s registers an offense for missing space after keyword in `case a; in b; else"" end` and autocorrects 329s behaves like missing before 329s registers an offense for missing space before keyword in `case a; in "pattern"if "condition"; else "" end` 329s behaves like missing before 329s registers an offense for missing space before keyword in `case a; in "pattern"unless "condition"; else "" end` 329s behaves like missing after 329s registers an offense for missing space after keyword in `case a; in "pattern" if"condition"; else "" end` and autocorrects 329s behaves like missing before 329s registers an offense for missing space before keyword in `while 1 do "x"end` 329s behaves like missing before 329s registers an offense for missing space before keyword in `if a; ""else end` 329s >= Ruby 2.7 329s behaves like missing after 329s registers an offense for missing space after keyword in `case""; in 1; end` and autocorrects 329s behaves like accept around 329s accepts `{}` around keyword in `"#{begin end}"` 329s behaves like missing after 329s registers an offense for missing space after keyword in `begin+1 end` and autocorrects 329s behaves like accept before 329s accepts `!` before keyword in `!yield.method` 329s behaves like accept before 329s accepts `=` before keyword in `a=begin end` 329s behaves like missing after 329s registers an offense for missing space after keyword in `begin rescue; else"" end` and autocorrects 329s behaves like accept around 329s accepts `{}` around keyword in `{a: begin end}` 329s behaves like accept after 329s accepts `(` after keyword in `return(1)` 329s behaves like accept before 329s accepts `!` before keyword in `!super.method` 329s >= Ruby 2.7 329s behaves like missing before 329s registers an offense for missing space before keyword in `""in a` 329s behaves like missing after 329s registers an offense for missing space after keyword in `case a; in""; end` and autocorrects 329s behaves like missing after 329s registers an offense for missing space after keyword in `a in""` and autocorrects 329s behaves like missing after 329s registers an offense for missing space after keyword in `super{}` and autocorrects 329s behaves like accept before 329s accepts `+` before keyword in `a+begin end` 329s behaves like accept before 329s accepts `|` before keyword in `loop { |x|break }` 329s behaves like accept after 329s accepts `\n` after keyword in `test do 329s end` 329s behaves like missing before 329s registers an offense for missing space before keyword in `until 1 do "x"end` 329s behaves like missing before 329s registers an offense for missing space before keyword in `1and 2` 329s behaves like missing after 329s registers an offense for missing space after keyword in `return""` and autocorrects 329s behaves like missing after 329s registers an offense for missing space after keyword in `case"" when 1; end` and autocorrects 329s behaves like missing before 329s registers an offense for missing space before keyword in `while 1do end` 329s behaves like accept before 329s accepts `!` before keyword in `!yield` 329s >= Ruby 3.0 329s behaves like accept after 329s accepts `=>` after keyword in `a =>""` 329s behaves like accept before 329s accepts `=>` before keyword in `""=> a` 329s behaves like missing after 329s registers an offense for missing space after keyword in `super""` and autocorrects 329s behaves like missing after 329s registers an offense for missing space after keyword in `1 and(2)` and autocorrects 329s behaves like accept after 329s accepts `.` after keyword in `yield.method` 329s behaves like missing after 329s registers an offense for missing space after keyword in `for x in [] do"x" end` and autocorrects 329s behaves like accept before 329s accepts `**` before keyword in `a**begin end` 329s behaves like accept after 329s accepts `#` after keyword in `next#comment` 329s behaves like missing before 329s registers an offense for missing space before keyword in `begin ""ensure end` 329s behaves like missing after 329s registers an offense for missing space after keyword in `if a; elsif""; end` and autocorrects 329s behaves like missing after 329s registers an offense for missing space after keyword in `1 until""` and autocorrects 329s behaves like missing after 329s registers an offense for missing space after keyword in `a do|x| end` and autocorrects 329s behaves like accept after 329s accepts `(` after keyword in `break(1)` 329s 329s RuboCop::Ext::RegexpNode 329s #parsed_tree 329s with a regexp containing interpolation 329s returns the expected blanked tree 329s with a regexp containing a multi-line interpolation 329s returns the expected blanked tree 329s with an extended mode regexp with comment 329s returns the expected tree 329s with a regexp not containing interpolation 329s returns the expected tree 329s with a regexp with subexpressions 329s has location information 329s #each_capture 329s when called without argument 329s is expected to match [(be an instance of Regexp::Expression::Group::Capture), (be an instance of Regexp::Expression::Group::Named)] 329s when called with a `named: true` 329s is expected to match [(be an instance of Regexp::Expression::Group::Named)] 329s when called with a `named: false` 329s is expected to match [(be an instance of Regexp::Expression::Group::Capture)] 329s 329s RuboCop::Cop::Lint::NumberConversion 329s registers an offense 329s when `#to_i` called on a variable on a array 329s when `#to_i` called on a variable 329s when using `#to_i` for number literals 329s when using `#to_f` for number literals 329s when using `#to_c` 329s when using `#to_r` 329s when `#to_i` called on a hash value 329s when using `#to_f` 329s when using `#to_c` for number literals 329s when using `#to_i` 329s when using `#to_r` for number literals 329s when `#to_i` called on a variable on a hash 329s does not register an offense 329s when using Complex() 329s when `#to_i` called without a receiver 329s when using Integer() with integer 329s when using Float() 329s when `:to_f` is one of multiple method arguments 329s to_method in symbol form 329s registers offense and autocorrects 329s registers offense and autocorrects without parentheses 329s registers offense with send 329s does not register an offense when using `Float` constructor 329s registers an offense when using nested number conversion methods 329s does not register an offense when using `Integer` constructor 329s registers offense with try 329s does not register an offense when using `Complex` constructor 329s IgnoredClasses 329s when using Time 329s when using DateTime 329s when using Time/DateTime with multiple method calls 329s AllowedPatterns 329s registers an offense for other methods 329s does not register an offense for an allowed method 329s AllowedMethods 329s registers an offense for other methods 329s does not register an offense for an allowed method 329s 329s RuboCop::Cop::Style::InlineComment 329s does not register an offense for special rubocop inline comments 329s registers an offense for a trailing inline comment 329s does not register an offense for a standalone comment 329s 329s RuboCop::Cop::Style::WhenThen 329s registers an offense for when b, c; 329s registers an offense for when b; 329s accepts ; separating statements in the body of when 329s when inspecting a case statement with an empty branch 329s does not register an offense 329s 329s RuboCop::Cop::Style::OneLineConditional 329s when AlwaysCorrectToMultiline is true 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct for if-then-elsif-then-elsif-then-else-end 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct for unless/then/else/end 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct for if-then-elsif-then-else-end 329s registers and corrects an offense with multi-line construct for if/then/else/end 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end that contains method calls with parenthesized arguments 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s does not register an offense for unless/then/end 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end that contains method calls with unparenthesized arguments 329s does not register an offense for if/then/end 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s does not register an offense for unless/then/else/end with empty else 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end that contains unparenthesized operator method calls 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct for if/then/else/end when `then` without body 329s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `next` keyword 329s does not register an offense for if/then/else/end with empty else 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `defined? :A` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `a or b` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `a ? b : c` constructs inside inner branches 329s when IndentationWidth differs from default 329s registers and corrects an offense with multi-line construct for if/then/else/end 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `not a` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `puts 1` constructs inside inner branches 329s behaves like if/then/else/end with keyword 329s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `break` keyword 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `super b` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `yield a` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `a and b` constructs inside inner branches 329s behaves like if/then/else/end with keyword 329s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `retry` keyword 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `a = b` constructs inside inner branches 329s behaves like if/then/else/end with keyword 329s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `self` keyword 329s behaves like if/then/else/end with keyword 329s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `raise` keyword 329s when AlwaysCorrectToMultiline is false 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator for if/then/else/end when `then` without body 329s does not register an offense for unless/then/end 329s registers and corrects an offense with ternary operator for if/then/else/end 329s registers and corrects an offense with multi-line construct for if-then-elsif-then-else-end 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator without adding parentheses for if/then/else/end that contains unparenthesized operator method calls 329s does not register an offense for unless/then/else/end with empty else 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s does not register an offense for if/then/else/end with empty else 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator without adding parentheses for if/then/else/end that contains method calls with parenthesized arguments 329s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `next` keyword 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses for if/then/else/end that contains method calls with unparenthesized arguments 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct for if-then-elsif-then-elsif-then-else-end 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 329s registers and corrects an offense with multi-line construct for if-then-elsif-then-end 329s registers and corrects an offense with ternary operator for unless/then/else/end 329s does not register an offense for if/then/end 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `a = b` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `super b` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `puts 1` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `a or b` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `a and b` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `defined? :A` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `a ? b : c` constructs inside inner branches 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `yield a` constructs inside inner branches 329s behaves like if/then/else/end with keyword 329s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `raise` keyword 329s behaves like if/then/else/end with keyword 329s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `retry` keyword 329s behaves like if/then/else/end with keyword 329s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `self` keyword 329s behaves like if/then/else/end with constructs changing precedence 329s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `not a` constructs inside inner branches 329s behaves like if/then/else/end with keyword 329s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `break` keyword 329s 329s RuboCop::Cop::Lint::UselessSetterCall 329s is not confused by operators ending with = 329s accepts exception assignments without exploding 329s when a lvar contains an object passed as argument at the end of the method 329s accepts the setter call on the lvar 329s when a lvar possibly contains an object passed as argument by logical-operator-assignment at the end of the method 329s accepts the setter call on the lvar 329s with method ending with setter call on argument 329s accepts 329s when a lvar contains a non-local object returned by a method 329s accepts 329s when a lvar does not contain any object passed as argument by binary-operator-assignment at the end of the method 329s registers an offense and corrects 329s with method ending with ivar assignment 329s accepts 329s with method ending with setter call on local object 329s registers an offense and corrects 329s when a lvar contains a local object instantiated with literal 329s registers an offense and corrects for the setter call on the lvar 329s with method ending with square bracket setter on local object 329s registers an offense and corrects 329s when a lvar does not contain any object passed as argument with multiple-assignment at the end of the method 329s registers an offense and corrects 329s when a lvar declared as an argument is no longer the passed object at the end of the method 329s registers an offense and corrects for the setter call on the lvar 329s with singleton method ending with setter call on local object 329s registers an offense and corrects 329s when a lvar contains an object passed as argument by multiple-assignment at the end of the method 329s accepts the setter call on the lvar 329s with method ending with setter call on ivar 329s accepts 329s 329s RuboCop::Cop::Layout::EmptyLines 329s does not register an offense for heredocs with empty lines inside 329s does not register an offense for comments 329s does not register an offense when there are no tokens 329s does not register an offense for empty lines in a string 329s registers an offense for consecutive empty lines 329s 329s RuboCop::Cop::Lint::PercentSymbolArray 329s detecting colons or commas in a %i/%I string 329s registers an offense and corrects when there are no colons but one comma 329s accepts tokens without colons or commas 329s registers an offense and corrects when there are no colons but one comma 329s registers an offense and corrects when symbols contain colons and are comma separated 329s accepts tokens without colons or commas 329s accepts likely false positive $, 329s registers an offense and corrects when symbols contain colons and are comma separated 329s accepts likely false positive $, 329s registers an offense and corrects when one symbol has a colon but there are no commas 329s registers an offense and corrects when one symbol has a colon but there are no commas 329s with binary encoded source 329s registers an offense and corrects when tokens contain quotes 329s accepts if tokens contain no quotes 329s 329s RuboCop::Cop::Lint::RequireRangeParentheses 329s registers an offense when the end of the range (`..`) is line break 329s does not register an offense when using `nil..42` 329s does not register an offense when begin and end of the range are on the same line 329s does not register an offense when using `42..nil` 329s registers an offense when the end of the range (`...`) is line break 329s does not register an offense when the end of the range (`..`) is line break and is enclosed in parentheses 329s Ruby >= 2.6 329s does not register an offense when using endless range only 329s Ruby >= 2.7 329s does not register an offense when using beginless range only 329s 329s RuboCop::Cop::Lint::RefinementImportMethods 329s Ruby <= 3.0 329s does not register an offense when using `include` in `refine` block 329s does not register an offense when using `prepend` in `refine` block 329s Ruby >= 3.1 329s registers an offense when using `include` in `refine` block 329s registers an offense when using `prepend` in `refine` block 329s does not register an offense when using `import_methods` in `refine` block 329s does not register an offense when using `include` with a receiver in `refine` block 329s 329s RuboCop::Cop::Style::TrailingMethodEndStatement 329s register offense with trailing end inside class 329s does not register on single line method 329s does not register on single line no op 329s autocorrects all trailing ends for larger example 329s register offense with trailing end on 3 line method 329s register offense with trailing end on 2 line method 329s register offense with trailing end on method with block 329s register offense with trailing end on method with comment 329s when Ruby 3.0 or higher 329s does not register an offense when using endless method definition 329s does not register an offense when endless method definition signature and body are on different lines 329s 329s RuboCop::Cop::Layout::EndOfLine 329s when EnforcedStyle is native 329s registers an offense for an incorrect EOL 329s when EnforcedStyle is crlf 329s does not register offenses after __END__ 329s does not register offense for no CR at end of file 329s accepts an empty file 329s registers an offense for CR+LF 329s and the default external encoding is US_ASCII 329s can inspect non-UTF-8 encoded source with proper encoding comment 329s does not crash on UTF-8 encoded non-ascii characters 329s and there are many lines ending with LF 329s can inspect non-UTF-8 encoded source with proper encoding comment 329s registers only one offense 329s when EnforcedStyle is lf 329s registers an offense for CR at end of file 329s does not register offenses after __END__ 329s registers an offense for CR+LF 329s accepts an empty file 329s and the default external encoding is US_ASCII 329s does not crash on UTF-8 encoded non-ascii characters 329s can inspect non-UTF-8 encoded source with proper encoding comment 329s and there are many lines ending with CR+LF 329s registers only one offense 329s can inspect non-UTF-8 encoded source with proper encoding comment 329s 329s RuboCop::Cop::Style::RedundantStringEscape 329s does not register an offense for a regexp literal 329s does not register an offense for a x-str literal 329s does not register an offense for a __FILE__ literal 329s does not register an offense for a __dir__ literal 329s with a %W(...) literal 329s does not register an offense for escaped spaces 329s behaves like a literal with interpolation 329s does not register an offense for an octal escape 329s does not register an offense for control characters 329s registers an offense and corrects an escaped # at end-of-string 329s does not register an offense for meta control characters 329s does not register an offense for an escaped # followed { 329s does not register an offense for a unicode escape 329s registers an offense and corrects an escaped double quote 329s registers an offense and corrects an escaped # without following { 329s does not register an offense for multiple unicode escapes 329s does not register an offense for an escaped ivar interpolation 329s does not register an offense for a @-escaped cvar interpolation 329s does not register an offense for a technically-unnecessary escape 329s does not register an offense for a newline 329s does not register an offense for an escaped cvar interpolation 329s registers an offense and corrects an escaped single quote 329s does not register an offense for an escaped delimiter 329s does not register an offense for an escaped gvar interpolation 329s does not register an offense for a $-escaped gvar interpolation 329s registers an offense and corrects a escaped nested delimiter in a double quoted string 329s does not register a bracket-escaped lvar interpolation 329s does not register an offense for an escaped interpolation 329s does not register an offense for a bracket-escaped interpolation 329s does not register an offense for a meta character 329s does not register an offense for a hex escape 329s does not register an offense for an escaped backslash 329s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 329s registers an offense and corrects an escaped # before interpolation 329s does not register an offense without escapes 329s does not register an offense for an escaped newline 329s does not register an offense for an escaped delimiter before interpolation 329s does not register an offense for a @-escaped ivar interpolation 329s does not register an offense for an ascii DEL 329s when using character literals 329s does not register an offense for `?\n` 329s does not register an offense for `?a` 329s with a single quoted string 329s behaves like a literal without interpolation 329s does not register an offense for an escaped # with following { 329s does not register an offense for an escaped ivar interpolation 329s does not register an offense for an escaped backslash 329s does not register an offense for an escaped delimiter before interpolation 329s does not register an offense for a @-escaped cvar interpolation 329s does not register an offense with escaped # without following { 329s does not register an offense with escaped double quote 329s does not register an offense for a bracket-escaped interpolation 329s does not register an offense with escaped single quote 329s does not register an offense for an escaped gvar interpolation 329s does not register an offense for an ascii DEL 329s does not register an offense for a meta character 329s does not register an offense for an escaped cvar interpolation 329s does not register an offense for a $-escaped gvar interpolation 329s does not register an offense for an escaped newline 329s does not register an offense for an escaped delimiter 329s does not register an offense for an escaped interpolation 329s does not register an offense without escapes 329s does not register an offense for an escaped # followed { 329s does not register an offense for an octal escape 329s does not register an offense for a unicode escape 329s does not register an offense for multiple unicode escapes 329s does not register an offense for a newline 329s does not register an offense for control characters 329s does not register a bracket-escaped lvar interpolation 329s does not register an offense for a technically-unnecessary escape 329s does not register an offense for meta control characters 329s does not register an offense for a @-escaped ivar interpolation 329s does not register an offense for an allowed escape inside multi-line literal 329s does not register an offense for a hex escape 330s does not register an offense with escaped # at end-of-string 330s with a %Q!...! literal 330s behaves like a literal with interpolation 330s does not register an offense for a hex escape 330s does not register an offense for an escaped # followed { 330s registers an offense and corrects an escaped # without following { 330s does not register an offense for a technically-unnecessary escape 330s does not register an offense for a $-escaped gvar interpolation 330s does not register an offense without escapes 330s does not register an offense for an escaped backslash 330s registers an offense and corrects an escaped # at end-of-string 330s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 330s does not register an offense for control characters 330s does not register an offense for a unicode escape 330s does not register an offense for an ascii DEL 330s does not register an offense for an escaped interpolation 330s does not register an offense for meta control characters 330s does not register an offense for an escaped gvar interpolation 330s does not register an offense for a @-escaped cvar interpolation 330s does not register an offense for an escaped cvar interpolation 330s does not register an offense for a meta character 330s does not register an offense for an escaped newline 330s does not register an offense for an octal escape 330s does not register an offense for multiple unicode escapes 330s registers an offense and corrects an escaped single quote 330s registers an offense and corrects an escaped # before interpolation 330s does not register an offense for an escaped ivar interpolation 330s does not register an offense for a @-escaped ivar interpolation 330s registers an offense and corrects an escaped double quote 330s registers an offense and corrects a escaped nested delimiter in a double quoted string 330s does not register an offense for an escaped delimiter before interpolation 330s does not register an offense for an escaped delimiter 330s does not register an offense for a newline 330s does not register a bracket-escaped lvar interpolation 330s does not register an offense for a bracket-escaped interpolation 330s with an interpolation-enabled HEREDOC 330s does not register an offense for a bracket-escaped interpolation 330s does not register an offense for meta control characters 330s does not register an offense for a newline 330s does not register an offense for an octal escape 330s does not register an offense for an ascii DEL 330s does not register an offense for a hex escape 330s does not register an offense for an escaped gvar interpolation 330s registers an offense and corrects an escaped # before interpolation 330s does not register an offense for control characters 330s does not register an offense for a meta character 330s registers an offense and corrects an escaped # without following { 330s does not register an offense for an escaped cvar interpolation 330s does not register an offense for a $-escaped gvar interpolation 330s does not register a bracket-escaped lvar interpolation 330s does not register an offense for a technically-unnecessary escape 330s does not register an offense for a heredoc interpolating a string with an allowed escape 330s does not register an offense for a @-escaped ivar interpolation 330s does not register an offense for an escaped newline 330s does not register an offense for an escaped interpolation 330s registers an offense and corrects an escaped single quote 330s does not register an offense for a unicode escape 330s does not register an offense for an escaped # followed { 330s registers an offense and corrects an escaped # at end-of-string 330s does not register an offense for a nested heredoc without interpolation 330s does not register an offense for a @-escaped cvar interpolation 330s does not register an offense for an escaped backslash 330s does not register an offense without escapes 330s does not register an offense for multiple unicode escapes 330s does not register an offense for an escaped ivar interpolation 330s with a double quoted string 330s does not register an offense with multiple escaped backslashes 330s does not register an offense when escaping a quote in multi-line broken string 330s does not register an offense with escaped double quote 330s registers an offense and corrects an unnecessary escape in multi-line broken string 330s behaves like a literal with interpolation 330s does not register an offense for an escaped ivar interpolation 330s does not register an offense for a technically-unnecessary escape 330s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 330s registers an offense and corrects an escaped single quote 330s does not register an offense for an octal escape 330s does not register an offense for a hex escape 330s does not register an offense for an escaped gvar interpolation 330s does not register an offense for a @-escaped ivar interpolation 330s does not register a bracket-escaped lvar interpolation 330s does not register an offense for an escaped # followed { 330s does not register an offense for a unicode escape 330s does not register an offense for an escaped delimiter before interpolation 330s does not register an offense for a $-escaped gvar interpolation 330s does not register an offense for multiple unicode escapes 330s registers an offense and corrects an escaped # before interpolation 330s registers an offense and corrects an escaped # without following { 330s does not register an offense for an escaped newline 330s does not register an offense for meta control characters 330s does not register an offense for a @-escaped cvar interpolation 330s does not register an offense for a meta character 330s does not register an offense for control characters 330s does not register an offense for an escaped delimiter 330s does not register an offense for an escaped cvar interpolation 330s does not register an offense for an escaped backslash 330s does not register an offense for an escaped interpolation 330s does not register an offense for an ascii DEL 330s does not register an offense for a newline 330s does not register an offense for a bracket-escaped interpolation 330s does not register an offense without escapes 330s registers an offense and corrects an escaped # at end-of-string 330s with a %q(...) literal 330s behaves like a literal without interpolation 330s does not register an offense for an escaped backslash 330s does not register an offense for an escaped ivar interpolation 330s does not register an offense for meta control characters 330s does not register a bracket-escaped lvar interpolation 330s does not register an offense for a bracket-escaped interpolation 330s does not register an offense for a technically-unnecessary escape 330s does not register an offense for an escaped gvar interpolation 330s does not register an offense for an escaped interpolation 330s does not register an offense for a @-escaped ivar interpolation 330s does not register an offense for an ascii DEL 330s does not register an offense for multiple unicode escapes 330s does not register an offense for an allowed escape inside multi-line literal 330s does not register an offense for control characters 330s does not register an offense for an escaped newline 330s does not register an offense for an escaped cvar interpolation 330s does not register an offense for an escaped # followed { 330s does not register an offense for an escaped delimiter 330s does not register an offense for a @-escaped cvar interpolation 330s does not register an offense with escaped # at end-of-string 330s does not register an offense with escaped double quote 330s does not register an offense for a $-escaped gvar interpolation 330s does not register an offense for a unicode escape 330s does not register an offense without escapes 330s does not register an offense for an escaped # with following { 330s does not register an offense with escaped # without following { 330s does not register an offense for a hex escape 330s does not register an offense for a meta character 330s does not register an offense with escaped single quote 330s does not register an offense for an escaped delimiter before interpolation 330s does not register an offense for a newline 330s does not register an offense for an octal escape 330s with a %(...) literal 330s behaves like a literal with interpolation 330s does not register an offense for an escaped backslash 330s does not register an offense for a technically-unnecessary escape 330s does not register an offense for an octal escape 330s does not register an offense for a newline 330s does not register an offense for an escaped delimiter before interpolation 330s registers an offense and corrects an escaped single quote 330s registers an offense and corrects an escaped # before interpolation 330s does not register an offense for an escaped # followed { 330s does not register an offense for a bracket-escaped interpolation 330s does not register an offense for meta control characters 330s registers an offense and corrects an escaped # without following { 330s does not register an offense for an escaped newline 330s does not register an offense for control characters 330s registers an offense and corrects an escaped # at end-of-string 330s does not register an offense for an escaped interpolation 330s does not register an offense for an escaped gvar interpolation 330s does not register an offense for an ascii DEL 330s does not register an offense for an escaped delimiter 330s registers an offense and corrects an escaped double quote 330s does not register an offense for a meta character 330s does not register an offense for multiple unicode escapes 330s does not register an offense for an escaped ivar interpolation 330s does not register an offense for a unicode escape 330s registers an offense and corrects a escaped nested delimiter in a double quoted string 330s does not register an offense for a $-escaped gvar interpolation 330s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 330s does not register a bracket-escaped lvar interpolation 330s does not register an offense for a @-escaped cvar interpolation 330s does not register an offense for an escaped cvar interpolation 330s does not register an offense without escapes 330s does not register an offense for a @-escaped ivar interpolation 330s does not register an offense for a hex escape 330s with a %w(...) literal 330s does not register an offense for escaped spaces 330s behaves like a literal without interpolation 330s does not register an offense with escaped # without following { 330s does not register an offense for a technically-unnecessary escape 330s does not register an offense for an escaped ivar interpolation 330s does not register an offense for an escaped delimiter 330s does not register an offense for an escaped backslash 330s does not register an offense for an escaped cvar interpolation 330s does not register an offense for an octal escape 330s does not register an offense for an allowed escape inside multi-line literal 330s does not register an offense for an escaped newline 330s does not register an offense for a bracket-escaped interpolation 330s does not register an offense for control characters 330s does not register an offense for meta control characters 330s does not register an offense for a $-escaped gvar interpolation 330s does not register an offense for a unicode escape 330s does not register an offense for a hex escape 330s does not register an offense for multiple unicode escapes 330s does not register an offense for an escaped interpolation 330s does not register an offense for an escaped # with following { 330s does not register an offense for an escaped gvar interpolation 330s does not register a bracket-escaped lvar interpolation 330s does not register an offense for an escaped # followed { 330s does not register an offense for an escaped delimiter before interpolation 330s does not register an offense for a newline 330s does not register an offense without escapes 330s does not register an offense for a meta character 330s does not register an offense for a @-escaped ivar interpolation 330s does not register an offense for a @-escaped cvar interpolation 330s does not register an offense for an ascii DEL 330s does not register an offense with escaped single quote 330s does not register an offense with escaped # at end-of-string 330s does not register an offense with escaped double quote 330s with a %Q(...) literal 330s behaves like a literal with interpolation 330s registers an offense and corrects an escaped # without following { 330s registers an offense and corrects an escaped # before interpolation 330s does not register an offense for a newline 330s does not register an offense for a meta character 330s does not register an offense for an escaped delimiter before interpolation 330s does not register an offense for an escaped delimiter 330s registers an offense and corrects an escaped # at end-of-string 330s registers an offense and corrects an escaped single quote 330s does not register an offense for a hex escape 330s registers an offense and corrects a escaped nested delimiter in a double quoted string 330s does not register a bracket-escaped lvar interpolation 330s does not register an offense for an escaped backslash 330s does not register an offense for an ascii DEL 330s does not register an offense without escapes 330s does not register an offense for a @-escaped cvar interpolation 330s does not register an offense for an escaped ivar interpolation 330s does not register an offense for a unicode escape 330s does not register an offense for a @-escaped ivar interpolation 330s does not register an offense for a $-escaped gvar interpolation 330s does not register an offense for an escaped interpolation 330s does not register an offense for an escaped gvar interpolation 330s does not register an offense for control characters 330s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 330s does not register an offense for a bracket-escaped interpolation 330s registers an offense and corrects an escaped double quote 330s does not register an offense for a technically-unnecessary escape 330s does not register an offense for an octal escape 330s does not register an offense for multiple unicode escapes 330s does not register an offense for an escaped newline 330s does not register an offense for an escaped cvar interpolation 330s does not register an offense for meta control characters 330s does not register an offense for an escaped # followed { 330s with an interpolation-disabled HEREDOC 330s behaves like a literal without interpolation 330s does not register an offense for an allowed escape inside multi-line literal 330s does not register an offense for a hex escape 330s does not register an offense for an escaped backslash 330s does not register an offense for a unicode escape 330s does not register an offense for an escaped newline 330s does not register an offense for an escaped # with following { 330s does not register an offense for a meta character 330s does not register an offense without escapes 330s does not register an offense for a @-escaped cvar interpolation 330s does not register an offense with escaped double quote 330s does not register an offense for a bracket-escaped interpolation 330s does not register an offense for an escaped ivar interpolation 330s does not register a bracket-escaped lvar interpolation 330s does not register an offense for a $-escaped gvar interpolation 330s does not register an offense for an escaped cvar interpolation 330s does not register an offense for an escaped # followed { 330s does not register an offense for an octal escape 330s does not register an offense for control characters 330s does not register an offense for a @-escaped ivar interpolation 330s does not register an offense for an ascii DEL 330s does not register an offense for an escaped gvar interpolation 330s does not register an offense for an escaped interpolation 330s does not register an offense for a newline 330s does not register an offense for multiple unicode escapes 330s does not register an offense for meta control characters 330s does not register an offense with escaped # at end-of-string 330s does not register an offense with escaped # without following { 330s does not register an offense for a technically-unnecessary escape 330s does not register an offense with escaped single quote 330s 330s RuboCop::Cop::Gemspec::DeprecatedAttributeAssignment 330s behaves like deprecated attributes 330s registers and corrects an offense when using `spec.rubygems_version =` 330s does not register an offense when using `s.rubygems_version =` outside `Gem::Specification.new` 330s registers and corrects an offense when using `s.rubygems_version =` 330s does not register an offense when using `rubygems_version =` and receiver is not `Gem::Specification.new` block variable 330s behaves like deprecated attributes with addition 330s registers and corrects an offense when using `s.rubygems_version +=` 330s registers and corrects an offense when using `spec.rubygems_version +=` 330s behaves like deprecated attributes 330s does not register an offense when using `s.rubygems_version =` outside `Gem::Specification.new` 330s registers and corrects an offense when using `s.rubygems_version =` 330s registers and corrects an offense when using `spec.rubygems_version =` 330s does not register an offense when using `rubygems_version =` and receiver is not `Gem::Specification.new` block variable 330s behaves like deprecated attributes 330s does not register an offense when using `s.rubygems_version =` outside `Gem::Specification.new` 330s registers and corrects an offense when using `spec.rubygems_version =` 330s registers and corrects an offense when using `s.rubygems_version =` 330s does not register an offense when using `rubygems_version =` and receiver is not `Gem::Specification.new` block variable 330s behaves like deprecated attributes 330s registers and corrects an offense when using `spec.rubygems_version =` 330s does not register an offense when using `rubygems_version =` and receiver is not `Gem::Specification.new` block variable 330s does not register an offense when using `s.rubygems_version =` outside `Gem::Specification.new` 330s registers and corrects an offense when using `s.rubygems_version =` 330s 330s RuboCop::Cop::EnforceSuperclass 330s registers an offense for top-level constant ::Class.new definition 330s registers an offense for model defined using top-level 330s registers an offense for models that subclass ::ActiveRecord::Base 330s registers an offense for Class.new definition 330s registers an offense for single-line definitions 330s registers an offense for models that subclass ActiveRecord::Base 330s when MyModel subclasses ApplicationRecord 330s behaves like no offense 330s registers no offenses for `MyModel = Class.new(ApplicationRecord) do 330s end 330s MyModel = Class.new(ApplicationRecord) 330s ` 330s behaves like no offense 330s registers no offenses for `class MyModel < ApplicationRecord; end` 330s behaves like no offense 330s registers no offenses for `class MyModel < ::ApplicationRecord; end` 330s behaves like no offense 330s registers no offenses for `MyModel = ::Class.new(::ApplicationRecord) do 330s end 330s MyModel = ::Class.new(::ApplicationRecord) 330s ` 330s when ApplicationRecord subclasses ActiveRecord::Base 330s behaves like no offense 330s registers no offenses for `class ApplicationRecord < ActiveRecord::Base; end` 330s behaves like no offense 330s registers no offenses for `ApplicationRecord = Class.new(ActiveRecord::Base) do; end 330s ` 330s behaves like no offense 330s registers no offenses for `class ::ApplicationRecord < ActiveRecord::Base; end` 330s behaves like no offense 330s registers no offenses for `::ApplicationRecord = ::Class.new(::ActiveRecord::Base) 330s ` 330s behaves like no offense 330s registers no offenses for `::ApplicationRecord = ::Class.new(::ActiveRecord::Base) do; end 330s ` 330s behaves like no offense 330s registers no offenses for `ApplicationRecord = Class.new(ActiveRecord::Base) 330s ` 330s behaves like no offense 330s registers no offenses for `::ApplicationRecord = Class.new(ActiveRecord::Base) do; end 330s ` 330s behaves like no offense 330s registers no offenses for `ApplicationRecord = Class.new(::ActiveRecord::Base) do; end 330s ` 330s 330s RuboCop::Cop::Style::OrAssignment 330s when using unless var; var = something; end 330s registers an offense for normal variables 330s registers an offense for instance variables 330s does not register an offense if any of the variables are different 330s registers an offense for class variables 330s registers an offense for global variables 330s when using `elsif` statement 330s does not register an offense 330s when using var = if var; var; else; something; end 330s does not register an offense if any of the variables are different 330s registers an offense with normal variables 330s registers an offense with global variables 330s registers an offense with instance variables 330s registers an offense with class variables 330s when using var = something unless var 330s registers an offense for normal variables 330s registers an offense for instance variables 330s registers an offense for global variables 330s registers an offense for class variables 330s does not register an offense if any of the variables are different 330s when using var = var ? var : something 330s registers an offense with normal variables 330s registers an offense with class variables 330s registers an offense with instance variables 330s does not register an offense if any of the variables are different 330s registers an offense with global variables 330s when `then` branch body is empty 330s registers an offense 330s 330s RuboCop::Cop::Style::MixinGrouping 330s when configured with separated style 330s when using `prepend` 330s registers an offense for several mixins in one call 330s when using `extend` 330s registers an offense for several mixins in one call 330s when using `include` 330s registers an offense for several mixins in separate calls 330s registers an offense for several mixins in one call 330s allows include call as an argument to another method 330s when using a mix of diffent methods 330s registers an offense for some calls having several mixins 330s when configured with grouped style 330s when using `prepend` 330s registers an offense for single mixins in separate calls 330s registers an offense for single mixins in separate calls, interspersed 330s registers an offense when other mixins have receivers 330s when using include 330s allows include with an explicit receiver 330s registers an offense for single mixins in separate calls 330s registers an offense for several mixins in separate calls 330s when using `extend` 330s registers an offense for single mixins in separate calls 330s when using a mix of diffent methods 330s registers an offense with some duplicated mixin methods 330s allows all different mixin methods 330s 330s RuboCop::Cop::Metrics::CyclomaticComplexity 330s when Max is 1 330s deals with nested if blocks containing && and || 330s registers an offense for an elsif block 330s does not count blocks in general 330s registers an offense for or 330s registers an offense for &&= 330s accepts an empty method 330s accepts an empty `define_method` 330s registers an offense for a case/when block 330s counts enumerating methods with block-pass as +1 330s registers an offense for an if modifier 330s registers an offense for a `define_method` 330s counts enumerating methods with blocks as +1 330s registers an offense for a rescue block 330s registers an offense for an unless modifier 330s registers an offense for || 330s registers an offense for and 330s registers an offense for a for block 330s registers an offense for && 330s registers an offense for an until block 330s registers an offense for a ternary operator 330s accepts complex code outside of methods 330s accepts a method with no decision points 330s registers an offense for ||= 330s registers an offense for a while block 330s counts repeated &. on same untouched local variable as 1 330s registers an offense for &. 330s counts only a single method 330s Ruby 2.7 330s counts enumerating methods with numblocks as +1 330s when AllowedMethods is enabled 330s does not register an offense when using `define_method` 330s does not register an offense when defining an instance method 330s does not register an offense when defining a class method 330s when AllowedPatterns is enabled 330s does not register an offense when defining an instance method 330s does not register an offense when defining a class method 330s does not register an offense when using `define_method` 330s when Max is 2 330s counts stupid nested if and else blocks 330s 330s RuboCop::Cop::Lint::DuplicateMagicComment 330s does not register an offense when encoding and frozen magic comments are not duplicated 330s registers an offense when encoding and frozen magic comments are duplicated 330s does not register an offense when encoding magic comments are not duplicated 330s does not register an offense when frozen magic comments are not duplicated 330s registers an offense when same encoding magic comments are duplicated 330s registers an offense when frozen magic comments are duplicated 330s registers an offense when different encoding magic comments are duplicated 330s 330s RuboCop::Cop::Naming::RescuedExceptionsVariableName 330s with the `PreferredName` setup 330s registers an offense when using `e` 330s does not register an offense when using `exception` 330s does not register an offense when using `_exception` 330s registers offenses when using `foo` and `bar` in multiple rescues 330s registers an offense when using `_e` 330s with default config 330s when the variable is reassigned using multiple assignment 330s only corrects uses of the exception 330s with variable being referenced 330s renames the variable references when autocorrecting 330s with multiple branches 330s registers and corrects each offense 330s with implicit rescue 330s with `Exception` variable 330s does not register an offense when using `e` 331s registers an offense when using `_exc` 331s does not register an offense when using `_e` 331s registers an offense when using `exc` 331s without `Exception` variable 331s does not register an offense 331s with explicit rescue 331s without `Exception` variable 331s does not register an offense 331s with `Exception` variable 331s does not register an offense when using `e` 331s registers an offense when using `exc` 331s registers an offense when using `exc` and renames its usage 331s registers an offense when using `_exc` 331s does not register an offense when using _e followed by e 331s registers offenses when using `foo` and `bar` in multiple rescues 331s does not register an offense when using `_e` 331s shadowing an external variable 331s does not register an offense 331s with method as `Exception` 331s does not register an offense with expected variable name 331s registers an offense with unexpected variable name 331s does not register an offense without variable name 331s with lower letters class name 331s does not register an offense 331s with splat operator as `Exception` list 331s does not register an offense with expected variable name 331s does not register an offense without variable name 331s registers an offense with unexpected variable name 331s when the variable is reassigned 331s only corrects uses of the exception 331s only corrects the exception variable 331s with nested rescues 331s handles it 331s 331s RuboCop::Cop::Style::Strip 331s registers an offense for str.lstrip.rstrip 331s registers an offense for str.rstrip.lstrip 331s 331s RuboCop::Cop::Style::DoubleNegation 331s when `EnforcedStyle: allowed_in_returns` 331s registers an offense and corrects for `!!` with nested hash at return location 331s registers an offense and corrects for `!!` with nested array at return location 331s does not register an offense for `!!` when return location and using `rescue` and `ensure` 331s does not register an offense for `!!` with array when return location and using `if`, `elsif`, and `else` 331s does not register an offense for `!!` with array when return location and using `case`, `when`, and `else` 331s does not register an offense for `!!` when return location and using `ensure` 331s does not register an offense for `!!` when return location and using `unless` 331s does not register an offense for `!!` when return location by `define_singleton_method` 331s does not register an offense for `!!` when return location by `define_method` 331s does not register an offense for ! 331s registers an offense and corrects for `!!` 331s registers an offense and corrects for `!!` with array when not return locationand using `case`, `when`, and `else` 331s registers an offense and corrects for `!!` when not return locationand using `case`, `when`, and `else` 331s registers an offense and corrects for `!!` with hash when not return locationand using `case`, `when`, and `else` 331s registers an offense and corrects for `!!` with multi-line hash at return location 331s registers an offense and corrects for `!!` with single-line hash at return location 331s does not register an offense for `!!` when return location 331s registers an offense and corrects for `!!` when not return locationand using `if`, `elsif`, and `else` 331s does not register an offense for `!!` when return location and using `rescue` 331s does not register an offense for `!!` with hash when return location and using `if`, `elsif`, and `else` 331s registers an offense and corrects for `!!` when not return location and using `unless` 331s registers an offense and corrects for `!!` with hash when not return locationand using `if`, `elsif`, and `else` 331s does not register an offense for `!!` when using `return` keyword 331s registers an offense and corrects for `!!` with array when not return locationand using `if`, `elsif`, and `else` 331s does not register an offense for `not not` 331s does not register an offense for `!!` when return location and using `if`, `elsif`, and `else` 331s does not register an offense for `!!` with hash when return location and using `case`, `when`, and `else` 331s does not register an offense for `!!` when return location and using `rescue`, `else`, and `ensure` 331s does not register an offense for `!!` when return location and using `case`, `when`, and `else` 331s registers an offense and corrects for `!!` with complex array at return location 331s registers an offense and corrects for `!!` when not a return location 331s registers an offense and corrects for `!!` with single-line array at return location 331s registers an offense and corrects for `!!` with multi-line array at return location 331s Ruby >= 2.7 331s does not register an offense for `!!` when return location and using `case`, `in`, and `else` 331s Ruby >= 2.7 331s registers an offense and corrects for `!!` when not return locationand using `case`, `in`, and `else` 331s when `EnforcedStyle: forbidden` 331s registers an offense for `!!` when return location and using `rescue` and `ensure` 331s registers an offense for `!!` when return location and using `ensure` 331s registers an offense and corrects for `!!` when return location 331s does not register an offense for ! 331s registers an offense and corrects for `!!` when not a return location 331s registers an offense and corrects for `!!` when using `return` keyword 331s registers an offense for `!!` when return location and using `rescue` 331s registers an offense for `!!` when return location and using `rescue`, `else`, and `ensure` 331s does not register an offense for `not not` 331s registers an offense and corrects for `!!` 331s 331s RuboCop::Cop::Team 331s #cops 331s returns cop instances 331s when only some cop classes are passed to .new 331s returns only instances of the classes 331s when some classes are disabled with config 331s does not return instances of the classes 331s #inspect_file 331s returns offenses 331s when autocorrection is enabled and file encoding is mismatch 331s no error occurs 331s when Parser reports non-fatal warning for the file 331s returns Parser warning offenses 332s returns offenses from cops 332s when a cop has no interest in the file 332s returns all offenses except the ones of the cop 332s when a correction raises an error 332s records Team#errors 332s when done twice 332s allows cops to get ready 332s when autocorrection is enabled 332s still returns offenses 332s does autocorrection 332s when Cop#on_* raises an error 332s records Team#errors 332s #forces 332s returns force instances 332s when multiple cops joined a same force 332s returns only one force instance 332s when no cops joined force 332s returns nothing 332s when a cop joined a force 333s returns the force 333s #external_dependency_checksum 333s does not error with no cops 333s when a cop joins 333s returns string 333s when cop with different checksum joins 333s has a different checksum for the whole team 333s when multiple cops join 333s returns string 333s #debug? 333s when { debug: true } is passed to .new 333s is expected to be truthy 333s when the option argument of .new is omitted 333s is expected to be falsey 333s .new 333s accepts cops directly classes 334s calls mobilize when passed classes 334s #autocorrect? 334s when { autocorrect: true } is passed to .new 334s is expected to be truthy 334s when the option argument of .new is omitted 334s is expected to be falsey 334s when incompatible cops are correcting together 334s autocorrects without SyntaxError 334s 334s RuboCop::Cop::Style::RedundantCondition 334s when regular condition (if) 334s accepts elsif 334s accepts different when the condition does not match the branch 334s when condition and if_branch are same 334s does not register an offense when the branches are the same with different receivers 334s registers an offense and corrects when the branches contains method call with braced hash 334s registers an offense and corrects complex one liners 334s registers an offense and corrects multiline nodes 334s registers an offense and corrects when the branches contains parenthesized method call 334s registers an offense and corrects when a method without argument parentheses in `else` 334s registers an offense and correct when the branches are the same with the same receivers 334s registers an offense and corrects when the branches contains assignment method 334s registers an offense and corrects when `if` condition and `then` branch are the same and it has no `else` branch 334s registers an offense and corrects when the branches contains assignment 334s does not register an offense when using assignment by hash key access 334s registers an offense and corrects when using operator method in `else` 334s registers an offense and corrects when the branches contains method call 334s registers an offense and corrects when the branches contains method call with non-braced hash 334s registers an offense and corrects modifier nodes offense 334s does not register offenses when the branches contains assignment but target not matched 334s registers an offense and corrects when using modifier if 334s registers an offense and corrects when defined inside method and the branches contains assignment 334s accepts complex else branches 334s does not register offenses when the branches contains hash key access 334s registers an offense and corrects when `raise` without argument parentheses in `else` 334s accepts when using ternary if in `else` branch 334s registers an offense and corrects 334s does not register offenses when using `nil?` and the branches contains method which has multiple arguments 334s autocorrects when using `<<` method higher precedence than `||` operator 334s registers an offense and corrects when the branches contains arithmetic operation 334s does not register offenses when using `nil?` and the branches contains assignment 334s accepts an elsif branch 334s registers an offense and corrects when the else branch contains an irange 334s when inverted condition (unless) 334s registers no offense 334s when condition and else branch are same 334s accepts complex unless branches 334s registers an offense 334s ternary expression (?:) 334s accepts expressions when the condition and if branch do not match 334s when condition and if_branch are same 334s registers an offense and corrects nested vars 334s registers an offense and corrects brackets accesses 334s registers an offense and corrects when the else branch contains `rescue` 334s registers an offense and corrects with ternary expression and the branches contains parenthesized method call 334s registers an offense and corrects with ternary expression and the branches contains chained parenthesized method call 334s registers an offense and corrects functions 334s registers an offense and corrects when the else branch contains an erange 334s registers an offense and corrects when the else branch contains `and` 334s registers an offense and corrects 334s registers an offense and corrects class vars 334s registers an offense and corrects when the else branch contains an irange 334s 334s isolated environment 334s is not affected by a config file above the work directory 334s 334s RuboCop::Cop::Layout::SpaceAroundBlockParameters 334s when EnforcedStyleInsidePipes is space 334s registers an offense and corrects no space after last parameter 334s registers an offense and corrects a lambda for no space after last parameter 334s registers an offense and corrects a lambda for extra spacebefore first parameter 334s registers an offense and corrects a lambda for multiple spacesafter last parameter 334s registers an offense and corrects multiple spaces after last parameter 334s accepts an empty block 334s registers an offense and corrects missing space before first argument and after last argument 334s accepts a lambda with spaces in the right places 334s registers an offense for no space before first parameter 334s accepts line break after closing pipe 334s registers an offense and corrects spacing in lambda args 334s registers an offense and corrects block arguments inside Hash#each 334s registers an offense and corrects multiple spaces before parameter 334s accepts a block with parameters but no body 334s registers an offense and corrects no space after closing pipe 334s skips lambda without parens 334s registers an offense and corrects space with parens at middle 334s accepts a block with spaces in the right places 334s accepts a block parameter without preceding space 334s registers an offense and corrects a lambda for no space before first parameter 334s skips lambda without args 334s registers an offense and corrects extra space before first parameter 334s trailing comma 334s accepts space after the last comma 334s accepts space both before and after the last comma 334s registers an offense and corrects no space after the last comma 334s when EnforcedStyleInsidePipes is no_space 334s accepts a block with parameters but no body 334s accepts line break after closing pipe 334s accepts an empty block 334s accepts a lambda with spaces in the right places 334s registers an offense and corrects all types of spacing issues 334s skips lambda without args 334s registers an offense and corrects a lambda for space before first parameter 334s registers an offense and corrects no space after closing pipe 334s accepts a block parameter without preceding space 334s skips lambda without parens 334s registers an offense and corrects all types of spacing issues for a lambda 334s registers an offense and corrects space before first parameter 334s registers an offense and corrects multiple spaces before parameter 334s registers an offense and corrects space after last parameter 334s registers an offense and corrects for space with parens 334s accepts block parameters with surrounding space that includes line breaks 334s accepts a block with spaces in the right places 334s registers an offense and corrects a lambda for space after the last parameter 334s trailing comma 334s registers an offense for space after the last comma 334s registers an offense for space before and after the last comma 334s 334s RuboCop::Cop::Style::FileWrite 334s registers an offense for and corrects `::File.open(filename, 'w').write(content)` 334s does not register an offense for the `File.open` with multiline write block when not writing to the block variable 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'wt') with heredoc 334s registers an offense for and corrects `File.open(filename, 'wb').write(content)` 334s registers an offense for and corrects `::File.open(filename, 'wt').write(content)` 334s registers an offense for and corrects `::File.open(filename, 'wb').write(content)` 334s registers an offense for and corrects `File.open(filename, 'wt').write(content)` 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+') with heredoc 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+t') with heredoc 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'wt') 334s registers an offense for and corrects the `File.open` with inline write block (mode 'wt') 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'wb') 334s registers an offense for and corrects the `File.open` with inline write block (mode 'w') 334s does not register an offense when a splat argument is passed to `f.write` 334s registers an offense for and corrects the `File.open` with inline write block (mode 'w+t') 334s registers an offense for and corrects `File.open(filename, 'w').write(content)` 334s registers an offense for and corrects `File.open(filename, 'w+b').write(content)` 334s registers an offense for and corrects `::File.open(filename, 'w+').write(content)` 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+b') 334s registers an offense for and corrects the `File.open` with inline write block (mode 'w+b') 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+b') with heredoc 334s registers an offense for and corrects `::File.open(filename, 'w+b').write(content)` 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'wb') with heredoc 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+t') 334s registers an offense for and corrects `File.open(filename, 'w+t').write(content)` 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+') 334s registers an offense for and corrects the `File.open` with inline write block (mode 'wb') 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'w') 334s registers an offense for and corrects the `File.open` with multiline write block (mode 'w') with heredoc 334s registers an offense for and corrects the `File.open` with inline write block (mode 'w+') 334s registers an offense for and corrects `::File.open(filename, 'w+t').write(content)` 334s registers an offense for and corrects `File.open(filename, 'w+').write(content)` 334s 334s RuboCop::Cop::Style::NestedTernaryOperator 334s registers an offense and corrects for a nested ternary operator expression with no parentheses on the outside 334s registers an offense and corrects for a nested ternary operator expression 334s accepts a non-nested ternary operator within an if 334s registers an offense and corrects for a nested ternary operator expression with block 334s can handle multiple nested ternaries 334s 334s RuboCop::Cop::Lint::AmbiguousOperator 334s with `-` unary operator in the first argument 334s without parentheses 334s with a whitespace on the right of the operator 334s does not register an offense 334s without whitespaces on the right of the operator 334s registers an offense and corrects 334s with parentheses around the operator 334s does not register an offense 334s with a keyword splat operator in the first argument 334s without parentheses 334s with a whitespace on the right of the operator 334s does not register an offense 334s without whitespaces on the right of the operator 334s registers an offense and corrects 334s with parentheses around the keyword splat operator 334s does not register an offense 334s with a block ampersand in the first argument 334s with parentheses around the block argument 334s does not register an offense 334s without parentheses 334s with a whitespace on the right of the operator 334s does not register an offense 334s without whitespaces on the right of the operator 334s registers an offense and corrects 334s with `+` unary operator in the first argument 334s with parentheses around the operator 334s does not register an offense 334s without parentheses 334s without whitespaces on the right of the operator when a method with no arguments is used in advance 334s registers an offense and corrects 334s with a whitespace on the right of the operator 334s does not register an offense 334s without whitespaces on the right of the operator 334s registers an offense and corrects 334s when using safe navigation operator with a unary operator 334s does not register an offense 334s with a splat operator in the first argument 334s with parentheses around the splatted argument 334s does not register an offense 334s without parentheses 334s with a whitespace on the right of the operator 334s does not register an offense 334s without whitespaces on the right of the operator 334s registers an offense and corrects 334s 334s RuboCop::Cop::Lint::Syntax 334s .offenses_from_processed_source 334s with a diagnostic error 334s returns an offense 334s with --display-cop-names option 334s returns an offense with cop name 334s with --autocorrect --disable-uncorrectable options 334s returns an offense 334s with a parser error 334s returns an offense 334s with --display-cop-names option 334s returns an offense with cop name 334s 334s RuboCop::Cop::Style::StringMethods 334s registers an offense 334s when using safe navigation operator 334s registers an offense 334s 334s RuboCop::Cop::Style::NumericPredicate 334s when configured to enforce numeric comparison methods 334s registers an offense for checking if a number is positive 334s registers an offense for checking if a number is negative 334s allows checking if a number is not zero 334s registers an offense for checking if a number is zero 334s when configured to enforce numeric predicate methods 334s when checking if a number is zero 334s registers an offense with a complex expression 334s registers an offense 334s allows comparing against a global variable 334s when comparing against a method argument variable 334s registers an offense 335s registers an offense with complex expression 335s when checking if a number is negative 335s when target ruby version is 2.3 or higher 335s registers an offense 335s registers an offense in yoda condition 335s with a complex expression 335s registers an offense in yoda condition 335s registers an offense 335s when target ruby version is 2.2 or lower 335s does not register an offense 335s with checking if a number is not zero 335s allows comparing against a complex expression 335s allows comparing against a global variable 335s allows comparing against a variable 335s when checking if a number is positive 335s when target ruby version is 2.2 or lower 335s does not register an offense 335s when target ruby version is 2.3 or higher 335s registers an offense in yoda condition 335s registers an offense 335s with a complex expression 335s registers an offense in yoda condition 335s registers an offense 335s when there are allowed methods 335s simple method call 335s `EnforcedStyle` is `predicate` 335s allows checking if a number is zero 335s `EnforcedStyle` is `comparison` 335s allows checking if a number is zero 335s in argument 335s not ignored method 335s when checking if a number is positive 335s when target ruby version is 2.2 or lower 335s does not register an offense 335s when target ruby version is 2.3 or higher 335s registers an offense 335s when checking if a number is negative 335s when target ruby version is 2.2 or lower 335s does not register an offense 335s when target ruby version is 2.3 or higher 335s registers an offense 335s ignored method 335s with a string 335s allows checking if a number is negative 335s allows checking if a number is positive 335s with a regex 335s allows checking if a number is positive 335s allows checking if a number is negative 335s in block 335s not ignored method 335s registers an offense for checking if a number is positive 335s registers an offense for checking if a number is negative 335s ignored method 335s with a string 335s allows checking if a number is positive 335s allows checking if a number is negative 335s with a regex 335s allows checking if a number is positive 335s allows checking if a number is negative 335s 335s RuboCop::Cop::Style::TrailingCommaInBlockArgs 335s do/end block format 335s registers an offense when a trailing comma is not needed 335s does not register an offense for keyword arguments 335s does not register an offense for default arguments 335s does not register an offense when no arguments are present 335s does not register an offense when a trailing comma is required 335s preserves semicolons in block/local variables 335s ignores commas in default argument strings 335s does not register an offense for an empty block 335s does not register an offense when more than one argument is present with no trailing comma 335s curly brace block format 335s does not register an offense for default arguments 335s ignores commas in default argument strings 335s registers an offense when a trailing comma is not needed 335s does not register an offense when no arguments are present 335s does not register an offense for keyword arguments 335s does not register an offense when more than one argument is present with no trailing comma 335s does not register an offense when a trailing comma is required 335s preserves semicolons in block/local variables 335s when `lambda` has multiple arguments 335s registers an offense and corrects when a trailing comma isn't needed 335s does not register an offense when more than one argument is present with no trailing comma 335s when `->` has multiple arguments 335s does not register an offense 335s 335s RuboCop::Cop::Style::EmptyMethod 335s when configured with compact style 335s with a non-empty class method definition 335s allows single line method 335s allows multi line method with comment 335s allows multi line method 335s with a non-empty instance method definition 335s allows single line method 335s allows multi line method with comment 335s allows multi line method 335s with an empty class method definition 335s registers an offense for empty method with arguments 335s registers an offense for empty method 335s registers an offense for method with blank line 335s allows single line method 335s with an empty instance method definition 335s registers an offense for method with closing paren on following line 335s registers an offense for empty method 335s registers an offense for method with blank line 335s registers an offense for method with arguments 335s registers an offense for method with arguments without parens 335s allows single line method 335s relation with Layout/LineLength 335s when that cop is disabled 335s corrects to long lines 335s when the correction would exceed the configured maximum 335s reports an offense but does not correct 335s when configured with expanded style 335s relation with Layout/LineLength 335s still corrects even if the method is longer than the configured Max 335s with an empty class method definition 335s allows empty multi line method 335s registers an offense for single line method 335s allows multi line method with a blank line 335s with a non-empty class method definition 335s allows single line method 335s allows multi line method with comment 335s allows multi line method 335s when method is nested in class scope 335s registers an offense for single line method 335s with a non-empty instance method definition 335s allows multi line method with a comment 335s allows multi line method 335s allows single line method 335s with an empty instance method definition 335s allows multi line method 335s allows multi line method with blank line 335s registers an offense for single line method 335s 335s RuboCop::Cop::Style::SymbolArray 335s with non-default MinSize 335s does not autocorrect array of one symbol if MinSize > 1 335s when EnforcedStyle is percent 335s detects when the cop must be disabled to avoid offenses 335s autocorrects arrays of symbols with embedded newlines and tabs 335s doesn't break when a symbol contains ) 335s detects right value for MinSize to use for --auto-gen-config 335s registers an offense for arrays of symbols 335s does not register an offense for array starting with %i 335s registers an offense in a non-ambiguous block context 335s does not register an offense for array with non-syms 335s autocorrects arrays of symbols with new line 335s uses %I when appropriate 335s autocorrects arrays of one symbol 335s does not register an offense if symbol contains whitespace 335s when PreferredDelimiters is specified 335s autocorrects an array in multiple lines 335s autocorrects an array with delimiters 335s autocorrects an array using partial newlines 335s when EnforcedStyle is brackets 335s registers an offense for array starting with %i 335s autocorrects an array has interpolations 335s autocorrects an array starting with %i 335s autocorrects multiline %i array 335s registers an offense for empty array starting with %i 335s does not register an offense for arrays of symbols 335s 335s RuboCop::Cop::Style::AsciiComments 335s registers an offense for a comment with non-ascii chars 335s registers an offense for comments with mixed chars 335s accepts comments with only ascii chars 335s when certain non-ascii chars are allowed 335s registers an offense for comments with non-allowed non-ascii chars 335s accepts comment with allowed non-ascii chars 335s 335s RuboCop::Formatter::AutoGenConfigFormatter 335s #report_file_as_mark 335s when different severity offenses are detected 335s prints highest level mark 335s when a refactor convention offense is detected 335s prints "C" 335s when no offenses are detected 335s prints "." 335s when a refactor severity offense is detected 335s prints "R" 335s #finished 335s calls #report_summary 335s when any offenses are detected 335s outputs report summary 335s does not report offenses 335s when no offenses are detected 335s does not report offenses 335s 335s RuboCop::Cop::RangeHelp 335s source indicated by #range_with_surrounding_space 335s when passing range as a positional argument 335s behaves like works with various `side`s 335s when side is :left 335s is expected to eq " a(2)" 335s when side is :right 335s is expected to eq "a(2) " 335s when side is :both 335s is expected to eq " a(2) " 335s when passing range as a kwarg 335s behaves like works with various `side`s 335s when side is :left 335s is expected to eq " a(2)" 335s when side is :both 335s is expected to eq " a(2) " 335s when side is :right 335s is expected to eq "a(2) " 335s source indicated by #range_with_surrounding_comma 335s when side is :both 335s is expected to eq ",Error," 335s when side is :left 335s is expected to eq ",Error" 335s when side is :right 335s is expected to eq "Error," 335s source indicated by #range_by_whole_lines 335s with a whole line except newline selected 335s with include_final_newline 335s is expected to eq "puts 'example'\n" 335s without include_final_newline 335s is expected to eq "puts 'example'" 335s with a whole line plus beginning of next line 335s with include_final_newline 335s is expected to eq "puts 'example'\nputs 'another example'\n" 335s without include_final_newline 335s is expected to eq "puts 'example'\nputs 'another example'" 335s with end of one line 335s with include_final_newline 335s is expected to eq "puts 'example'\n" 335s without include_final_newline 335s is expected to eq "puts 'example'" 335s with parts of four lines 335s without include_final_newline 335s is expected to eq "puts 'example'\nputs 'another example'\n\nsomething_else" 335s with include_final_newline 335s is expected to eq "puts 'example'\nputs 'another example'\n\nsomething_else\n" 335s when part of a single line is selected 335s with include_final_newline 335s is expected to eq "puts 'example'\n" 335s without include_final_newline 335s is expected to eq "puts 'example'" 335s when source doesn't end with a newline 335s with include_final_newline 335s is expected to eq "newline_at_end" 335s is expected to eq 30 335s without include_final_newline 335s is expected to eq "newline_at_end" 335s with beginning of one line 335s with include_final_newline 335s is expected to eq "puts 'another example'\n" 335s without include_final_newline 335s is expected to eq "puts 'another example'" 335s with parts of two lines 335s with include_final_newline 335s is expected to eq "puts 'example'\nputs 'another example'\n" 335s without include_final_newline 335s is expected to eq "puts 'example'\nputs 'another example'" 335s #range_with_comments_and_lines 335s returns a range that includes related comments and whole lines 335s 335s RuboCop::Cop::Lint::EmptyFile 335s registers an offense when the file is empty 335s does not register an offense when the file contains comments 335s does not register an offense when the file contains code 335s when AllowComments is false 335s registers an offense when the file contains comments 335s 335s RuboCop::Cop::Layout::MultilineArrayBraceLayout 335s ignores empty arrays 335s ignores implicit arrays 335s ignores single-line arrays 335s behaves like multiline literal brace layout trailing comma 335s symmetrical style 335s opening brace on same line as first element 335s last element has a trailing comma 335s autocorrects closing brace on different line from last element 335s same_line style 335s opening brace on same line as first element 335s last element has a trailing comma 335s autocorrects closing brace on different line as last element 335s behaves like multiline literal brace layout method argument 335s when arguments to a method 335s but no comment after the last element 335s autocorrects the closing brace 335s and a comment after the last element 335s detects closing brace on separate line from last element 335s when comment present before closing brace 335s corrects closing brace without crashing 335s behaves like multiline literal brace layout 335s same_line style 335s opening brace on separate line from first element 335s detects closing brace on different line from last element 335s allows closing brace on same line as last multiline element 335s allows closing brace on same line as last element 335s opening brace on same line as first element 335s allows closing brace on same line from last element 335s detects closing brace on different line from multiline element 335s autocorrects closing brace on different line as last element 335s allows closing brace on same line as multi-line element 335s with a chained call on the closing brace 335s and a comment after the last element 335s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 335s but no comment after the last element 335s autocorrects the closing brace 335s heredoc 335s detects heredoc structures that are safe to add to 335s ignores heredocs that could share a last line 335s symmetrical style 335s opening brace on separate line from first element 335s allows closing brace on separate line from last multiline element 335s detects closing brace on same line as last element 335s allows closing brace on separate line from last element 335s opening brace on same line as first element 335s detects closing brace on different line from last element 335s allows closing brace on same line as last element 335s allows closing brace on same line as last multiline element 335s autocorrects closing brace on different line from last element 335s with a chained call on the closing brace 335s and a comment after the last element 335s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 335s but no comment after the last element 335s autocorrects the closing brace 335s new_line style 335s opening brace on same line as first element 335s allows closing brace on different line from multi-line element 335s autocorrects closing brace on same line as last element 335s detects closing brace on same line as last multiline element 335s allows closing brace on different line from last element 335s opening brace on separate line from first element 335s allows closing brace on separate line from last multiline element 335s detects closing brace on same line as last element 335s allows closing brace on separate line from last element 335s 335s RuboCop::Cop::Style::PreferredHashMethods 335s with enforced `verbose` style 335s accepts value? with no args 335s accepts key? with no args 335s registers an offense for value? with one arg 335s registers an offense for key? with one arg 335s with enforced `short` style 335s accepts has_value? with no args 335s registers an offense for has_value? with one arg 335s accepts has_key? with no args 335s registers an offense for has_key? with one arg 335s when using safe navigation operator 335s registers an offense for has_value? with one arg 335s 335s RuboCop::Cop::AlignmentCorrector 335s #correct 335s with large column deltas 335s with plain heredoc (<<) 335s behaves like heredoc indenter 335s does not change indentation of here doc bodies and end markers 335s with heredoc in backticks (<<``) 335s behaves like heredoc indenter 335s does not change indentation of here doc bodies and end markers 335s with single-line here docs 335s does not indent body and end marker 335s simple indentation 335s with a positive column delta 335s indents 335s with a negative column delta 335s outdents 335s within string literals 335s does not insert whitespace 335s 335s RuboCop::Cop::Lint::BinaryOperatorWithIdenticalOperands 335s registers an offense for `<=` with duplicate operands 335s registers an offense for `==` with duplicate operands 335s registers an offense for `!=` with duplicate operands 335s registers an offense for `<` with duplicate operands 335s does not register an offense for `>>` with duplicate operands 335s does not register an offense for `**` with duplicate operands 335s registers an offense for `-` with duplicate operands 335s registers an offense for `&&` with duplicate operands 335s registers an offense for `>` with duplicate operands 335s registers an offense for `^` with duplicate operands 335s registers an offense for `===` with duplicate operands 335s does not register an offense for `+` with duplicate operands 335s does not register an offense for `*` with duplicate operands 335s registers an offense for `=~` with duplicate operands 335s registers an offense for `||` with duplicate operands 335s registers an offense for `<=>` with duplicate operands 335s registers an offense for `>=` with duplicate operands 335s does not register an offense when using binary operator with different operands 335s registers an offense for `|` with duplicate operands 335s registers an offense for `%` with duplicate operands 335s does not crash on operator without any argument 335s does not register an offense when using arithmetic operator with numerics 335s registers an offense for `/` with duplicate operands 335s does not register an offense for `<<` with duplicate operands 335s 335s RuboCop::Cop::Style::AccessModifierDeclarations 335s when `group` is configured 335s does not offend when private is not inlined and has a comment 335s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 335s accepts when using only #{access_modifier} 335s does not offend when public is not inlined 335s does not registers an offense when using #{access_modifier} in a block 335s does not offend when public is not inlined and has a comment 335s accepts when using only #{access_modifier} 335s does not offend when protected is not inlined 335s does not registers an offense when using #{access_modifier} in a block 335s accepts when #{access_modifier} is a hash literal value 335s offends when module_function is inlined with a method 335s does not registers an offense when using #{access_modifier} in a block 335s accepts when #{access_modifier} is a hash literal value 335s accepts when using only #{access_modifier} 335s does not offend when protected is not inlined and has a comment 335s does not registers an offense when using #{access_modifier} in a block 335s does not offend when private is not inlined 335s offends when private is inlined with a method 335s offends when protected is inlined with a method 335s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 335s does not offend when module_function is not inlined 335s does not offend when module_function is not inlined and has a comment 335s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 335s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 335s accepts when #{access_modifier} is a hash literal value 335s accepts when using only #{access_modifier} 335s offends when public is inlined with a method 335s accepts when #{access_modifier} is a hash literal value 335s allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s when method is modified by inline modifier where group modifier already exists 335s registers and autocorrects an offense 335s when method is modified by inline modifier 335s registers and autocorrects an offense 335s when method is modified by inline modifier where group modifier already exists 335s registers and autocorrects an offense 335s when method has comments 335s registers and autocorrects an offense 335s when method has comments 335s registers and autocorrects an offense 335s when non-existent method is modified by inline modifier with disallowed symbol 335s registers an offense but does not autocorrect it 335s when method is modified by inline modifier 335s registers and autocorrects an offense 335s do not allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s when method has comments 335s registers and autocorrects an offense 335s when method is modified by inline modifier where group modifier already exists 335s registers and autocorrects an offense 335s when method is modified by inline modifier with disallowed symbol 335s registers and autocorrects an offense 335s when method is modified by inline modifier 335s registers and autocorrects an offense 335s allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s when method has comments 335s registers and autocorrects an offense 335s when method is modified by inline modifier with disallowed symbol 335s registers and autocorrects an offense 335s do not allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s when method is modified by inline modifier 335s registers and autocorrects an offense 335s do not allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s when non-existent method is modified by inline modifier with disallowed symbol 335s registers an offense but does not autocorrect it 335s when method is modified by inline modifier where group modifier already exists 335s registers and autocorrects an offense 335s when non-existent method is modified by inline modifier with disallowed symbol 335s registers an offense but does not autocorrect it 335s do not allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s when method is modified by inline modifier with disallowed symbol 335s registers and autocorrects an offense 335s when non-existent method is modified by inline modifier with disallowed symbol 335s registers an offense but does not autocorrect it 335s when method is modified by inline modifier with disallowed symbol 335s registers and autocorrects an offense 335s when `inline` is configured 335s does not offend when module_function is inlined with a symbol 335s offends when protected is not inlined and has a comment 335s does not offend when protected is inlined with a method 335s does not offend when private is inlined with a method 335s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 335s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 335s offends when public is not inlined and has a comment 335s does not offend when private is inlined with a symbol 335s does not offend when public is inlined with a symbol 335s offends when private is not inlined 335s accepts when #{access_modifier} is a hash literal value 335s does not offend when public is inlined with a method 335s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 335s accepts when #{access_modifier} is a hash literal value 335s offends when module_function is not inlined and has a comment 335s accepts when #{access_modifier} is a hash literal value 335s offends when protected is not inlined 335s accepts when #{access_modifier} is a hash literal value 335s does not offend when protected is inlined with a symbol 335s offends when module_function is not inlined 335s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 335s offends when private is not inlined and has a comment 335s offends when public is not inlined 335s does not offend when module_function is inlined with a method 335s when methods are modified by group modifier 335s registers and autocorrects an offense 335s do not allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s do not allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s when methods are modified by group modifier 335s registers and autocorrects an offense 335s when methods are modified by group modifier 335s registers and autocorrects an offense 335s allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s do not allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s do not allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s allow access modifiers on symbols 335s accepts when argument to #{access_modifier} is a symbol 335s when methods are modified by group modifier 335s registers and autocorrects an offense 335s 335s RuboCop::Cop::Style::FormatString 335s when enforced style is percent 335s accepts sprintf with 1 argument 335s registers an offense for format 335s registers an offense for format with 3 arguments 335s accepts format with 1 argument 335s accepts format without arguments 335s registers an offense for sprintf 335s registers an offense for sprintf with a hash argument 335s accepts String#% 335s registers an offense for format with a hash argument 335s registers an offense and corrects when using springf with second argument that uses an operator 335s accepts sprintf without arguments 335s registers an offense for sprintf with 3 arguments 335s when enforced style is format 335s does not register an offense for numbers 335s does not register an offense for ambiguous cases 335s works if the first operand contains embedded expressions 335s registers an offense for sprintf with 2 arguments 335s registers an offense for variable argument but does not autocorrect 335s registers an offense for something followed by a hash 335s registers an offense for sprintf 335s registers an offense for something followed by an array 335s does not autocorrect String#% with variable argument and assignment 335s registers an offense for a string followed by something 335s when enforced style is sprintf 335s registers an offense for format 335s does not register an offense for ambiguous cases 335s registers an offense for variable argument but does not autocorrect 335s registers an offense for format with 2 arguments 335s does not register an offense for numbers 335s works if the first operand contains embedded expressions 335s registers an offense for something followed by an array 335s registers an offense for a string followed by something 335s registers an offense for String#% with a hash argument 335s registers an offense for variable argument and assignment but does not autocorrect 335s 335s RuboCop::Formatter::FuubarStyleFormatter 335s #progressbar_color 335s initially 335s is green 335s when convention and error offenses are detected in a file 335s is red 335s when an error offense is detected in a file 335s is red 335s and then a convention offense is detected in the next file 335s is still red 335s when a offense is detected in a file and autocorrected 335s is green 335s when no offenses are detected in a file 335s is still green 335s when a convention offense is detected in a file 335s is yellow 335s #with_color 335s when color is disabled 335s outputs nothing 335s when color is enabled 335s outputs coloring sequence code at the beginning and the end 335s 335s RuboCop::Cop::Style::ClassVars 335s registers an offense for class variable set in class 335s registers an offense for class variable declaration 335s registers an offense for class variable set on class receiver 335s does not register an offense for class variable usage 335s 335s RuboCop::Cop::Style::EmptyElse 335s configured to warn on empty else 335s given an unless-statement 335s with an else-clause containing only the literal nil 335s doesn't register an offense 335s with an else-clause with side-effects 335s doesn't register an offense 335s with no else-clause 335s doesn't register an offense 335s with a completely empty else-clause 335s behaves like autocorrect 335s MissingElse is disabled 335s does autocorrection 335s MissingElse is both 335s does not autocorrect 335s MissingElse is case 335s does autocorrection 335s MissingElse is if 335s does not autocorrect 335s given an if-statement 335s in an if-statement 335s behaves like autocorrect 335s MissingElse is both 335s does not autocorrect 335s MissingElse is disabled 335s does autocorrection 335s MissingElse is case 335s does autocorrection 335s MissingElse is if 335s does not autocorrect 335s with an else-clause containing only the literal nil 335s doesn't register an offense 335s with an empty comment 335s does not autocorrect 335s with a completely empty else-clause 335s using semicolons 335s behaves like autocorrect 335s MissingElse is both 335s does not autocorrect 335s MissingElse is disabled 335s does autocorrection 335s MissingElse is if 335s does not autocorrect 335s MissingElse is case 335s does autocorrection 335s not using semicolons 335s behaves like autocorrect 335s MissingElse is both 335s does not autocorrect 335s MissingElse is if 335s does not autocorrect 335s MissingElse is disabled 335s does autocorrection 335s MissingElse is case 335s does autocorrection 335s with an else-clause with side-effects 335s doesn't register an offense 335s with no else-clause 335s doesn't register an offense 335s given a case statement 335s with a completely empty else-clause 335s behaves like autocorrect 335s MissingElse is if 335s does autocorrection 335s MissingElse is case 335s does not autocorrect 335s MissingElse is both 335s does not autocorrect 335s MissingElse is disabled 335s does autocorrection 335s with an else-clause with side-effects 335s doesn't register an offense 335s with no else-clause 335s doesn't register an offense 335s with an else-clause containing only the literal nil 335s doesn't register an offense 335s with nested if and case statement 335s behaves like autocorrect 335s MissingElse is if 335s does autocorrection 335s MissingElse is disabled 335s does autocorrection 335s MissingElse is both 335s does not autocorrect 335s MissingElse is case 335s does not autocorrect 335s configured to warn on nil in else 335s given a case statement 335s with an else-clause with side-effects 336s doesn't register an offense 336s with no else-clause 336s doesn't register an offense 336s with an else-clause containing only the literal nil 336s when the result is assigned to a variable 336s behaves like autocorrect 336s MissingElse is case 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is if 336s does autocorrection 336s MissingElse is both 336s does not autocorrect 336s using semicolons 336s behaves like autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is case 336s does not autocorrect 336s MissingElse is if 336s does autocorrection 336s MissingElse is both 336s does not autocorrect 336s with a completely empty else-clause 336s doesn't register an offense 336s given an unless-statement 336s with an else-clause containing only the literal nil 336s behaves like autocorrect 336s MissingElse is case 336s does autocorrection 336s MissingElse is both 336s does not autocorrect 336s MissingElse is if 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s with an else-clause with side-effects 336s doesn't register an offense 336s with a completely empty else-clause 336s doesn't register an offense 336s with no else-clause 336s doesn't register an offense 336s given an if-statement 336s with an else-clause containing only the literal nil using semicolons 336s with multiple elsifs 336s behaves like autocorrect 336s MissingElse is both 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is if 336s does not autocorrect 336s MissingElse is case 336s does autocorrection 336s with one elsif 336s behaves like autocorrect 336s MissingElse is both 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is case 336s does autocorrection 336s MissingElse is if 336s does not autocorrect 336s with a completely empty else-clause 336s doesn't register an offense 336s with an else-clause containing only the literal nil 336s when standalone 336s behaves like autocorrect 336s MissingElse is both 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is if 336s does not autocorrect 336s MissingElse is case 336s does autocorrection 336s when the result is assigned to a variable 336s behaves like autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is both 336s does not autocorrect 336s MissingElse is if 336s does not autocorrect 336s MissingElse is case 336s does autocorrection 336s with no else-clause 336s doesn't register an offense 336s with an else-clause with side-effects 336s doesn't register an offense 336s configured to warn on empty else and nil in else 336s given a case statement 336s with an else-clause containing only the literal nil 336s behaves like autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is both 336s does not autocorrect 336s MissingElse is case 336s does not autocorrect 336s MissingElse is if 336s does autocorrection 336s with an else-clause with side-effects 336s doesn't register an offense 336s with a completely empty else-clause 336s behaves like autocorrect 336s MissingElse is both 336s does not autocorrect 336s MissingElse is case 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is if 336s does autocorrection 336s with no else-clause 336s doesn't register an offense 336s given an unless-statement 336s with an else-clause with side-effects 336s doesn't register an offense 336s with a completely empty else-clause 336s behaves like autocorrect 336s MissingElse is if 336s does not autocorrect 336s MissingElse is both 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is case 336s does autocorrection 336s with an else-clause containing only the literal nil 336s behaves like autocorrect 336s MissingElse is both 336s does not autocorrect 336s MissingElse is case 336s does autocorrection 336s MissingElse is if 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s with no else-clause 336s doesn't register an offense 336s given an if-statement 336s with an else-clause with side-effects 336s doesn't register an offense 336s with no else-clause 336s doesn't register an offense 336s with a completely empty else-clause 336s behaves like autocorrect 336s MissingElse is both 336s does not autocorrect 336s MissingElse is case 336s does autocorrection 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is if 336s does not autocorrect 336s with an else-clause containing only the literal nil 336s with multiple elsifs 336s behaves like autocorrect 336s MissingElse is both 336s does not autocorrect 336s MissingElse is case 336s does autocorrection 336s MissingElse is if 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s with one elsif 336s behaves like autocorrect 336s MissingElse is if 336s does not autocorrect 336s MissingElse is disabled 336s does autocorrection 336s MissingElse is case 336s does autocorrection 336s MissingElse is both 336s does not autocorrect 336s when `AllowComments: true` 336s given an unless-statement 336s with not comment and nil else-clause 336s registers an offense 336s with comment and nil else-clause 336s doesn't register an offense 336s with comment and empty else-clause 336s doesn't register an offense 336s with not comment and empty else-clause 336s registers an offense 336s given an if-statement 336s with comment and empty else-clause 336s doesn't register an offense 336s with comment and nil else-clause 336s doesn't register an offense 336s with not comment and empty else-clause 336s registers an offense 336s with not comment and nil else-clause 336s registers an offense 336s given a case statement 336s with comment and empty else-clause 336s doesn't register an offense 336s with not comment and empty else-clause 336s registers an offense 336s with not comment and nil else-clause 336s registers an offense 336s with comment and nil else-clause 336s doesn't register an offense 336s 336s RuboCop::Cop::Style::FloatDivision 336s EnforcedStyle is left_coerce 336s does not register offense for left coerce 336s registers offense and corrects for right coerce 336s registers offense and corrects for both coerce 336s registers offense and corrects for right coerce with calculations 336s EnforcedStyle is fdiv 336s registers offense and corrects for right coerce 336s registers offense and corrects for both coerce 336s registers offense and corrects for left coerce 336s does not register offense on usage of fdiv 336s registers offense and corrects for left coerce with calculations 336s EnforcedStyle is single_coerce 336s registers offense and corrects for both coerce 336s registers offense and corrects for left coerce with calculations 336s does not register offense for right coerce only 336s does not register offense for left coerce only 336s EnforcedStyle is right_coerce 336s registers offense and corrects for left coerce with calculations 336s registers offense and corrects for both coerce 336s registers offense and corrects for left coerce 336s does not register offense for right coerce 336s 336s RuboCop::Cop::Style::MultilineMemoization 336s EnforcedStyle: keyword 336s with a multiline memoization 336s without a `begin` and `end` block 336s when the expression is wrapped in parentheses 336s registers an offense when expression starts on first line 336s registers an offense when expression starts on following line 336s registers an offense with multiline expression 336s with a multiline memoization 336s without a `begin` and `end` block 336s allows with another block on the following line 336s allows with a conditional on the first line 336s allows with another block on the first line 336s allows with a conditional on the following line 336s with a single line memoization 336s allows expression on first line 336s allows expression on the following line 336s EnforcedStyle: braces 336s with a multiline memoization 336s without a `begin` and `end` block 336s allows with another block on the first line 336s allows with another block on the following line 336s allows with a conditional on the following line 336s allows with a conditional on the first line 336s with a single line memoization 336s allows expression on the following line 336s allows expression on first line 336s with a multiline memoization 336s without braces 336s when the expression is wrapped in `begin` and `end` keywords 336s registers an offense for begin...end block on first line 336s registers an offense for begin...end block on following line 336s 336s RuboCop::Cop::Layout::CaseIndentation 336s with EnforcedStyle: case 336s with IndentOneStep: true 336s `case` ... `when` 336s registers an offense and corrects a `when` clause that is equally indented with `case` 336s accepts a `when` clause that's 2 spaces deeper than `case` 336s when indentation width is overridden for this cop only 336s respects cop-specific IndentationWidth 336s regarding assignment where the right hand side is a `case` 336s accepts a correctly indented assignment 336s registers an offense and corrects an assignment indented some other way 336s with everything on a single line 336s does not register an offense 336s `case` ... `in` 336s registers an offense and corrects an `in` clause that is equally indented with `case` 336s accepts an `in` clause that's 2 spaces deeper than `case` 336s regarding assignment where the right hand side is a `case` 336s registers an offense and corrects an assignment indented some other way 336s accepts a correctly indented assignment 336s when indentation width is overridden for this cop only 336s respects cop-specific IndentationWidth 336s with everything on a single line 336s does not register an offense 336s with IndentOneStep: false 336s `case` ... `in` 336s accepts correctly indented whens in complex combinations 336s doesn't get confused by symbols named `case` or `in` 336s registers an offense and corrects an `in` clause that is indented deeper than `case` 336s accepts an `in` clause that's equally indented with `case` 336s doesn't get confused by strings with `case` in them 336s regarding assignment where the right hand side is a `case` 336s registers an offense and corrects correct + opposite style 336s registers an offense and corrects assignment indented as `end` 336s accepts a correctly indented assignment 336s registers an offense and corrects assignment indented some other way 336s with everything on a single line 336s does not register an offense 336s `case` ... `when` 336s accepts a `when` clause that's equally indented with `case` 336s registers an offense and corrects a `when` clause that is indented deeper than `case` 336s accepts correctly indented whens in complex combinations 336s doesn't get confused by symbols named `case` or `when` 336s doesn't get confused by strings with `case` in them 336s regarding assignment where the right hand side is a `case` 336s registers an offense and corrects assignment indented as end 336s registers an offense and corrects correct + opposite style 336s accepts a correctly indented assignment 336s registers an offense and corrects assignment indented some other way 336s with everything on a single line 336s does not register an offense 336s with EnforcedStyle: end 336s with IndentOneStep: true 336s `case` ... `in` 336s regarding assignment where the right hand side is a `case` 336s accepts a correctly indented assignment 336s registers an offense and corrects an assignment indented as `case` 336s registers an offense and corrects an assignment indented some other way 336s with everything on a single line 336s does not register an offense 336s `case` ... `when` 336s with everything on a single line 336s does not register an offense 336s regarding assignment where the right hand side is a `case` 336s accepts a correctly indented assignment 336s registers an offense and corrects an assignment indented some other way 336s registers an offense and corrects an assignment indented as `case` 336s with IndentOneStep: false 336s `case` ... `when` 336s with everything on a single line 336s does not register an offense 336s `when` and `end` same line 336s does not register an offense 336s `else` and `end` same line 336s does not register an offense 336s regarding assignment where the right hand side is a `case` 336s accepts a correctly indented assignment 336s registers an offense and corrects an assignment indented some other way 336s `case` ... `in` 336s with everything on a single line 336s does not register an offense 336s `in` and `end` same line 336s does not register an offense 336s regarding assignment where the right hand side is a `case` 336s registers an offense and corrects an assignment indented some other way 336s accepts a correctly indented assignment 336s when `when` is on the same line as `case` 336s registers an offense but does not autocorrect 336s 336s RuboCop::Cop::InternalAffairs::NodeTypePredicate 336s does not register an offense for a predicate node type check 336s comparison node type check 336s registers an offense and autocorrects 336s 336s RuboCop::Cop::Layout::SpaceAroundEqualsInParameterDefault 336s when EnforcedStyle is space 336s accepts default value assignment with space 336s accepts default value assignment with spaces and unary + operator 336s registers an offense and corrects default value assignment where first is partially right without space 336s registers an offense and corrects missing space for arguments with unary operators 336s registers an offense and corrects assigning empty string without space 336s registers an offense and corrects default value assignment without space 336s registers an offense and corrects assignment of empty list without space 336s when EnforcedStyle is no_space 336s registers an offense and corrects assignment of empty list with space 336s registers an offense and corrects default value assignment with space 336s registers an offense and corrects assignment of empty string with space 336s accepts default value assignment without space 336s 336s RuboCop::Cop::Style::ArrayCoercion 336s does not register an offense when converting variable into other named array variable with check 336s registers an offense and corrects when converting variable into array with check 336s does not register an offense when splat is not in array 336s does not register an offense when splatting multiple variables into array 336s registers an offense and corrects when splatting variable into array 336s 336s RuboCop::Cop::Style::SafeNavigation 336s allows an object check before a method call that is used in a negated regex comparison 336s allows for empty if blocks with comments 336s allows calls on nil 336s allows method call that is used in a comparison safe guarded by an object check 336s allows an object check before a negated method call with a safe navigation 336s allows method call that is used in a negated regex comparison safe guarded by an object check 336s allows chained method calls during assignment safe guardedby an object check 336s allows a method chain that is used in a comparison safe guarded by an object check 336s allows an object check before a nil check on a short chain 336s allows an object check before a negated predicate method chain 336s allows an object check before a method call that is used in a spaceship comparison 336s allows a method call safeguarded with a negative check for the object when using `unless` 336s allows an object check before a method chain that is used in a comparison 336s allows a method call safeguarded with a negative check for the object when using `if` 336s allows an object check before hash access 336s allows an object check before a method chain longer than 2 methods 336s allows method calls that do not get called using . safe guarded by an object check 336s does not move comments that are inside an inner block 336s allows method call that is used in a spaceship comparison safe guarded by an object check 336s allows an object check before a blank check 336s allows chained method calls during arithmetic operations safe guarded by an object check 336s allows calls to methods not safeguarded by respond_to 336s allows object checks in the condition of an elsif statement and a method call on that object in the body 336s allows an object check before a nil check on a long chain 336s allows a method call safeguarded when using `unless nil?` 336s allows method call that is used in a regex comparison safe guarded by an object check 336s allows an object check before a long chain with a block 336s allows an object check before a method call that is used with `empty?` 336s allows an object check before a method call that is used in a regex comparison 336s allows a method call as a parameter when the parameter is safe guarded with an object check 336s allows an object check before a method call that is used in a comparison 336s allows an object check before a negated predicate 336s allows calls using safe navigation 336s behaves like all variable types 336s object check before method call 336s allows a nil object check followed by a method call 336s allows a nil object check followed by a method call with params and a block 336s allows a non object check followed by a method call 336s allows a nil object check followed by a method call with params 336s allows a non object check followed by a method call with a block 336s allows a nil object check followed by a method call with a block 336s allows a non object check followed by a method call with params and a block 336s allows a non object check followed by a method call with params 336s ConvertCodeThatCanStartToReturnNil true 336s corrects an object check followed by a method call and another check 336s registers an offense for an object check followed by a method call with a block 336s registers an offense for a non-nil object check followed by a method call with a block 336s registers an offense for a non-nil object check followed by a method call with params 336s registers an offense for an object check followed by a method call with params 336s registers an offense for a non-nil object check followed by a method call with params and a block 336s registers an offense for a check for the object followed by a method call in the condition for an if expression 336s registers an offense for an object check followed by a method call with params and a block 336s registers an offense for a non-nil object check followed by a method call 336s registers an offense for an object check followed by a method call 336s method chaining 336s registers an offense for an object check followed by chained method calls with blocks 336s with Lint/SafeNavigationChain disabled 336s allows an object check followed by chained method calls 336s allows an object check followed by chained method calls with blocks 336s MaxChainLength: 1 336s registers an offense for an object check followed by 1 chained method calls 336s allows an object check followed by 2 chained method calls 336s MaxChainLength: 3 336s registers an offense for an object check followed by 3 chained method calls 336s allows an object check followed by 4 chained method calls 336s ConvertCodeThatCanStartToReturnNil false 336s registers an offense for an object check followed by a method calls that nil responds to 336s registers an offense for an object check followed by a method call 336s allows a non-nil object check followed by a method call with params 336s registers an offense for an object check followed by a method call with params and a block 336s allows a non-nil object check followed by a method call with a block 336s registers an offense for an object check followed by a method call with params 336s registers an offense for an object check followed by a method call with a block 336s allows a non-nil object check followed by a method call 336s allows a non-nil object check followed by a method call with params and a block 336s registers an offense for a check for the object followed by a method call in the condition for an if expression 336s method chaining 336s corrects an object check followed by a chained method call with a symbol proc 336s corrects an object check followed by a chained method call 336s corrects an object check followed by a chained method call with a block 336s corrects an object check followed by a chained method call with params 336s if expression 336s only moves comments that fall within the expression 336s registers an offense for a single method call with params inside of a check for the object 336s registers an offense for a single method call with params inside of a non-nil check for the object 336s registers an offense for a single method call inside of an unless negative check for the object 336s registers an offense for a single method call with params and a block inside of an unless nil check for the object 336s registers an offense for a single method call with a block inside of an unless nil check for the object 336s registers an offense for a single method call with params and a block inside of an unless negative check for the object 336s does not lose comments within if expression 336s allows a single method call inside of a check for the object with an else 336s registers an offense for a single method call with a block inside of an unless negative check for the object 336s registers an offense for a single method call with a block inside of a non-nil check for the object 336s registers an offense for a single method call inside of a check for the object 336s registers an offense for a single method call with a block inside of a check for the object 336s registers an offense for a single method call with params inside of an unless negative check for the object 336s registers an offense for a single method call with params and a block inside of a check for the object 336s registers an offense for a single method call with params inside of an unless nil check for the object 336s registers an offense for a single method call inside of a non-nil check for the object 336s registers an offense for a single method call with params and a block inside of a non-nil check for the object 336s registers an offense for a single method call inside of an unless nil check for the object 336s ternary expression 336s allows ternary expression 336s modifier if 336s registers an offense for an object check followed by a method call with a comment at EOL 336s registers an offense for a method call with params safeguarded with a negative nil check for the object 336s registers an offense for a method call with a block safeguarded with a negative check for the object 336s registers an offense for a method call with params and a block safeguarded with a nil check for the object 336s registers an offense for a method call with a block safeguarded with a nil check for the object 336s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 336s registers an offense for a method call that nil responds to safe guarded by an object check 336s registers an offense for a method call with params safeguarded with a negative check for the object 336s registers an offense for a method call safeguarded with a nil check for the object 336s registers an offense for a method call with a block safeguarded with a negative nil check for the object 336s registers an offense for a method call with a block safeguarded with a check for the object 336s registers an offense for a method call with params safeguarded with a nil check for the object 336s registers an offense for a method call with params and a block safeguarded with a check for the object 336s registers an offense for a method call safeguarded with a check for the object 336s registers an offense for a chained method call safeguarded with an unless nil check for the object 336s registers an offense for a chained method call safeguarded with a negative nil check for the object 336s registers an offense for a method call safeguarded with a negative check for the object 336s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 336s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 336s registers an offense for a chained method call safeguarded with a check for the object 336s registers an offense for a method call safeguarded with a negative nil check for the object 336s registers an offense for a method call with params safeguarded with a check for the object 336s registers an offense for a method call with params and a block safeguarded with a negative check for the object 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to yield safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to raise safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to next safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to fail safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to break safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to return safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to throw safe guarded by an object check 336s behaves like all variable types 336s modifier if 336s registers an offense for a method call with params safeguarded with a check for the object 336s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 336s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 336s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 336s registers an offense for a method call safeguarded with a negative nil check for the object 336s registers an offense for a chained method call safeguarded with a check for the object 336s registers an offense for a chained method call safeguarded with an unless nil check for the object 336s registers an offense for a method call with a block safeguarded with a negative check for the object 336s registers an offense for a method call with a block safeguarded with a check for the object 336s registers an offense for a method call safeguarded with a nil check for the object 336s registers an offense for a chained method call safeguarded with a negative nil check for the object 336s registers an offense for a method call with a block safeguarded with a negative nil check for the object 336s registers an offense for a method call that nil responds to safe guarded by an object check 336s registers an offense for a method call with params and a block safeguarded with a nil check for the object 336s registers an offense for an object check followed by a method call with a comment at EOL 336s registers an offense for a method call with params safeguarded with a negative check for the object 336s registers an offense for a method call with a block safeguarded with a nil check for the object 336s registers an offense for a method call safeguarded with a negative check for the object 336s registers an offense for a method call with params and a block safeguarded with a check for the object 336s registers an offense for a method call with params safeguarded with a negative nil check for the object 336s registers an offense for a method call with params safeguarded with a nil check for the object 336s registers an offense for a method call with params and a block safeguarded with a negative check for the object 336s registers an offense for a method call safeguarded with a check for the object 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to return safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to raise safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to throw safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to next safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to break safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to fail safe guarded by an object check 336s behaves like safe guarding logical break keywords 336s allows a method call being passed to yield safe guarded by an object check 336s object check before method call 336s allows a non object check followed by a method call with params 336s allows a nil object check followed by a method call with params 336s allows a nil object check followed by a method call with params and a block 336s allows a nil object check followed by a method call with a block 336s allows a nil object check followed by a method call 336s allows a non object check followed by a method call with params and a block 336s allows a non object check followed by a method call with a block 336s allows a non object check followed by a method call 336s ConvertCodeThatCanStartToReturnNil false 336s allows a non-nil object check followed by a method call with params and a block 336s registers an offense for an object check followed by a method call 336s allows a non-nil object check followed by a method call 336s allows a non-nil object check followed by a method call with params 336s registers an offense for an object check followed by a method call with params 336s registers an offense for an object check followed by a method call with a block 336s registers an offense for an object check followed by a method call with params and a block 336s allows a non-nil object check followed by a method call with a block 336s registers an offense for a check for the object followed by a method call in the condition for an if expression 336s registers an offense for an object check followed by a method calls that nil responds to 336s method chaining 336s corrects an object check followed by a chained method call with a symbol proc 336s corrects an object check followed by a chained method call with a block 336s corrects an object check followed by a chained method call with params 336s corrects an object check followed by a chained method call 336s ConvertCodeThatCanStartToReturnNil true 336s registers an offense for an object check followed by a method call with params and a block 336s corrects an object check followed by a method call and another check 336s registers an offense for an object check followed by a method call 336s registers an offense for a check for the object followed by a method call in the condition for an if expression 336s registers an offense for a non-nil object check followed by a method call with params and a block 336s registers an offense for a non-nil object check followed by a method call with params 336s registers an offense for a non-nil object check followed by a method call with a block 336s registers an offense for a non-nil object check followed by a method call 336s registers an offense for an object check followed by a method call with a block 336s registers an offense for an object check followed by a method call with params 336s method chaining 336s registers an offense for an object check followed by chained method calls with blocks 336s MaxChainLength: 1 336s registers an offense for an object check followed by 1 chained method calls 336s allows an object check followed by 2 chained method calls 336s with Lint/SafeNavigationChain disabled 337s allows an object check followed by chained method calls 337s allows an object check followed by chained method calls with blocks 337s MaxChainLength: 3 337s allows an object check followed by 4 chained method calls 337s registers an offense for an object check followed by 3 chained method calls 337s if expression 337s registers an offense for a single method call with params and a block inside of an unless negative check for the object 337s registers an offense for a single method call with a block inside of an unless nil check for the object 337s registers an offense for a single method call inside of a non-nil check for the object 337s registers an offense for a single method call with params and a block inside of an unless nil check for the object 337s registers an offense for a single method call with params inside of a check for the object 337s registers an offense for a single method call with params inside of a non-nil check for the object 337s registers an offense for a single method call inside of a check for the object 337s registers an offense for a single method call inside of an unless negative check for the object 337s registers an offense for a single method call with params inside of an unless nil check for the object 337s only moves comments that fall within the expression 337s registers an offense for a single method call with a block inside of an unless negative check for the object 337s registers an offense for a single method call with a block inside of a non-nil check for the object 337s registers an offense for a single method call with params and a block inside of a non-nil check for the object 337s registers an offense for a single method call with params and a block inside of a check for the object 337s registers an offense for a single method call with params inside of an unless negative check for the object 337s registers an offense for a single method call with a block inside of a check for the object 337s allows a single method call inside of a check for the object with an else 337s registers an offense for a single method call inside of an unless nil check for the object 337s does not lose comments within if expression 337s ternary expression 337s allows ternary expression 337s when Ruby <= 2.2 337s does not register an offense when a method call that nil responds to safe guarded by an object check 337s respond_to? 337s allows method calls safeguarded by a respond_to check 337s allows method calls safeguarded by a respond_to check on adifferent variable and method 337s allows enumerable accessor method calls safeguarded by a respond_to check 337s allows method calls safeguarded by a respond_to check to a different method 337s allows method calls safeguarded by a respond_to check on adifferent variable but the same method 337s behaves like all variable types 337s if expression 337s registers an offense for a single method call inside of a non-nil check for the object 337s registers an offense for a single method call with params inside of an unless negative check for the object 337s registers an offense for a single method call inside of a check for the object 337s registers an offense for a single method call with a block inside of a check for the object 337s does not lose comments within if expression 337s registers an offense for a single method call inside of an unless negative check for the object 337s registers an offense for a single method call with params and a block inside of a check for the object 337s only moves comments that fall within the expression 337s registers an offense for a single method call with params inside of an unless nil check for the object 337s registers an offense for a single method call with a block inside of an unless nil check for the object 337s registers an offense for a single method call with params inside of a check for the object 337s registers an offense for a single method call with params and a block inside of an unless nil check for the object 337s registers an offense for a single method call with a block inside of a non-nil check for the object 337s registers an offense for a single method call with params and a block inside of a non-nil check for the object 337s registers an offense for a single method call with params and a block inside of an unless negative check for the object 337s registers an offense for a single method call with params inside of a non-nil check for the object 337s allows a single method call inside of a check for the object with an else 337s registers an offense for a single method call with a block inside of an unless negative check for the object 337s registers an offense for a single method call inside of an unless nil check for the object 337s ternary expression 337s allows ternary expression 337s modifier if 337s registers an offense for a method call safeguarded with a negative nil check for the object 337s registers an offense for a chained method call safeguarded with an unless nil check for the object 337s registers an offense for a method call with params and a block safeguarded with a negative check for the object 337s registers an offense for a chained method call safeguarded with a check for the object 337s registers an offense for a method call with params safeguarded with a check for the object 337s registers an offense for a method call with a block safeguarded with a negative check for the object 337s registers an offense for a method call with params safeguarded with a negative check for the object 337s registers an offense for a method call that nil responds to safe guarded by an object check 337s registers an offense for a method call safeguarded with a nil check for the object 337s registers an offense for a method call safeguarded with a check for the object 337s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 337s registers an offense for a method call safeguarded with a negative check for the object 337s registers an offense for a method call with params and a block safeguarded with a check for the object 337s registers an offense for a method call with a block safeguarded with a check for the object 337s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 337s registers an offense for a method call with params safeguarded with a nil check for the object 337s registers an offense for a chained method call safeguarded with a negative nil check for the object 337s registers an offense for a method call with params safeguarded with a negative nil check for the object 337s registers an offense for a method call with a block safeguarded with a nil check for the object 337s registers an offense for a method call with a block safeguarded with a negative nil check for the object 337s registers an offense for an object check followed by a method call with a comment at EOL 337s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 337s registers an offense for a method call with params and a block safeguarded with a nil check for the object 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to next safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to fail safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to yield safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to raise safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to return safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to throw safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to break safe guarded by an object check 337s object check before method call 337s allows a nil object check followed by a method call 337s allows a nil object check followed by a method call with a block 337s allows a non object check followed by a method call with params and a block 337s allows a non object check followed by a method call 337s allows a nil object check followed by a method call with params 337s allows a nil object check followed by a method call with params and a block 337s allows a non object check followed by a method call with params 337s allows a non object check followed by a method call with a block 337s ConvertCodeThatCanStartToReturnNil false 337s registers an offense for a check for the object followed by a method call in the condition for an if expression 337s allows a non-nil object check followed by a method call with params and a block 337s registers an offense for an object check followed by a method call with params 337s registers an offense for an object check followed by a method call with params and a block 337s allows a non-nil object check followed by a method call 337s registers an offense for an object check followed by a method call 337s registers an offense for an object check followed by a method calls that nil responds to 337s allows a non-nil object check followed by a method call with params 337s allows a non-nil object check followed by a method call with a block 337s registers an offense for an object check followed by a method call with a block 337s method chaining 337s corrects an object check followed by a chained method call with a block 337s corrects an object check followed by a chained method call with a symbol proc 337s corrects an object check followed by a chained method call 337s corrects an object check followed by a chained method call with params 337s ConvertCodeThatCanStartToReturnNil true 337s registers an offense for an object check followed by a method call with params and a block 337s registers an offense for a check for the object followed by a method call in the condition for an if expression 337s corrects an object check followed by a method call and another check 337s registers an offense for a non-nil object check followed by a method call with params 337s registers an offense for a non-nil object check followed by a method call with a block 337s registers an offense for an object check followed by a method call 337s registers an offense for a non-nil object check followed by a method call 337s registers an offense for an object check followed by a method call with a block 337s registers an offense for a non-nil object check followed by a method call with params and a block 337s registers an offense for an object check followed by a method call with params 337s method chaining 337s registers an offense for an object check followed by chained method calls with blocks 337s MaxChainLength: 1 337s allows an object check followed by 2 chained method calls 337s registers an offense for an object check followed by 1 chained method calls 337s with Lint/SafeNavigationChain disabled 337s allows an object check followed by chained method calls 337s allows an object check followed by chained method calls with blocks 337s MaxChainLength: 3 337s registers an offense for an object check followed by 3 chained method calls 337s allows an object check followed by 4 chained method calls 337s behaves like all variable types 337s object check before method call 337s allows a non object check followed by a method call with params and a block 337s allows a non object check followed by a method call with params 337s allows a nil object check followed by a method call with params and a block 337s allows a nil object check followed by a method call with a block 337s allows a nil object check followed by a method call with params 337s allows a nil object check followed by a method call 337s allows a non object check followed by a method call with a block 337s allows a non object check followed by a method call 337s ConvertCodeThatCanStartToReturnNil false 337s allows a non-nil object check followed by a method call with params 337s registers an offense for an object check followed by a method call with params 337s registers an offense for an object check followed by a method call with params and a block 337s registers an offense for an object check followed by a method call 337s registers an offense for an object check followed by a method calls that nil responds to 337s allows a non-nil object check followed by a method call with params and a block 337s allows a non-nil object check followed by a method call with a block 337s registers an offense for an object check followed by a method call with a block 337s allows a non-nil object check followed by a method call 337s registers an offense for a check for the object followed by a method call in the condition for an if expression 337s method chaining 337s corrects an object check followed by a chained method call with a symbol proc 337s corrects an object check followed by a chained method call with a block 337s corrects an object check followed by a chained method call 337s corrects an object check followed by a chained method call with params 337s ConvertCodeThatCanStartToReturnNil true 337s registers an offense for an object check followed by a method call 337s registers an offense for an object check followed by a method call with a block 337s corrects an object check followed by a method call and another check 337s registers an offense for an object check followed by a method call with params 337s registers an offense for a non-nil object check followed by a method call 337s registers an offense for a non-nil object check followed by a method call with params and a block 337s registers an offense for a non-nil object check followed by a method call with params 337s registers an offense for a check for the object followed by a method call in the condition for an if expression 337s registers an offense for a non-nil object check followed by a method call with a block 337s registers an offense for an object check followed by a method call with params and a block 337s method chaining 337s registers an offense for an object check followed by chained method calls with blocks 337s MaxChainLength: 3 337s allows an object check followed by 4 chained method calls 337s registers an offense for an object check followed by 3 chained method calls 337s MaxChainLength: 1 337s registers an offense for an object check followed by 1 chained method calls 337s allows an object check followed by 2 chained method calls 337s with Lint/SafeNavigationChain disabled 337s allows an object check followed by chained method calls 337s allows an object check followed by chained method calls with blocks 337s modifier if 337s registers an offense for a method call with params safeguarded with a nil check for the object 337s registers an offense for a method call with params and a block safeguarded with a check for the object 337s registers an offense for a method call with params safeguarded with a check for the object 337s registers an offense for a method call with a block safeguarded with a nil check for the object 337s registers an offense for a method call with a block safeguarded with a negative nil check for the object 337s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 337s registers an offense for a method call that nil responds to safe guarded by an object check 337s registers an offense for a method call safeguarded with a negative check for the object 337s registers an offense for a method call with a block safeguarded with a negative check for the object 337s registers an offense for a method call safeguarded with a nil check for the object 337s registers an offense for a method call with params and a block safeguarded with a negative check for the object 337s registers an offense for a chained method call safeguarded with an unless nil check for the object 337s registers an offense for a method call safeguarded with a negative nil check for the object 337s registers an offense for a chained method call safeguarded with a check for the object 337s registers an offense for a method call safeguarded with a check for the object 337s registers an offense for an object check followed by a method call with a comment at EOL 337s registers an offense for a method call with a block safeguarded with a check for the object 337s registers an offense for a method call with params safeguarded with a negative nil check for the object 337s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 337s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 337s registers an offense for a chained method call safeguarded with a negative nil check for the object 337s registers an offense for a method call with params and a block safeguarded with a nil check for the object 337s registers an offense for a method call with params safeguarded with a negative check for the object 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to break safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to return safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to yield safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to next safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to raise safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to fail safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to throw safe guarded by an object check 337s if expression 337s registers an offense for a single method call with params inside of an unless negative check for the object 337s allows a single method call inside of a check for the object with an else 337s registers an offense for a single method call with a block inside of a check for the object 337s registers an offense for a single method call with params and a block inside of a non-nil check for the object 337s registers an offense for a single method call with params inside of a check for the object 337s registers an offense for a single method call inside of a non-nil check for the object 337s registers an offense for a single method call with a block inside of an unless nil check for the object 337s registers an offense for a single method call with params inside of a non-nil check for the object 337s registers an offense for a single method call with params inside of an unless nil check for the object 337s registers an offense for a single method call with params and a block inside of an unless negative check for the object 337s registers an offense for a single method call with a block inside of an unless negative check for the object 337s registers an offense for a single method call with a block inside of a non-nil check for the object 337s registers an offense for a single method call with params and a block inside of a check for the object 337s registers an offense for a single method call inside of an unless negative check for the object 337s only moves comments that fall within the expression 337s registers an offense for a single method call inside of a check for the object 337s does not lose comments within if expression 337s registers an offense for a single method call inside of an unless nil check for the object 337s registers an offense for a single method call with params and a block inside of an unless nil check for the object 337s ternary expression 337s allows ternary expression 337s behaves like all variable types 337s if expression 337s does not lose comments within if expression 337s registers an offense for a single method call with params and a block inside of an unless nil check for the object 337s registers an offense for a single method call with a block inside of an unless negative check for the object 337s registers an offense for a single method call inside of a non-nil check for the object 337s registers an offense for a single method call with params and a block inside of an unless negative check for the object 337s allows a single method call inside of a check for the object with an else 337s only moves comments that fall within the expression 337s registers an offense for a single method call inside of an unless nil check for the object 337s registers an offense for a single method call with params inside of an unless negative check for the object 337s registers an offense for a single method call with params inside of a check for the object 337s registers an offense for a single method call with params inside of an unless nil check for the object 337s registers an offense for a single method call with a block inside of a check for the object 337s registers an offense for a single method call with params inside of a non-nil check for the object 337s registers an offense for a single method call with a block inside of an unless nil check for the object 337s registers an offense for a single method call with params and a block inside of a non-nil check for the object 337s registers an offense for a single method call with a block inside of a non-nil check for the object 337s registers an offense for a single method call inside of an unless negative check for the object 337s registers an offense for a single method call inside of a check for the object 337s registers an offense for a single method call with params and a block inside of a check for the object 337s ternary expression 337s allows ternary expression 337s modifier if 337s registers an offense for a method call safeguarded with a negative nil check for the object 337s registers an offense for a method call with params safeguarded with a negative check for the object 337s registers an offense for a method call with a block safeguarded with a check for the object 337s registers an offense for a method call with params safeguarded with a negative nil check for the object 337s registers an offense for a method call safeguarded with a check for the object 337s registers an offense for a method call with a block safeguarded with a negative check for the object 337s registers an offense for a chained method call safeguarded with a negative nil check for the object 337s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 337s registers an offense for a chained method call safeguarded with an unless nil check for the object 337s registers an offense for a method call with a block safeguarded with a nil check for the object 337s registers an offense for a method call with params safeguarded with a check for the object 337s registers an offense for a method call with params and a block safeguarded with a check for the object 337s registers an offense for a chained method call safeguarded with a check for the object 337s registers an offense for a method call that nil responds to safe guarded by an object check 337s registers an offense for a method call with params and a block safeguarded with a negative check for the object 337s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 337s registers an offense for a method call safeguarded with a nil check for the object 337s registers an offense for a method call safeguarded with a negative check for the object 337s registers an offense for a method call with params safeguarded with a nil check for the object 337s registers an offense for a method call with a block safeguarded with a negative nil check for the object 337s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 337s registers an offense for a method call with params and a block safeguarded with a nil check for the object 337s registers an offense for an object check followed by a method call with a comment at EOL 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to next safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to return safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to fail safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to yield safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to raise safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to break safe guarded by an object check 337s behaves like safe guarding logical break keywords 337s allows a method call being passed to throw safe guarded by an object check 337s object check before method call 337s allows a non object check followed by a method call with params and a block 337s allows a non object check followed by a method call 337s allows a nil object check followed by a method call with params and a block 337s allows a nil object check followed by a method call 337s allows a nil object check followed by a method call with a block 337s allows a non object check followed by a method call with params 337s allows a nil object check followed by a method call with params 337s allows a non object check followed by a method call with a block 337s ConvertCodeThatCanStartToReturnNil false 337s registers an offense for an object check followed by a method calls that nil responds to 337s registers an offense for a check for the object followed by a method call in the condition for an if expression 337s registers an offense for an object check followed by a method call with a block 337s allows a non-nil object check followed by a method call with a block 337s registers an offense for an object check followed by a method call with params 337s allows a non-nil object check followed by a method call with params and a block 337s registers an offense for an object check followed by a method call 337s allows a non-nil object check followed by a method call with params 337s registers an offense for an object check followed by a method call with params and a block 337s allows a non-nil object check followed by a method call 337s method chaining 337s corrects an object check followed by a chained method call with a symbol proc 337s corrects an object check followed by a chained method call 337s corrects an object check followed by a chained method call with params 337s corrects an object check followed by a chained method call with a block 337s ConvertCodeThatCanStartToReturnNil true 337s registers an offense for a non-nil object check followed by a method call with a block 337s registers an offense for an object check followed by a method call 337s registers an offense for an object check followed by a method call with a block 337s registers an offense for an object check followed by a method call with params and a block 337s registers an offense for a non-nil object check followed by a method call with params 337s registers an offense for a non-nil object check followed by a method call 337s registers an offense for a check for the object followed by a method call in the condition for an if expression 337s registers an offense for an object check followed by a method call with params 337s registers an offense for a non-nil object check followed by a method call with params and a block 337s corrects an object check followed by a method call and another check 337s method chaining 337s registers an offense for an object check followed by chained method calls with blocks 337s with Lint/SafeNavigationChain disabled 337s allows an object check followed by chained method calls 337s allows an object check followed by chained method calls with blocks 337s MaxChainLength: 3 337s registers an offense for an object check followed by 3 chained method calls 337s allows an object check followed by 4 chained method calls 337s MaxChainLength: 1 337s registers an offense for an object check followed by 1 chained method calls 337s allows an object check followed by 2 chained method calls 337s behaves like all variable types 337s object check before method call 337s allows a nil object check followed by a method call with params and a block 337s allows a non object check followed by a method call 337s allows a nil object check followed by a method call 337s allows a nil object check followed by a method call with a block 337s allows a nil object check followed by a method call with params 337s allows a non object check followed by a method call with a block 337s allows a non object check followed by a method call with params 337s allows a non object check followed by a method call with params and a block 337s ConvertCodeThatCanStartToReturnNil false 337s registers an offense for an object check followed by a method calls that nil responds to 337s allows a non-nil object check followed by a method call 337s registers an offense for an object check followed by a method call 337s registers an offense for an object check followed by a method call with params and a block 337s registers an offense for a check for the object followed by a method call in the condition for an if expression 337s registers an offense for an object check followed by a method call with a block 337s allows a non-nil object check followed by a method call with params 337s registers an offense for an object check followed by a method call with params 337s allows a non-nil object check followed by a method call with a block 337s allows a non-nil object check followed by a method call with params and a block 337s method chaining 337s corrects an object check followed by a chained method call with params 337s corrects an object check followed by a chained method call 337s corrects an object check followed by a chained method call with a symbol proc 337s corrects an object check followed by a chained method call with a block 337s ConvertCodeThatCanStartToReturnNil true 337s registers an offense for an object check followed by a method call with a block 337s registers an offense for a check for the object followed by a method call in the condition for an if expression 337s registers an offense for an object check followed by a method call with params 338s registers an offense for an object check followed by a method call with params and a block 338s registers an offense for a non-nil object check followed by a method call with params 338s registers an offense for a non-nil object check followed by a method call 338s registers an offense for a non-nil object check followed by a method call with params and a block 338s registers an offense for a non-nil object check followed by a method call with a block 338s corrects an object check followed by a method call and another check 338s registers an offense for an object check followed by a method call 338s method chaining 338s registers an offense for an object check followed by chained method calls with blocks 338s with Lint/SafeNavigationChain disabled 338s allows an object check followed by chained method calls 338s allows an object check followed by chained method calls with blocks 338s MaxChainLength: 3 338s registers an offense for an object check followed by 3 chained method calls 338s allows an object check followed by 4 chained method calls 338s MaxChainLength: 1 338s allows an object check followed by 2 chained method calls 338s registers an offense for an object check followed by 1 chained method calls 338s modifier if 338s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 338s registers an offense for a method call with params and a block safeguarded with a check for the object 338s registers an offense for a method call with params and a block safeguarded with a nil check for the object 338s registers an offense for a method call with params safeguarded with a nil check for the object 338s registers an offense for a method call safeguarded with a nil check for the object 338s registers an offense for a chained method call safeguarded with an unless nil check for the object 338s registers an offense for a method call with params and a block safeguarded with a negative check for the object 338s registers an offense for a method call with params safeguarded with a negative check for the object 338s registers an offense for a method call that nil responds to safe guarded by an object check 338s registers an offense for a method call with a block safeguarded with a negative check for the object 338s registers an offense for a method call with a block safeguarded with a nil check for the object 338s registers an offense for a method call with a block safeguarded with a negative nil check for the object 338s registers an offense for an object check followed by a method call with a comment at EOL 338s registers an offense for a chained method call safeguarded with a check for the object 338s registers an offense for a method call safeguarded with a check for the object 338s registers an offense for a method call with params safeguarded with a check for the object 338s registers an offense for a chained method call safeguarded with a negative nil check for the object 338s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 338s registers an offense for a method call safeguarded with a negative check for the object 338s registers an offense for a method call safeguarded with a negative nil check for the object 338s registers an offense for a method call with a block safeguarded with a check for the object 338s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 338s registers an offense for a method call with params safeguarded with a negative nil check for the object 338s behaves like safe guarding logical break keywords 338s allows a method call being passed to fail safe guarded by an object check 338s behaves like safe guarding logical break keywords 338s allows a method call being passed to yield safe guarded by an object check 338s behaves like safe guarding logical break keywords 338s allows a method call being passed to return safe guarded by an object check 338s behaves like safe guarding logical break keywords 338s allows a method call being passed to throw safe guarded by an object check 338s behaves like safe guarding logical break keywords 338s allows a method call being passed to raise safe guarded by an object check 338s behaves like safe guarding logical break keywords 338s allows a method call being passed to next safe guarded by an object check 338s behaves like safe guarding logical break keywords 338s allows a method call being passed to break safe guarded by an object check 338s if expression 338s registers an offense for a single method call with a block inside of a non-nil check for the object 338s registers an offense for a single method call with a block inside of an unless nil check for the object 338s registers an offense for a single method call with params inside of an unless negative check for the object 338s registers an offense for a single method call inside of an unless negative check for the object 338s registers an offense for a single method call with params inside of a non-nil check for the object 338s registers an offense for a single method call with params and a block inside of a check for the object 338s allows a single method call inside of a check for the object with an else 338s does not lose comments within if expression 338s registers an offense for a single method call with a block inside of a check for the object 338s only moves comments that fall within the expression 338s registers an offense for a single method call inside of a non-nil check for the object 338s registers an offense for a single method call inside of a check for the object 338s registers an offense for a single method call with params and a block inside of an unless nil check for the object 338s registers an offense for a single method call with params and a block inside of a non-nil check for the object 338s registers an offense for a single method call with params inside of a check for the object 338s registers an offense for a single method call with a block inside of an unless negative check for the object 338s registers an offense for a single method call with params inside of an unless nil check for the object 338s registers an offense for a single method call with params and a block inside of an unless negative check for the object 338s registers an offense for a single method call inside of an unless nil check for the object 338s ternary expression 338s allows ternary expression 338s 338s RuboCop::Cop::Style::TrivialAccessors 338s accepts an initialize method looking like a writer 338s accepts reader nested within an instance_eval call 338s does not register an offense on DSL-style writer 338s accepts splats 338s flags a reader inside a class, inside an instance_eval call 338s accepts expressions within reader 338s registers an offense on one-liner reader 338s registers an offense on one-liner writer 338s accepts reader nested within a module 338s accepts writer with different ivar name 338s accepts blocks 338s accepts non-trivial writer 338s accepts writer using top level 338s accepts writer nested within a module 338s accepts reader using top level 338s registers an offense on writer without braces 338s registers an offense on reader with braces 338s registers an offense on class reader 338s accepts writer in a module 338s accepts expressions within writer 338s registers an offense on instance writer 338s registers an offense on instance reader 338s accepts writer nested within an instance_eval call 338s accepts non-trivial reader 338s registers an offense on class writer 338s registers an offense on reader with `private` 338s accepts reader with different ivar name 338s ignore class methods 338s accepts class reader 338s accepts class writer 338s exact name match disabled 338s registers an offense when names mismatch in reader 338s registers an offense when names mismatch in writer 338s with allowed methods 338s accepts allowed writer 338s accepts allowed reader 338s with AllowPredicates: false 338s accepts allowed predicate 338s disallow predicates 338s does not accept predicate-like reader 338s with DSL denied 338s registers an offense on DSL-style writer 338s allow predicates 338s accepts predicate-like reader 338s 338s RuboCop::Cop::Lint::DisjunctiveAssignmentInConstructor 338s constructor does not have disjunctive assignment 338s accepts 338s constructor has disjunctive assignment 338s LHS is lvar 338s accepts 338s LHS is ivar 338s registers an offense and corrects 338s constructor calls any method before disjunctive assignment 338s accepts 338s constructor calls super after assignment 338s registers an offense and corrects 338s constructor calls super before disjunctive assignment 338s accepts 338s empty constructor 338s accepts 338s 338s RuboCop::Cop::Lint::UriRegexp 338s does not register an offense when using `regexp` with variable receiver 338s registers an offense and corrects using `::URI.regexp` with argument 338s registers an offense and corrects using `URI.regexp` with argument 338s registers an offense and corrects using `::URI.regexp` without argument 338s does not register an offense when using `regexp` without receiver 338s registers an offense and corrects using `URI.regexp` without argument 338s array argument 338s registers an offense and corrects using `URI.regexp` with literal arrays 338s registers an offense and corrects using `URI.regexp` with %i arrays 338s registers an offense and corrects using `URI.regexp` with %w arrays 338s 338s RuboCop::Formatter::FormatterSet 338s responds to all formatter API methods 338s #builtin_formatter_class 338s returns class which matches passed alias name exactly 338s returns class which matches single character alias name 338s returns class which matches double character alias name 338s #custom_formatter_class 338s returns constant represented by the passed string 338s can handle top level namespaced constant name 338s can handle namespaced constant name 338s when non-existent constant name is passed 338s raises error 338s add_formatter 338s adds a formatter with specified formatter type 338s adds a formatter to itself 338s can add multiple formatters by being invoked multiple times 338s when output path is specified 338s adds a formatter outputs to the specified file 338s when parent directories don't exist 338s creates them 338s when output path is omitted 338s adds a formatter outputs to $stdout 338s #close_output_files 338s does not close non file output 338s closes all output files 338s formatter API method 338s invokes the same method of all containing formatters 338s 338s RuboCop::Cop::Style::HashTransformValues 338s below Ruby 2.4 338s does not flag even if transform_values could be used 338s when using Ruby 2.6 or newer 338s does not flag `_.to_h{...}` when its receiver is `each_with_index` 338s does not flag `_.to_h{...}` when both key & value are transformed 338s does not flag `_.to_h{...}` when its receiver is `zip` 338s does not flag _.to_h {...} when value block argument is unused 338s does not flag `_.to_h{...}` when its receiver is `with_index` 338s does not flag `_.to_h{...}` when its receiver is an array literal 338s flags _.to_h{...} when transform_values could be used 338s register and corrects an offense _.to_h{...} when value is a hash literal and is not enclosed in braces 338s register and corrects an offense _.to_h{...} when value is a hash literal and is enclosed in braces 338s below Ruby 2.6 338s does not flag _.to_h{...} 338s when using Ruby 2.4 or newer 338s does not flag value transformation when receiver is array literal 338s does not flag `_.map{...}.to_h` when its receiver is `with_index` 338s does not flag `Hash[_.map{...}]` when its receiver is `each_with_index` 338s does not flag `Hash[_.map{...}]` when its receiver is an array literal 338s does not flag `each_with_object` when its receiver is `zip` 338s does not flag `Hash[_.map{...}]` when its receiver is `with_index` 338s does not flag `each_with_object` when its receiver is `with_index` 338s flags _.map {...}.to_h when transform_values could be used when wrapped in another block 338s does not flag _.map{...}.to_h when both key & value are transformed 338s flags Hash[_.map{...}] when transform_values could be used 338s does not flag _.map {...}.to_h when value block argument is unused 338s does not flag each_with_object when value transformation uses key 338s flags _.map {...}.to_h when transform_values could be used 338s does not flag `each_with_object` when its receiver is `each_with_index` 338s correctly autocorrects _.map{...}.to_h with block 338s does not flag Hash[_.map{...}] when both key & value are transformed 338s does not flag `each_with_object` when its argument is used in the value 338s does not flag `Hash[_.map{...}]` when its receiver is `zip` 338s does not flag `_.map{...}.to_h` when its receiver is `zip` 338s flags _.map {...}.to_h when transform_values could be used when line break before `to_h` 338s does not flag each_with_object when receiver is array literal 338s does not flag each_with_object when its argument is not modified 338s does not flag each_with_object when both key & value are transformed 338s does not flag value transformation in the absence of to_h 338s does not flag `_.map{...}.to_h` when its receiver is `each_with_index` 338s does not flag each_with_object when no transformation occurs 338s with safe navigation operator 338s flags each_with_object when transform_values could be used 338s with inline block 338s flags each_with_object when transform_values could be used 338s with multiline block 338s flags each_with_object when transform_values could be used 338s 338s RuboCop::Cop::VariableForce::Reference 338s .new 338s when non variable reference node is passed 338s raises error 338s 338s RuboCop::Cop::Lint::EmptyExpression 338s when used in a condition 338s registers an offense inside `if` 338s registers an offense inside `case` 338s registers an offense inside `when` 338s registers an offense in the condition of a ternary operator 338s registers an offense inside `elsif` 338s registers an offense in the return value of a ternary operator 338s when used as a return value 338s registers an offense in the return value of a method 338s registers an offense in the return value of a case statement 338s registers an offense in the return value of a condition 338s when used as a standalone expression 338s registers an offense 338s with nested empty expressions 338s registers an offense 338s when used as an assignment 338s registers an offense for the assigned value 338s 338s RuboCop::Cop::VariableForce::Scope 338s #name 338s when the scope is instance method definition 338s returns the method name 338s when the scope is singleton method definition 338s returns the method name 338s #include? 338s with ancestor node the scope does not include 338s is expected to equal false 338s with child node the scope does not include 338s is expected to equal false 338s with descendant node the scope does not include 338s is expected to equal false 338s with child node the scope includes 338s is expected to equal true 338s with node of the scope itself 338s is expected to equal false 338s #each_node 338s outer scope boundary handling 338s when the scope is singleton method 338s yields the argument and the body nodes 338s when the scope is instance method 338s yields the argument and the body nodes 338s when the scope is top level 338s yields the body nodes 338s when the scope is singleton class 338s yields the body nodes 338s when the scope is block 338s yields the argument and the body nodes 338s when the scope is module 338s yields the body nodes 338s when the scope is class 338s yields the body nodes 338s inner scope boundary handling 338s when there's a method invocation with block 338s yields only the block node and the child send node 338s when there's a singleton method definition 338s yields only the defs node and the method host node 338s .new 338s when lvasgn node is passed 338s accepts that as top level scope 338s when begin node is passed 338s accepts that as top level scope 338s #body_node 338s when the scope is singleton method 338s returns the body node 338s when the scope is module 338s returns the body node 338s when the scope is singleton class 338s returns the body node 338s when the scope is block 338s returns the body node 338s when the scope is class 338s returns the body node 338s when the scope is instance method 338s returns the body node 338s when the scope is top level 338s returns the body node 338s 338s RuboCop::Formatter::MarkdownFormatter 338s outputs the cached result in Markdown 338s outputs the result in Markdown 338s 338s RuboCop::Cop::Lint::ConstantOverwrittenInRescue 338s registers an offense when overriding an exception with an exception result 338s does not register an offense when using `=>` but correctly assigning to variables 338s does not register an offense when not overriding an exception with an exception result 338s 338s RuboCop::Cop::Style::NegatedIfElseCondition 338s works with comments and multiple statements 338s works with comments when neither branch is a begin node 338s registers an offense when using negated condition and `if` branch body is empty 338s registers an offense and corrects when negating condition with `not` for `if-else` 338s registers an offense and corrects when negating condition with `!` for `if-else` 338s works with comments when one branch is a begin and the other is not 338s does not register an offense when the `else` branch is empty 338s does not register an offense when negating condition for `if-elsif` 338s registers an offense and corrects a multiline ternary 338s registers an offense and corrects nested `if-else` with negated condition 338s registers an offense and corrects when negating condition with `not` for ternary 338s does not register an offense when `if` with `!!` condition 338s correctly moves comments at the end of branches 338s does not register an offense when only part of the condition is negated 338s does not register an offense when `if` with negated condition has no `else` branch 338s does not register an offense when both branches are empty 338s moves comments to correct branches during autocorrect 338s works with duplicate nodes 338s behaves like negation method 338s registers an offense and corrects when negating condition with `!~` in begin-end for `if-else` 338s registers an offense and corrects when negating condition with `!~` in begin-end for ternary 338s registers an offense and corrects when negating condition with `!~` for ternary 338s registers an offense and corrects when negating condition with `!~` in parentheses for `if-else` 338s registers an offense and corrects when negating condition with `!~` for `if-else` 338s registers an offense and corrects when negating condition with `!~` in parentheses for ternary 338s behaves like negation method 338s registers an offense and corrects when negating condition with `!=` in begin-end for ternary 338s registers an offense and corrects when negating condition with `!=` in parentheses for `if-else` 338s registers an offense and corrects when negating condition with `!=` for `if-else` 338s registers an offense and corrects when negating condition with `!=` for ternary 338s registers an offense and corrects when negating condition with `!=` in parentheses for ternary 338s registers an offense and corrects when negating condition with `!=` in begin-end for `if-else` 338s 338s RuboCop::Cop::Lint::EmptyBlock 338s registers an offense for empty block within method call 338s registers an offense for an empty block given to a non-Kernel `proc` method 338s does not register an offense on an empty ::Proc.new 338s does not register an offense for empty block with inner comments 338s does not register an offense on an empty lambda 338s does not register an offense on an empty Proc.new 338s does not register an offense when block is not empty 338s does not register an offense on an empty proc 338s does not register an offense for empty block with inline comments 339s does not register an offense on an empty stabby lambda 339s when AllowEmptyLambdas is false 339s registers an offense for an empty stabby lambda 339s registers an offense for an empty lambda 339s registers an offense on an empty proc 339s registers an offense on an empty Proc.new 339s registers an offense on an empty ::Proc.new 339s when AllowComments is false 339s registers an offense for empty block with inline comments 339s registers an offense for empty block with inner comments 339s 339s RuboCop::Cop::VariableForce::Variable 339s #referenced? 339s when the variable is not assigned 339s is expected to be falsey 339s and the variable is referenced 339s is expected to be truthy 339s when the variable has an assignment 339s and the variable is not yet referenced 339s is expected to be falsey 339s and the variable is referenced 339s is expected to be truthy 339s .new 339s when non variable declaration node is passed 339s raises error 339s 339s RuboCop::Cop::Style::BarePercentLiterals 339s when EnforcedStyle is percent_q 339s and strings are dynamic 339s registers an offense for %() 339s accepts %q 339s accepts __FILE__ 339s accepts "" string with interpolation 339s accepts %Q() 339s accepts '' 339s accepts heredoc 339s accepts regular expressions 339s accepts "" 339s and strings are static 339s registers an offense for %() 339s accepts heredoc 339s accepts regular expressions 339s accepts __FILE__ 339s accepts '' 339s accepts %q 339s accepts "" 339s accepts %Q() 339s accepts "" string with interpolation 339s when EnforcedStyle is bare_percent 339s and strings are static 339s accepts "" 339s accepts %() 339s accepts heredoc 339s accepts __FILE__ 339s accepts '' 339s accepts "" string with interpolation 339s registers an offense for %Q() 339s accepts %q 339s accepts regular expressions 339s and strings are dynamic 339s accepts %q 339s registers an offense for %Q() 339s accepts "" 339s accepts %() 339s accepts regular expressions 339s accepts '' 339s accepts "" string with interpolation 339s accepts __FILE__ 339s accepts heredoc 339s 339s RuboCop::Cop::Style::IpAddresses 339s does not register an offense on an empty string 339s with allowed addresses 339s does not register an offense if the case differs 339s does not register an offense for a allowed addresses 339s IPv4 339s registers an offense for a valid address 339s does not register an offense for an invalid address 339s does not register an offense for an address inside larger text 339s IPv6 339s registers an offense for a very short address 339s registers an offense for a valid address 339s registers an offense for an address with 0s collapsed 339s does not register an offense for an invalid address 339s registers an offense for the loopback address 339s registers an offense for a shortened address 339s the unspecified address :: (shortform of 0:0:0:0:0:0:0:0) 339s does not register an offense 339s when it is removed from the allowed addresses 339s registers an offense 339s 339s RuboCop::Cop::Style::ConditionalAssignment 339s registers an offense for assignment in case when then else 339s registers an offense for assignment in unless else 339s allows if else without variable assignment 339s allows if elsif else with the same assignment only in if else 339s allows method calls in conditionals 339s registers an offense for assignment in if then elsif then else 339s allows assignment to the result of a ternary operation 339s allows assignment using different operators in if else 339s allows aref assignment with different indices in if..else 339s allows modifier if inside of if else 339s allows method calls in if else 339s autocorrects assignment in if else when the assignment spans multiple lines 339s allows assignment of different variables in case when else 339s allows assignment using different operators in if elsif else 339s registers an offense for assignment in ternary operation using strings 339s registers an offense for assignment in if elsif elsif else 339s registers an offense for assignment in case with when else 339s doesn't crash when assignment statement uses chars which have special meaning in a regex 339s allows assignment in multiple branches when it is wrapped in a modifier 339s allows modifier if 339s allows different assignment types in case with when else 339s allows if elsif else with the same assignment only in elsif else 339s doesn't crash with empty braces 339s registers an offense in an if else if the assignment is already at the line length limit 339s registers an offense for assignment in if elsif else 339s allows assignment of different variables in if else 339s counts array assignment when determining multiple assignment 339s allows if elsif else with the same assignment only in if elsif 339s allows assignment using different (method) operators in if..else 339s behaves like all assignment types 339s for a class variable lval 339s registers an offense for assignment using **= in ternary 339s for a instance variable lval 339s registers an offense for assignment using **= in ternary 339s for a global variable lval 339s registers an offense for assignment using **= in ternary 339s for a local variable lval 339s registers an offense for assignment using **= in ternary 339s with end alignment to keyword 339s for a instance variable lval 339s registers an offense for assignment using **= in if else 339s registers an offense for assignment using **= in case when 339s for a global variable lval 339s registers an offense for assignment using **= in case when 339s registers an offense for assignment using **= in if else 339s for a class variable lval 339s registers an offense for assignment using **= in if else 339s registers an offense for assignment using **= in case when 339s for a local variable lval 339s registers an offense for assignment using **= in case when 339s registers an offense for assignment using **= in if else 339s for a constant lval 339s registers an offense for assignment using **= in if else 339s registers an offense for assignment using **= in case when 339s with end alignment to start_of_line 339s for a constant lval 339s registers an offense for assignment using **= in case when 339s registers an offense for assignment using **= in if else 339s for a class variable lval 339s registers an offense for assignment using **= in case when 339s registers an offense for assignment using **= in if else 339s for a local variable lval 339s registers an offense for assignment using **= in if else 339s registers an offense for assignment using **= in case when 339s for a global variable lval 339s registers an offense for assignment using **= in if else 339s registers an offense for assignment using **= in case when 339s for a instance variable lval 339s registers an offense for assignment using **= in case when 339s registers an offense for assignment using **= in if else 339s for a constant lval 339s registers an offense for assignment using **= in ternary 339s behaves like comparison methods 339s registers an offense for comparison methods in ternary operations 339s with end alignment to keyword 339s corrects comparison methods in unless else 339s corrects comparison methods in if elsif else 339s corrects comparison methods in case when 339s >= Ruby 2.7 339s corrects comparison methods in case in 339s with end alignment to start_of_line 339s corrects comparison methods in case when 339s corrects comparison methods in unless else 339s corrects comparison methods in if elsif else 339s >= Ruby 2.7 339s corrects comparison methods in case in 339s behaves like all variable types 339s allows assignment to the return of if else 339s registers an offense assigning any variable type in if else 339s allows assignment to the return of case when 339s allows assignment to the return of a ternary 339s registers an offense assigning any variable type in case when 339s registers an offense assigning any variable type in ternary 339s behaves like all variable types 339s allows assignment to the return of a ternary 339s allows assignment to the return of case when 339s registers an offense assigning any variable type in case when 339s allows assignment to the return of if else 339s registers an offense assigning any variable type in if else 339s registers an offense assigning any variable type in ternary 339s behaves like all assignment types 339s for a constant lval 339s registers an offense for assignment using /= in ternary 339s for a local variable lval 339s registers an offense for assignment using /= in ternary 339s with end alignment to keyword 339s for a constant lval 339s registers an offense for assignment using /= in if else 339s registers an offense for assignment using /= in case when 339s for a global variable lval 339s registers an offense for assignment using /= in if else 339s registers an offense for assignment using /= in case when 339s for a class variable lval 339s registers an offense for assignment using /= in case when 339s registers an offense for assignment using /= in if else 339s for a instance variable lval 339s registers an offense for assignment using /= in case when 339s registers an offense for assignment using /= in if else 339s for a local variable lval 339s registers an offense for assignment using /= in case when 339s registers an offense for assignment using /= in if else 339s for a instance variable lval 339s registers an offense for assignment using /= in ternary 339s with end alignment to start_of_line 339s for a global variable lval 339s registers an offense for assignment using /= in if else 339s registers an offense for assignment using /= in case when 339s for a instance variable lval 339s registers an offense for assignment using /= in case when 339s registers an offense for assignment using /= in if else 339s for a local variable lval 339s registers an offense for assignment using /= in if else 339s registers an offense for assignment using /= in case when 339s for a class variable lval 339s registers an offense for assignment using /= in if else 339s registers an offense for assignment using /= in case when 339s for a constant lval 339s registers an offense for assignment using /= in case when 339s registers an offense for assignment using /= in if else 339s for a global variable lval 339s registers an offense for assignment using /= in ternary 339s for a class variable lval 339s registers an offense for assignment using /= in ternary 339s behaves like all variable types 339s allows assignment to the return of a ternary 339s registers an offense assigning any variable type in ternary 339s allows assignment to the return of case when 339s registers an offense assigning any variable type in if else 339s registers an offense assigning any variable type in case when 339s allows assignment to the return of if else 339s for if elsif else if else 339s autocorrects the inner offense first 339s autocorrects the outer offense later 339s behaves like all assignment types 339s for a class variable lval 339s registers an offense for assignment using ||= in ternary 339s with end alignment to keyword 339s for a constant lval 339s registers an offense for assignment using ||= in if else 339s registers an offense for assignment using ||= in case when 339s for a instance variable lval 339s registers an offense for assignment using ||= in if else 339s registers an offense for assignment using ||= in case when 339s for a class variable lval 339s registers an offense for assignment using ||= in if else 339s registers an offense for assignment using ||= in case when 339s for a local variable lval 339s registers an offense for assignment using ||= in if else 339s registers an offense for assignment using ||= in case when 339s for a global variable lval 339s registers an offense for assignment using ||= in case when 339s registers an offense for assignment using ||= in if else 339s for a instance variable lval 339s registers an offense for assignment using ||= in ternary 339s for a constant lval 339s registers an offense for assignment using ||= in ternary 339s for a local variable lval 339s registers an offense for assignment using ||= in ternary 339s for a global variable lval 339s registers an offense for assignment using ||= in ternary 339s with end alignment to start_of_line 339s for a class variable lval 339s registers an offense for assignment using ||= in if else 339s registers an offense for assignment using ||= in case when 339s for a constant lval 339s registers an offense for assignment using ||= in if else 339s registers an offense for assignment using ||= in case when 339s for a local variable lval 339s registers an offense for assignment using ||= in case when 339s registers an offense for assignment using ||= in if else 339s for a instance variable lval 339s registers an offense for assignment using ||= in case when 339s registers an offense for assignment using ||= in if else 339s for a global variable lval 339s registers an offense for assignment using ||= in case when 339s registers an offense for assignment using ||= in if else 339s behaves like comparison methods 339s registers an offense for comparison methods in ternary operations 339s with end alignment to start_of_line 339s corrects comparison methods in unless else 339s corrects comparison methods in case when 339s corrects comparison methods in if elsif else 339s >= Ruby 2.7 339s corrects comparison methods in case in 339s with end alignment to keyword 339s corrects comparison methods in case when 339s corrects comparison methods in unless else 339s corrects comparison methods in if elsif else 339s >= Ruby 2.7 339s corrects comparison methods in case in 339s behaves like comparison methods 339s registers an offense for comparison methods in ternary operations 339s with end alignment to keyword 339s corrects comparison methods in case when 339s corrects comparison methods in if elsif else 339s corrects comparison methods in unless else 339s >= Ruby 2.7 339s corrects comparison methods in case in 339s with end alignment to start_of_line 339s corrects comparison methods in if elsif else 339s corrects comparison methods in case when 339s corrects comparison methods in unless else 339s >= Ruby 2.7 339s corrects comparison methods in case in 339s behaves like all assignment types 339s for a instance variable lval 339s registers an offense for assignment using >>= in ternary 339s with end alignment to start_of_line 339s for a constant lval 339s registers an offense for assignment using >>= in if else 339s registers an offense for assignment using >>= in case when 339s for a local variable lval 339s registers an offense for assignment using >>= in if else 339s registers an offense for assignment using >>= in case when 339s for a global variable lval 339s registers an offense for assignment using >>= in if else 339s registers an offense for assignment using >>= in case when 339s for a instance variable lval 339s registers an offense for assignment using >>= in case when 339s registers an offense for assignment using >>= in if else 339s for a class variable lval 339s registers an offense for assignment using >>= in if else 339s registers an offense for assignment using >>= in case when 339s with end alignment to keyword 339s for a global variable lval 339s registers an offense for assignment using >>= in if else 339s registers an offense for assignment using >>= in case when 339s for a constant lval 339s registers an offense for assignment using >>= in case when 339s registers an offense for assignment using >>= in if else 339s for a class variable lval 339s registers an offense for assignment using >>= in case when 339s registers an offense for assignment using >>= in if else 339s for a instance variable lval 339s registers an offense for assignment using >>= in case when 339s registers an offense for assignment using >>= in if else 339s for a local variable lval 339s registers an offense for assignment using >>= in if else 339s registers an offense for assignment using >>= in case when 339s for a local variable lval 339s registers an offense for assignment using >>= in ternary 339s for a class variable lval 339s registers an offense for assignment using >>= in ternary 339s for a global variable lval 339s registers an offense for assignment using >>= in ternary 339s for a constant lval 339s registers an offense for assignment using >>= in ternary 339s behaves like all assignment types 339s for a local variable lval 339s registers an offense for assignment using *= in ternary 339s for a class variable lval 339s registers an offense for assignment using *= in ternary 339s with end alignment to start_of_line 339s for a constant lval 339s registers an offense for assignment using *= in case when 339s registers an offense for assignment using *= in if else 339s for a class variable lval 339s registers an offense for assignment using *= in if else 339s registers an offense for assignment using *= in case when 339s for a local variable lval 339s registers an offense for assignment using *= in case when 339s registers an offense for assignment using *= in if else 339s for a instance variable lval 339s registers an offense for assignment using *= in case when 339s registers an offense for assignment using *= in if else 339s for a global variable lval 339s registers an offense for assignment using *= in if else 339s registers an offense for assignment using *= in case when 339s for a global variable lval 339s registers an offense for assignment using *= in ternary 339s for a instance variable lval 339s registers an offense for assignment using *= in ternary 339s for a constant lval 339s registers an offense for assignment using *= in ternary 339s with end alignment to keyword 339s for a class variable lval 339s registers an offense for assignment using *= in case when 339s registers an offense for assignment using *= in if else 339s for a instance variable lval 339s registers an offense for assignment using *= in if else 339s registers an offense for assignment using *= in case when 339s for a constant lval 339s registers an offense for assignment using *= in case when 339s registers an offense for assignment using *= in if else 339s for a local variable lval 339s registers an offense for assignment using *= in case when 339s registers an offense for assignment using *= in if else 339s for a global variable lval 339s registers an offense for assignment using *= in case when 339s registers an offense for assignment using *= in if else 339s behaves like all variable types 339s registers an offense assigning any variable type in case when 339s registers an offense assigning any variable type in ternary 339s allows assignment to the return of case when 339s registers an offense assigning any variable type in if else 339s allows assignment to the return of if else 339s allows assignment to the return of a ternary 339s behaves like all variable types 339s allows assignment to the return of a ternary 339s registers an offense assigning any variable type in if else 339s registers an offense assigning any variable type in ternary 339s allows assignment to the return of case when 339s registers an offense assigning any variable type in case when 339s allows assignment to the return of if else 339s behaves like comparison methods 339s registers an offense for comparison methods in ternary operations 339s with end alignment to keyword 339s corrects comparison methods in case when 339s corrects comparison methods in unless else 339s corrects comparison methods in if elsif else 339s >= Ruby 2.7 339s corrects comparison methods in case in 339s with end alignment to start_of_line 339s corrects comparison methods in if elsif else 339s corrects comparison methods in case when 340s corrects comparison methods in unless else 340s >= Ruby 2.7 340s corrects comparison methods in case in 340s behaves like all assignment types 340s for a class variable lval 340s registers an offense for assignment using &= in ternary 340s for a constant lval 340s registers an offense for assignment using &= in ternary 340s for a local variable lval 340s registers an offense for assignment using &= in ternary 340s for a instance variable lval 340s registers an offense for assignment using &= in ternary 340s with end alignment to keyword 340s for a instance variable lval 340s registers an offense for assignment using &= in if else 340s registers an offense for assignment using &= in case when 340s for a global variable lval 340s registers an offense for assignment using &= in case when 340s registers an offense for assignment using &= in if else 340s for a local variable lval 340s registers an offense for assignment using &= in case when 340s registers an offense for assignment using &= in if else 340s for a class variable lval 340s registers an offense for assignment using &= in case when 340s registers an offense for assignment using &= in if else 340s for a constant lval 340s registers an offense for assignment using &= in case when 340s registers an offense for assignment using &= in if else 340s with end alignment to start_of_line 340s for a global variable lval 340s registers an offense for assignment using &= in if else 340s registers an offense for assignment using &= in case when 340s for a class variable lval 340s registers an offense for assignment using &= in case when 340s registers an offense for assignment using &= in if else 340s for a local variable lval 340s registers an offense for assignment using &= in case when 340s registers an offense for assignment using &= in if else 340s for a constant lval 340s registers an offense for assignment using &= in if else 340s registers an offense for assignment using &= in case when 340s for a instance variable lval 340s registers an offense for assignment using &= in if else 340s registers an offense for assignment using &= in case when 340s for a global variable lval 340s registers an offense for assignment using &= in ternary 340s behaves like all assignment types 340s for a class variable lval 340s registers an offense for assignment using &&= in ternary 340s for a constant lval 340s registers an offense for assignment using &&= in ternary 340s with end alignment to start_of_line 340s for a local variable lval 340s registers an offense for assignment using &&= in if else 340s registers an offense for assignment using &&= in case when 340s for a global variable lval 340s registers an offense for assignment using &&= in case when 340s registers an offense for assignment using &&= in if else 340s for a class variable lval 340s registers an offense for assignment using &&= in if else 340s registers an offense for assignment using &&= in case when 340s for a constant lval 340s registers an offense for assignment using &&= in case when 340s registers an offense for assignment using &&= in if else 340s for a instance variable lval 340s registers an offense for assignment using &&= in if else 340s registers an offense for assignment using &&= in case when 340s for a instance variable lval 340s registers an offense for assignment using &&= in ternary 340s for a global variable lval 340s registers an offense for assignment using &&= in ternary 340s with end alignment to keyword 340s for a global variable lval 340s registers an offense for assignment using &&= in case when 340s registers an offense for assignment using &&= in if else 340s for a class variable lval 340s registers an offense for assignment using &&= in case when 340s registers an offense for assignment using &&= in if else 340s for a constant lval 340s registers an offense for assignment using &&= in if else 340s registers an offense for assignment using &&= in case when 340s for a instance variable lval 340s registers an offense for assignment using &&= in case when 340s registers an offense for assignment using &&= in if else 340s for a local variable lval 340s registers an offense for assignment using &&= in case when 340s registers an offense for assignment using &&= in if else 340s for a local variable lval 340s registers an offense for assignment using &&= in ternary 340s behaves like comparison methods 340s registers an offense for comparison methods in ternary operations 340s with end alignment to start_of_line 340s corrects comparison methods in if elsif else 340s corrects comparison methods in unless else 340s corrects comparison methods in case when 340s >= Ruby 2.7 340s corrects comparison methods in case in 340s with end alignment to keyword 340s corrects comparison methods in if elsif else 340s corrects comparison methods in unless else 340s corrects comparison methods in case when 340s >= Ruby 2.7 340s corrects comparison methods in case in 340s behaves like else followed by new conditional without else 340s allows if elsif else unless 340s behaves like all assignment types 340s with end alignment to start_of_line 340s for a local variable lval 340s registers an offense for assignment using += in case when 340s registers an offense for assignment using += in if else 340s for a class variable lval 340s registers an offense for assignment using += in case when 340s registers an offense for assignment using += in if else 340s for a instance variable lval 340s registers an offense for assignment using += in if else 340s registers an offense for assignment using += in case when 340s for a constant lval 340s registers an offense for assignment using += in case when 340s registers an offense for assignment using += in if else 340s for a global variable lval 340s registers an offense for assignment using += in case when 340s registers an offense for assignment using += in if else 340s for a class variable lval 340s registers an offense for assignment using += in ternary 340s with end alignment to keyword 340s for a local variable lval 340s registers an offense for assignment using += in case when 340s registers an offense for assignment using += in if else 340s for a global variable lval 340s registers an offense for assignment using += in case when 340s registers an offense for assignment using += in if else 340s for a constant lval 340s registers an offense for assignment using += in if else 340s registers an offense for assignment using += in case when 340s for a class variable lval 340s registers an offense for assignment using += in if else 340s registers an offense for assignment using += in case when 340s for a instance variable lval 340s registers an offense for assignment using += in if else 340s registers an offense for assignment using += in case when 340s for a global variable lval 340s registers an offense for assignment using += in ternary 340s for a local variable lval 340s registers an offense for assignment using += in ternary 340s for a instance variable lval 340s registers an offense for assignment using += in ternary 340s for a constant lval 340s registers an offense for assignment using += in ternary 340s IncludeTernaryExpressions false 340s allows assignment in ternary operation 340s behaves like comparison methods 340s registers an offense for comparison methods in ternary operations 340s with end alignment to keyword 340s corrects comparison methods in unless else 340s corrects comparison methods in if elsif else 340s corrects comparison methods in case when 340s >= Ruby 2.7 340s corrects comparison methods in case in 340s with end alignment to start_of_line 340s corrects comparison methods in case when 340s corrects comparison methods in unless else 340s corrects comparison methods in if elsif else 340s >= Ruby 2.7 340s corrects comparison methods in case in 340s behaves like all variable types 340s allows assignment to the return of if else 340s allows assignment to the return of case when 340s registers an offense assigning any variable type in ternary 340s allows assignment to the return of a ternary 340s registers an offense assigning any variable type in case when 340s registers an offense assigning any variable type in if else 340s behaves like comparison methods 340s registers an offense for comparison methods in ternary operations 340s with end alignment to start_of_line 340s corrects comparison methods in case when 340s corrects comparison methods in unless else 340s corrects comparison methods in if elsif else 340s >= Ruby 2.7 340s corrects comparison methods in case in 340s with end alignment to keyword 340s corrects comparison methods in unless else 340s corrects comparison methods in case when 340s corrects comparison methods in if elsif else 340s >= Ruby 2.7 340s corrects comparison methods in case in 340s behaves like all assignment types 340s with end alignment to start_of_line 340s for a instance variable lval 340s registers an offense for assignment using |= in case when 340s registers an offense for assignment using |= in if else 340s for a local variable lval 340s registers an offense for assignment using |= in case when 340s registers an offense for assignment using |= in if else 340s for a constant lval 340s registers an offense for assignment using |= in case when 340s registers an offense for assignment using |= in if else 340s for a global variable lval 340s registers an offense for assignment using |= in if else 340s registers an offense for assignment using |= in case when 340s for a class variable lval 340s registers an offense for assignment using |= in case when 340s registers an offense for assignment using |= in if else 340s for a instance variable lval 340s registers an offense for assignment using |= in ternary 340s for a global variable lval 340s registers an offense for assignment using |= in ternary 340s for a class variable lval 340s registers an offense for assignment using |= in ternary 340s with end alignment to keyword 340s for a instance variable lval 340s registers an offense for assignment using |= in case when 340s registers an offense for assignment using |= in if else 340s for a constant lval 340s registers an offense for assignment using |= in case when 340s registers an offense for assignment using |= in if else 340s for a local variable lval 340s registers an offense for assignment using |= in case when 340s registers an offense for assignment using |= in if else 340s for a class variable lval 340s registers an offense for assignment using |= in if else 340s registers an offense for assignment using |= in case when 340s for a global variable lval 340s registers an offense for assignment using |= in if else 340s registers an offense for assignment using |= in case when 340s for a local variable lval 340s registers an offense for assignment using |= in ternary 340s for a constant lval 340s registers an offense for assignment using |= in ternary 340s behaves like all assignment types 340s for a global variable lval 340s registers an offense for assignment using %= in ternary 340s for a class variable lval 340s registers an offense for assignment using %= in ternary 340s for a instance variable lval 340s registers an offense for assignment using %= in ternary 340s for a constant lval 340s registers an offense for assignment using %= in ternary 340s with end alignment to keyword 340s for a class variable lval 340s registers an offense for assignment using %= in case when 340s registers an offense for assignment using %= in if else 340s for a local variable lval 340s registers an offense for assignment using %= in if else 340s registers an offense for assignment using %= in case when 340s for a global variable lval 340s registers an offense for assignment using %= in if else 340s registers an offense for assignment using %= in case when 340s for a instance variable lval 340s registers an offense for assignment using %= in case when 340s registers an offense for assignment using %= in if else 340s for a constant lval 340s registers an offense for assignment using %= in if else 340s registers an offense for assignment using %= in case when 340s for a local variable lval 340s registers an offense for assignment using %= in ternary 340s with end alignment to start_of_line 340s for a constant lval 340s registers an offense for assignment using %= in case when 340s registers an offense for assignment using %= in if else 340s for a class variable lval 340s registers an offense for assignment using %= in if else 340s registers an offense for assignment using %= in case when 340s for a instance variable lval 340s registers an offense for assignment using %= in if else 340s registers an offense for assignment using %= in case when 340s for a global variable lval 340s registers an offense for assignment using %= in if else 340s registers an offense for assignment using %= in case when 340s for a local variable lval 340s registers an offense for assignment using %= in if else 340s registers an offense for assignment using %= in case when 340s behaves like all assignment types 340s for a global variable lval 340s registers an offense for assignment using << in ternary 340s for a class variable lval 340s registers an offense for assignment using << in ternary 340s for a local variable lval 340s registers an offense for assignment using << in ternary 340s with end alignment to keyword 340s for a local variable lval 340s registers an offense for assignment using << in if else 340s registers an offense for assignment using << in case when 340s for a instance variable lval 340s registers an offense for assignment using << in if else 340s registers an offense for assignment using << in case when 340s for a constant lval 340s registers an offense for assignment using << in case when 340s registers an offense for assignment using << in if else 340s for a global variable lval 340s registers an offense for assignment using << in case when 340s registers an offense for assignment using << in if else 340s for a class variable lval 340s registers an offense for assignment using << in case when 340s registers an offense for assignment using << in if else 340s with end alignment to start_of_line 340s for a constant lval 340s registers an offense for assignment using << in if else 340s registers an offense for assignment using << in case when 340s for a class variable lval 340s registers an offense for assignment using << in if else 340s registers an offense for assignment using << in case when 340s for a local variable lval 340s registers an offense for assignment using << in case when 340s registers an offense for assignment using << in if else 340s for a global variable lval 340s registers an offense for assignment using << in case when 340s registers an offense for assignment using << in if else 340s for a instance variable lval 340s registers an offense for assignment using << in if else 340s registers an offense for assignment using << in case when 340s for a constant lval 340s registers an offense for assignment using << in ternary 340s for a instance variable lval 340s registers an offense for assignment using << in ternary 340s behaves like all assignment types 340s for a local variable lval 340s registers an offense for assignment using -= in ternary 340s for a class variable lval 340s registers an offense for assignment using -= in ternary 340s for a global variable lval 340s registers an offense for assignment using -= in ternary 340s for a constant lval 340s registers an offense for assignment using -= in ternary 340s with end alignment to keyword 340s for a constant lval 340s registers an offense for assignment using -= in if else 340s registers an offense for assignment using -= in case when 340s for a class variable lval 340s registers an offense for assignment using -= in case when 340s registers an offense for assignment using -= in if else 340s for a instance variable lval 340s registers an offense for assignment using -= in if else 340s registers an offense for assignment using -= in case when 340s for a global variable lval 340s registers an offense for assignment using -= in case when 340s registers an offense for assignment using -= in if else 340s for a local variable lval 340s registers an offense for assignment using -= in if else 340s registers an offense for assignment using -= in case when 340s with end alignment to start_of_line 340s for a class variable lval 340s registers an offense for assignment using -= in if else 340s registers an offense for assignment using -= in case when 340s for a instance variable lval 340s registers an offense for assignment using -= in if else 340s registers an offense for assignment using -= in case when 340s for a local variable lval 340s registers an offense for assignment using -= in case when 340s registers an offense for assignment using -= in if else 340s for a global variable lval 340s registers an offense for assignment using -= in case when 340s registers an offense for assignment using -= in if else 340s for a constant lval 340s registers an offense for assignment using -= in if else 340s registers an offense for assignment using -= in case when 340s for a instance variable lval 340s registers an offense for assignment using -= in ternary 340s behaves like else followed by new conditional without else 340s allows if elsif else if 340s with nested conditionals 340s eventually autocorrects all branches 340s does not consider branches of nested ifs 340s behaves like all variable types 340s allows assignment to the return of if else 340s allows assignment to the return of a ternary 340s registers an offense assigning any variable type in if else 340s registers an offense assigning any variable type in case when 340s registers an offense assigning any variable type in ternary 340s allows assignment to the return of case when 340s configured to check conditions with multiple statements 340s registers an offense for multiple assignment when an earlier assignment is is protected by a modifier 340s allows assignment in multiple branches when it is wrapped in a modifier 340s autocorrect 340s corrects multiple assignment in if else 340s corrects multiple assignment in case when with multiple whens 340s corrects multiple assignment in if elsif else with multiple elsifs 340s corrects multiple assignment in if elsif else 340s corrects assignment in an if statement that is nested in unless else 340s corrects multiple assignment in case when 340s corrects multiple assignment in unless else 340s assignment as the last statement 340s registers offense for multiple assignment in if elsif elsif else 340s registers offense for multiple assignments in case when with only one when 340s registers an offense in if else with more than variable assignment 340s registers an offense in if elsif else with more than variable assignment 340s registers an offense in if elsif else with some branches only containing variable assignment and others containing more than variable assignment 340s registers offense for multiple assignments in case when with multiple whens 340s registers offense for multiple assignment in unless else 340s register an offense for multiple assignment in if else 340s registers an offense in unless else with more than variable assignment 340s registers an offense for multiple assignment in if elsif else 340s registers an offense in case when else with more than variable assignment 340s multiple assignment in only one branch 340s registers an offense when multiple assignment is in elsif 340s registers an offense when multiple assignment is in if 340s registers an offense when multiple assignment is in else 340s behaves like allows out of order multiple assignment in if elsif else 340s allows out of order multiple assignment in if elsif else 340s behaves like comparison methods 340s registers an offense for comparison methods in ternary operations 340s with end alignment to keyword 340s corrects comparison methods in case when 340s corrects comparison methods in if elsif else 340s corrects comparison methods in unless else 340s >= Ruby 2.7 340s corrects comparison methods in case in 340s with end alignment to start_of_line 341s corrects comparison methods in case when 341s corrects comparison methods in if elsif else 341s corrects comparison methods in unless else 341s >= Ruby 2.7 341s corrects comparison methods in case in 341s behaves like all assignment types 341s for a global variable lval 341s registers an offense for assignment using ^= in ternary 341s for a constant lval 341s registers an offense for assignment using ^= in ternary 341s with end alignment to keyword 341s for a global variable lval 341s registers an offense for assignment using ^= in case when 341s registers an offense for assignment using ^= in if else 341s for a local variable lval 341s registers an offense for assignment using ^= in if else 341s registers an offense for assignment using ^= in case when 341s for a class variable lval 341s registers an offense for assignment using ^= in case when 341s registers an offense for assignment using ^= in if else 341s for a instance variable lval 341s registers an offense for assignment using ^= in case when 341s registers an offense for assignment using ^= in if else 341s for a constant lval 341s registers an offense for assignment using ^= in case when 341s registers an offense for assignment using ^= in if else 341s for a local variable lval 341s registers an offense for assignment using ^= in ternary 341s for a class variable lval 341s registers an offense for assignment using ^= in ternary 341s with end alignment to start_of_line 341s for a class variable lval 341s registers an offense for assignment using ^= in case when 341s registers an offense for assignment using ^= in if else 341s for a constant lval 341s registers an offense for assignment using ^= in case when 341s registers an offense for assignment using ^= in if else 341s for a global variable lval 341s registers an offense for assignment using ^= in case when 341s registers an offense for assignment using ^= in if else 341s for a instance variable lval 341s registers an offense for assignment using ^= in case when 341s registers an offense for assignment using ^= in if else 341s for a local variable lval 341s registers an offense for assignment using ^= in if else 341s registers an offense for assignment using ^= in case when 341s for a instance variable lval 341s registers an offense for assignment using ^= in ternary 341s EndAlignment configured to start_of_line 341s autocorrect 341s uses proper end alignment in unless 341s uses proper end alignment in if 341s uses proper end alignment in case 341s correction would exceed max line length 341s allows assignment to the same variable in case when else if the correction would create a line longer than the configured LineLength 341s allows assignment to the same variable in if else if the correction would create a line longer than the configured LineLength 341s allows assignment to the same variable in if else if the correction would cause the condition to exceed the configured LineLength 341s assignment as the last statement 341s allows multiple assignment in if elsif else when the last assignment is the same and the earlier assignments do not appear in all branches 341s allows multiple assignment in case statements when the last assignment is the same and the earlier assignments do not appear in all branches 341s allows multiple assignment in if elsif elsif else 341s allows multiple assignments in case when with only one when 341s allows assignment in if elsif else with some branches only containing variable assignment and others containing more than variable assignment 341s allows variable assignment in case when else with more than variable assignment 341s allows multiple assignment in unless else 341s allows more than variable assignment in if elsif else 341s allows multiple assignment in case when else when the last assignment is the same and the earlier assignments do not appear in all branches 341s allows more than variable assignment in if else 341s allows multiple assignments in case when with multiple whens 341s allows multiple assignments in case when if there are uniq variables in the when branches 341s allows multiple assignment in if elsif else 341s allows multiple assignment in if else 341s allows variable assignment in unless else with more than variable assignment 341s behaves like allows out of order multiple assignment in if elsif else 341s allows out of order multiple assignment in if elsif else 341s multiple assignment in only one branch 341s allows multiple assignment is in elsif 341s does not register an offense when multiple assignment is in else 341s allows multiple assignment is in if 341s behaves like comparison methods 341s registers an offense for comparison methods in ternary operations 341s with end alignment to keyword 341s corrects comparison methods in if elsif else 341s corrects comparison methods in unless else 341s corrects comparison methods in case when 341s >= Ruby 2.7 341s corrects comparison methods in case in 341s with end alignment to start_of_line 341s corrects comparison methods in case when 341s corrects comparison methods in if elsif else 341s corrects comparison methods in unless else 341s >= Ruby 2.7 341s corrects comparison methods in case in 341s empty branch 341s allows an empty if statement 341s allows assignment in unless without an else 341s allows an empty elsif statement 341s allows if elsif without else 341s allows an empty when branch with an else 341s allows assignment in case when without an else 341s allows case with an empty else 341s allows assignment in if without an else 341s behaves like comparison methods 341s registers an offense for comparison methods in ternary operations 341s with end alignment to keyword 341s corrects comparison methods in case when 341s corrects comparison methods in unless else 341s corrects comparison methods in if elsif else 341s >= Ruby 2.7 341s corrects comparison methods in case in 341s with end alignment to start_of_line 341s corrects comparison methods in unless else 341s corrects comparison methods in if elsif else 341s corrects comparison methods in case when 341s >= Ruby 2.7 341s corrects comparison methods in case in 341s behaves like all assignment types 341s for a constant lval 341s registers an offense for assignment using <<= in ternary 341s for a global variable lval 341s registers an offense for assignment using <<= in ternary 341s for a instance variable lval 341s registers an offense for assignment using <<= in ternary 341s for a local variable lval 341s registers an offense for assignment using <<= in ternary 341s with end alignment to keyword 341s for a global variable lval 341s registers an offense for assignment using <<= in case when 341s registers an offense for assignment using <<= in if else 341s for a local variable lval 341s registers an offense for assignment using <<= in if else 341s registers an offense for assignment using <<= in case when 341s for a class variable lval 341s registers an offense for assignment using <<= in if else 341s registers an offense for assignment using <<= in case when 341s for a constant lval 341s registers an offense for assignment using <<= in if else 341s registers an offense for assignment using <<= in case when 341s for a instance variable lval 341s registers an offense for assignment using <<= in case when 341s registers an offense for assignment using <<= in if else 341s with end alignment to start_of_line 341s for a local variable lval 341s registers an offense for assignment using <<= in if else 341s registers an offense for assignment using <<= in case when 341s for a instance variable lval 341s registers an offense for assignment using <<= in case when 341s registers an offense for assignment using <<= in if else 341s for a global variable lval 341s registers an offense for assignment using <<= in case when 341s registers an offense for assignment using <<= in if else 341s for a constant lval 341s registers an offense for assignment using <<= in if else 341s registers an offense for assignment using <<= in case when 341s for a class variable lval 341s registers an offense for assignment using <<= in case when 341s registers an offense for assignment using <<= in if else 341s for a class variable lval 341s registers an offense for assignment using <<= in ternary 341s behaves like all assignment types 341s for a global variable lval 341s registers an offense for assignment using = in ternary 341s for a constant lval 341s registers an offense for assignment using = in ternary 341s with end alignment to start_of_line 341s for a constant lval 341s registers an offense for assignment using = in if else 341s registers an offense for assignment using = in case when 341s for a instance variable lval 341s registers an offense for assignment using = in if else 341s registers an offense for assignment using = in case when 341s for a global variable lval 341s registers an offense for assignment using = in if else 341s registers an offense for assignment using = in case when 341s for a class variable lval 341s registers an offense for assignment using = in case when 341s registers an offense for assignment using = in if else 341s for a local variable lval 341s registers an offense for assignment using = in case when 341s registers an offense for assignment using = in if else 341s for a instance variable lval 341s registers an offense for assignment using = in ternary 341s for a local variable lval 341s registers an offense for assignment using = in ternary 341s for a class variable lval 341s registers an offense for assignment using = in ternary 341s with end alignment to keyword 341s for a local variable lval 341s registers an offense for assignment using = in case when 341s registers an offense for assignment using = in if else 341s for a class variable lval 341s registers an offense for assignment using = in case when 341s registers an offense for assignment using = in if else 341s for a constant lval 341s registers an offense for assignment using = in if else 341s registers an offense for assignment using = in case when 341s for a global variable lval 341s registers an offense for assignment using = in case when 341s registers an offense for assignment using = in if else 341s for a instance variable lval 341s registers an offense for assignment using = in case when 341s registers an offense for assignment using = in if else 341s autocorrect 341s preserves comments during correction in if else 341s preserves comments during correction in case when else 341s corrects =~ in ternary operations 341s corrects assignment to unbracketed array in if else 341s multiple assignment 341s does not register an offense in if else 341s does not register an offense in case when 341s constant assignment 341s corrects if..else with top-level constant 341s corrects if..else with namespaced constant 341s assignment from a method 341s corrects if else 341s corrects case when 341s corrects unless else 341s aref assignment 341s corrects if..else 341s with different indices 341s doesn't register an offense 341s self.attribute= assignment 341s corrects if..else 341s with different receivers 341s doesn't register an offense 341s 341s RuboCop::Cop::Lint::ErbNewArguments 341s >= Ruby 2.6 341s registers an offense when using `ERB.new` with non-keyword 2nd, 3rd and 4th arguments andkeyword 5th argument 341s registers an offense when using `ERB.new` with non-keyword 2nd and 3rd arguments 341s registers an offense when using `::ERB.new` with non-keyword 2nd, 3rd and 4th arguments 341s does not register an offense when using `ERB.new` with keyword arguments 341s registers an offense when using `ERB.new` with non-keyword 2nd and 3rd arguments andkeyword 4th argument 341s does not register an offense when using `ERB.new` without optional arguments 341s registers an offense when using `ERB.new` with non-keyword 2nd argument 341s registers an offense when using `ERB.new` with non-keyword 2nd, 3rd and 4th arguments 341s when using `ActionView::Template::Handlers::ERB.new` 341s does not register an offense when using `ERB.new` without arguments 341s <= Ruby 2.5 341s does not register an offense when using `ERB.new` with non-keyword arguments 341s 341s RuboCop::Cop::Naming::AccessorMethodName 341s registers an offense for method set_something with one arg 341s accepts method set_something with kwoptarg 341s accepts singleton method set_something with no args 341s accepts method set_something with no args 341s accepts singleton method get_something with args 341s accepts method set_something with kwarg 341s accepts method set_something with two args 341s accepts method set_something with restarg 341s registers an offense for singleton method get_something with no args 341s accepts method set_something with kwrestarg 341s registers an offense for method get_something with no args 341s accepts method set_something with blockarg 341s accepts singleton method set_something with two args 341s accepts method set_something with optarg 341s registers an offense for singleton method set_something with one args 341s accepts method get_something with args 341s >= Ruby 2.7 341s accepts method set_something with arguments forwarding 341s 341s RuboCop::Cop::Lint::RedundantWithIndex 341s registers an offense when using `ary.each.with_index { |v| v }` and corrects to `ary.each` 341s registers an offense when using `ary.each_with_object([]).with_index { |v| v }` and corrects to `ary.each_with_object([]) { |v| v }` 341s accepts an index is used as a block argument 341s registers an offense when using `ary.each.with_index(1) { |v| v }` and correct to `ary.each { |v| v }` 341s registers an offense for `ary.each_with_index { |v| v }` and corrects to `ary.each` 341s Ruby 2.7 341s accepts an index is used as a numblock argument 341s registers an offense for `ary.each_with_index { _1 }` and corrects to `ary.each` 341s registers an offense when using `ary.each.with_index { _1 }` and corrects to `ary.each` 341s 341s RuboCop::Cop::VisibilityHelp 341s #node_visibility 341s with visibility block private after public 341s is expected to eq :private 341s with inline private 341s is expected to eq :private 341s with inline private with symbol 341s is expected to eq :private 341s with visibility block private 341s is expected to eq :private 341s with visibility block public 341s is expected to eq :public 341s with inline public 341s is expected to eq :public 341s without visibility block 341s is expected to eq :public 341s 341s RuboCop::Cop::Style::MultilineWhenThen 341s doesn't register an offense for multiline when statementwith then followed by other lines 341s does not register an offense for array when statement with then 341s registers an offense when one line for multiple candidate values of `when` 341s does not register an offense when line break for multiple candidate values of `when` 341s doesn't register an offense for empty when statement without then 341s autocorrects when the body of `when` branch starts with `then` 341s registers an offense for empty when statement with then 341s registers an offense for multiline (two lines in a body) when statement with then 341s doesn't register an offense for singleline when statement with then 341s registers an offense for multiline (one line in a body) when statement with then 341s doesn't register an offense for multiline when statement without then 341s doesn't register an offense when `then` required for a body of `when` is used 341s does not register an offense for hash when statement with then 341s 341s RuboCop::Cop::Style::StringHashKeys 341s does not register an offense when string key is used in gsub! 341s registers an offense when using strings as keys mixed with other keys 341s autocorrects strings as keys into symbols with the correct syntax 341s does not register an offense when string key is used in IO.popen 341s registers an offense when using strings as keys 341s does not register an offense when string key is used in Open3.pipeline 341s does not register an offense when string key is used in gsub 341s does not register an offense when string key is used in Open3.capture3 341s does not register an offense when not using strings as keys 341s 341s RuboCop::Cop::Layout::SpaceBeforeFirstArg 341s for method calls with parentheses 341s accepts a method call with space after the left parenthesis 341s accepts a method call without space 341s for method calls without parentheses 341s registers an offense and corrects method call with two spaces before the first arg 341s registers an offense for method call with no spaces before the first arg 341s accepts setter call 341s accepts + operator 341s accepts multiple space containing line break 341s accepts a method call with one space before the first arg 341s when AllowForAlignment is false 341s registers an offense and corrects method calls with aligned first arguments 341s when using safe navigation operator 341s registers an offense and corrects method call with two spaces before the first arg 341s when a vertical argument positions are aligned 341s registers an offense 341s when AllowForAlignment is true 341s accepts method calls with aligned first arguments 341s 341s RuboCop::Cop::Layout::ParameterAlignment 341s aligned with fixed indentation 341s registers an offense and corrects parameters with double indent 341s accepts proper indentation 341s accepts a method definition without parameters 341s accepts the first parameter being on a new row 341s doesn't get confused by splat 341s accepts parameter lists on a single line 341s registers an offense and corrects parameters aligned to first param 341s defining self.method 341s registers an offense and corrects parameters aligned to first param 341s accepts proper indentation 341s aligned with first parameter 341s accepts the first parameter being on a new row 341s registers an offense and corrects parameters with single indent 341s registers an offense and corrects alignment in simple case 341s accepts proper indentation 341s accepts a method definition without parameters 341s accepts parameter lists on a single line 341s doesn't get confused by splat 341s registers an offense and corrects parameters with double indent 341s defining self.method 341s registers an offense and corrects parameters with single indent 341s accepts proper indentation 341s 341s RuboCop::Cop::Style::PerlBackrefs 341s autocorrects $` to Regexp.last_match.pre_match 341s autocorrects `#$1` to `#{Regexp.last_match(1)}` 341s autocorrects $' to Regexp.last_match.post_match 341s autocorrects $LAST_PAREN_MATCH to Regexp.last_match(-1) 341s autocorrects puts $1 to puts Regexp.last_match(1) 341s autocorrects "#$1" to "#{Regexp.last_match(1)}" 341s autocorrects $PREMATCH to Regexp.last_match.pre_match 341s autocorrects $POSTMATCH to Regexp.last_match.post_match 341s autocorrects $& to Regexp.last_match(0) 341s autocorrects $MATCH to Regexp.last_match(0) 341s autocorrects /#$1/ to /#{Regexp.last_match(1)}/ 341s autocorrects $9 to Regexp.last_match(9) 341s autocorrects $1 to ::Regexp.last_match(1) in namespace 341s autocorrects $+ to Regexp.last_match(-1) 341s 341s RuboCop::Cop::Registry 341s can be cloned 341s exposes a list of cop names 341s can filter down to all but one type 341s can filter down to one type 341s exposes the number of stored cops 341s exposes cop departments 341s exposes a mapping of cop names to cop classes 341s #cops 341s exposes a list of cops 341s with cops having the same inner-most module 341s exposes both cops 341s #enabled 341s overrides config if :only includes the cop 341s selects cops which are enabled in the config 341s selects only safe cops if :safe passed 341s when new cops are introduced 341s overrides config if :only includes the cop 341s does not include them 341s when specifying `NewCops: enable` option in .rubocop.yml 341s includes them 341s when specifying `NewCops: disable` option in .rubocop.yml 341s does not include them 341s when specifying `NewCops: pending` option in .rubocop.yml 341s does not include them 341s when specifying `--disable-pending-cops` command-line option 341s does not include them 341s when specifying `NewCops: enable` option in .rubocop.yml 341s does not include them because command-line option takes precedence over .rubocop.yml 341s when specifying `--enable-pending-cops` command-line option 341s includes them 341s when specifying `NewCops: disable` option in .rubocop.yml 341s includes them because command-line option takes precedence over .rubocop.yml 341s when dismissing a cop class 341s disallows it if done too late 341s allows re-listing 341s allows it if done rapidly 341s #contains_cop_matching? 341s can find cops matching a given name 341s returns false for cops not included in the store 341s names_for_department 341s returns array of cops for specified department 341s #department? 341s returns true for department name 341s returns false for other names 341s #qualified_cop_name 341s returns the provided name if no namespace is found 341s qualifies names with the correct namespace 341s qualifies names without a namespace 341s raises an error when a cop name is ambiguous 341s gives back already properly qualified names 341s emits a warning when namespace is incorrect 341s 341s RuboCop::Cop::Layout::IndentationConsistency 341s with top-level code 341s registers and corrects an offense when using access modifier and indented method definition at the top level 341s accepts when using access modifier at the top level 341s accepts an empty expression string interpolation 341s with module 341s registers an offense and corrects bad indentation of private methods 341s accepts an empty module body 341s registers an offense and corrects bad indentation in a module body 341s even when there are no public methods 341s registers an offense and corrects bad indentation of private methods 341s with block 341s accepts an empty block body 341s accepts a correctly indented block body 341s registers an offense and corrects bad indentation in a {} body 341s registers an offense and correct bad indentation in a do/end body 341s does not autocorrect an offense within another offense 341s with def/defs 341s registers an offense and corrects bad indentation in a defs body 341s registers an offense and corrects bad indentation in a def body 341s accepts an empty def body 341s accepts an empty defs body 341s with while/until 341s registers an offense and corrects bad indentation in a while body 341s registers an offense and corrects bad indentation in begin/end/while 342s accepts an empty while 342s registers an offense and corrects bad indentation in an until body 342s with for 342s registers an offense and corrects bad indentation in a for body 342s accepts an empty for 342s with case 342s registers an offense and corrects bad indentation in a case/when body 342s accepts indented when/else plus indented body 342s registers an offense and corrects bad indentation in a case/else body 342s accepts case/when/else with then beginning a line 342s accepts case/when/else laid out as a table 342s accepts correctly indented case/when/else 342s with if statement 342s accepts a correctly aligned if/elsif/else/end 342s accepts an if/else branches with rescue clauses 342s registers an offense and corrects bad indentation in an if body 342s accepts an if/else in assignment with end aligned with if 342s accepts if/elsif/else/end with fullwidth characters 342s accepts an if/else in assignment with end aligned with variable and chaining after the end 342s accepts a one line if statement 342s accepts if/then/else/end laid out as another table 342s accepts an empty if 342s accepts if/elsif/else/end laid out as a table 342s accepts an if/else in assignment on next line with end aligned with if 342s accepts an if/else in assignment with end aligned with variable 342s accepts an if/else in assignment with end aligned with variable and chaining with a block after the end 342s accepts an if in assignment with end aligned with if 342s registers an offense and corrects bad indentation in an elsif body 342s registers an offense and corrects bad indentation in an else body 342s accepts an if in assignment with end aligned with variable 342s with class 342s with normal style configured 342s accepts indented public, protected, and private 342s accepts an empty class body 342s registers an offense and corrects bad indentation in def but not for outdented public, protected, and private 342s registers an offense and corrects bad indentation in a class body 342s with indented_internal_methods style configured 342s accepts different indentation in different visibility sections 342s accepts different indentation in different visibility sections when using `Struct.new` 342s with unless 342s accepts an empty unless 342s registers an offense and corrects bad indentation in an unless body 342s 342s RuboCop::Cop::Style::Attr 342s does not register offense for custom `attr` method 342s registers an offense attr 342s registers offense for attr within module_eval 342s registers offense for attr within class_eval 342s accepts attr when it does not take arguments 342s accepts attr when it has a receiver 342s autocorrects 342s attr to attr_reader 342s attr :name, true to attr_accessor :name 342s attr, false to attr_reader 342s attr with multiple names to attr_reader 342s 342s RuboCop::Cop::Lint::UselessElseWithoutRescue 342s with `else` without `rescue` 342s registers an offense 342s with `else` with `rescue` 342s accepts 342s 342s RuboCop::Cop::Layout::SpaceAfterMethodName 342s accepts class method def with arguments but no parentheses 342s registers offense and corrects class def with space before parenthesis 342s accepts a defs without arguments 342s accepts an assignment def with arguments but no parentheses 342s registers offense and corrects assignment def with space before parenthesis 342s registers an offense and corrects def with space before the parenthesis 342s accepts a def without arguments 342s accepts a def with arguments but no parentheses 342s 342s RuboCop::FeatureLoader 342s .load 342s with dot-prefixed namespaced feature 342s loads it as namespaced feature 342s with unloadable namespaced feature 342s raises LoadError with preferred message 342s with unexpected LoadError from require 342s raises LoadError 342s with dot-prefixed loadable feature 342s loads it as relative path 342s with normally loadable feature 342s loads it normally 342s with namespaced feature 342s loads it as namespaced feature 342s 342s RuboCop::Cop::Style::MethodCallWithoutArgsParentheses 342s registers an offense for `obj.method &&= func()` 342s accepts parentheses for methods starting with an upcase letter 342s accepts special lambda call syntax 342s accepts parens in method call with args 342s accepts parens after not 342s registers an offense for parens in method call without args 342s registers an offense for `obj.method ||= func()` 342s autocorrects calls that could be empty literals 342s registers an offense for `obj.method += func()` 342s when AllowedMethods is enabled 342s ignores method listed in AllowedMethods 342s method call as argument 342s accepts without parens 342s registers an offense with empty parens 342s registers an empty parens offense for multiple assignment 342s when AllowedPatterns is enabled 342s ignores method listed in AllowedMethods 342s assignment to a variable with the same name 342s accepts parens in complex assignment 342s accepts parens in shorthand assignment 342s accepts parens in local variable assignment 342s accepts parens in default argument assignment 342s accepts parens in parallel assignment 342s 342s RuboCop::Cop::Layout::ClassStructure 342s registers an offense and corrects when str heredoc constant is defined after public method 342s registers an offense and corrects when literal constant is after method definitions 342s registers an offense and corrects when there is a comment in the macro method 342s registers an offense and corrects when xstr heredoc constant is defined after public method 342s registers an offense and corrects when dstr heredoc constant is defined after public method 342s simple example 342s is expected to eq "class Person\n include AnotherModule\n extend SomeModule\n CONST = 'wrong place'\nend\n" 342s constant is not a literal 342s registers offense but does not autocorrect 342s with protected methods declared before private 342s is expected to eq class MyClass 342s def public_method 342s end 342s 342s private 342s 342s def first_private...ar before `private_methods`. 342s end 342s 342s def second_protected_method 342s end 342s end 342s when the first line ends with a comment 342s reports an offense and swaps the lines 342s initializer is private and comes after attribute macro 342s registers an offense and autocorrects 342s when def modifier is used 342s registers an offense and corrects public method with modifier declared after private method with modifier 342s registers an offense and corrects public method without modifier declared after private method with modifier 342s registers an offense and corrects public method after private method marked by its name 342s with attribute macros before after validations 342s is expected to eq class Person 342s include AnotherModule 342s extend SomeModule 342s 342s CustomError = Cla...rivate :other_public_method 342s 342s private 342s 342s def some_private_method 342s end 342s end 342s with a complete ordered example 342s does not create offense 342s 342s RuboCop::Cop::Lint::InterpolationCheck 342s registers an offense for interpolation in single quoted split string 342s registers an offense and corrects when including interpolation and double quoted string in single quoted string 342s registers an offense and corrects for interpolation in single quoted string 342s does not register an offense for properly interpolation strings 342s does not register an offense for interpolation in nested strings 342s does not crash for \xff 342s does not register offense for strings in %w() 342s registers an offense for interpolation in double + single quoted split string 342s does not register an offense for escaped crab claws in dstr 342s does not register an offense for interpolation in a regexp 342s does not register an offense for an escaped interpolation 342s 342s RuboCop::Cop::Style::MagicCommentFormat 342s kebab case style 342s accepts a magic comments in kebab case 342s registers an offense for mixed case 342s registers an offense for snake case in emacs style 342s registers an offense for snake case 342s accepts a source with no tokens 342s does not register an offense for incorrect style in comments after the first statement 342s does not register an offense for dashes in other comments 342s accepts a frozen string literal in snake case in emacs style 342s accepts an empty source 342s snake case style 342s registers an offense for kebab case in emacs style 342s registers an offense for mixed case 342s accepts an empty source 342s does not register an offense for dashes in other comments 342s accepts a source with no tokens 342s accepts a frozen string literal in snake case in emacs style 342s does not register an offense for incorrect style in comments after the first statement 342s registers an offense for kebab case 342s accepts a magic comments in snake case 342s invalid config 342s DirectiveCapitalization 342s raises an error 342s ValueCapitalization 342s raises an error 342s DirectiveCapitalization 342s when lowercase 342s registers an offense and corrects when the case does not match 342s when uppercase 342s registers an offense and corrects when the case does not match 342s when not set 342s does not change the case of magic comment directives 342s all issues at once 342s registers and corrects multiple issues 342s ValueCapitalization 342s when uppercase 342s registers an offense and corrects when the case does not match 342s when lowercase 342s registers an offense and corrects when the case does not match 342s when not set 342s does not change the case of magic comment directives 342s 342s RuboCop::Cop::Layout::SpaceBeforeBlockBraces 342s when EnforcedStyle is space 342s registers an offense and corrects multiline block where the left brace has no outer space 342s accepts braces surrounded by spaces 342s registers an offense and corrects left brace without outer space 342s registers an offense and corrects opposite + correct style 342s Ruby 2.7 342s registers an offense and corrects opposite + correct style 342s registers an offense and corrects multiline block where the left brace has no outer space 342s with space before empty braces not allowed 342s accepts empty braces without outer space 342s registers an offense and corrects empty braces 342s with space before empty braces allowed 342s accepts empty braces with outer space 342s registers an offense and corrects empty braces 342s with invalid value for EnforcedStyleForEmptyBraces 342s fails with an error 342s when EnforcedStyle is no_space 342s accepts left brace without outer space 342s registers an offense and corrects correct + opposite style 342s registers an offense and corrects braces surrounded by spaces 342s Ruby 2.7 342s registers an offense and corrects correct + opposite style 342s with `EnforcedStyle` of `Style/BlockDelimiters` 342s accepts left brace without outer space 342s 342s RuboCop::Cop::Utils::FormatString 342s finds the correct number of fields 342s #valid? 342s returns false when there are unnumbered and named formats 342s returns false when there are unnumbered and numbered formats 342s returns true when there are only numbered formats 342s returns true when there are only named with escaped `%` formats 342s returns true when there are only named formats 342s returns false when there are numbered and named formats 342s returns true when there are only unnumbered formats 342s #named_interpolation? 342s behaves like named format sequence 342s detects named format sequence 342s does not detect escaped named format sequence 342s behaves like named format sequence 342s does not detect escaped named format sequence 342s detects named format sequence 342s behaves like named format sequence 342s detects named format sequence 342s does not detect escaped named format sequence 342s behaves like named format sequence 342s does not detect escaped named format sequence 342s detects named format sequence 342s 342s RuboCop::Cop::Style::WordArray 342s with a treacherous WordRegex configuration 342s doesn't break when words contain delimiters 342s doesn't break when words contain whitespace 342s when PreferredDelimiters is specified 342s autocorrects an array with delimiters 342s with non-default MinSize 342s does not autocorrect arrays of one symbol if MinSize > 1 342s when EnforcedStyle is percent 342s does not register an offense for array containing non-string 342s does not register an offense for a %w() array containing non word characters 342s autocorrects an array of words in multiple lines 342s keeps the line breaks in place after autocorrect 342s does not register offense for array with allowed number of strings 342s detects right value of MinSize to use for --auto-gen-config 342s does not register an offense for array of non-words 342s autocorrects an array of words and character constants 342s does not register an offense for an array with comments in it 342s registers an offense for arrays of double quoted strings 342s registers an offense for arrays of strings containing hyphens 342s registers an offense for strings with newline and tab escapes 342s registers an offense for arrays of single quoted strings 342s does not register an offense for array with empty strings 342s registers an offense for arrays with character constants 342s autocorrects an array of words 342s registers an offense for a %w() array containing spaces 342s registers an offense for an array with comments outside of it 342s autocorrects an array of words using partial newlines 342s corrects properly when there is an extra trailing comma 342s registers an offense in a non-ambiguous block context 342s autocorrects an array with one element 342s uses %W when autocorrecting strings with embedded newlines and tabs 342s does not register an offense on non-word strings 342s detects when the cop must be disabled to avoid offenses 342s does not register an offense for array starting with %w 342s doesn't fail in wacky ways when multiple cop instances are used 342s when the default external encoding is UTF-8 342s registers an offense for arrays of unicode word characters 342s when the default external encoding is US-ASCII 342s registers an offense for arrays of unicode word characters 342s when the WordRegex configuration is not a Regexp 342s still parses the code without raising an error 342s when EnforcedStyle is array 342s doesn't fail on strings which are not valid UTF-8 342s doesn't fail with `encoding: binary 342s autocorrects a %W() array which uses string interpolation 342s autocorrects a %W() array which uses string with hyphen 342s autocorrects a %w() array which uses single quotes 342s does not register an offense for arrays of double quoted strings 342s autocorrects multiline %w() array 342s does not register an offense for arrays of strings with hyphens 342s does not register an offense for arrays of single quoted strings 342s autocorrects a %w() array which uses string with hyphen 342s registers an offense for a %w() array 342s does not register an offense for arrays of strings with spaces 342s registers an offense for an empty %w() array 342s autocorrects a %W() array which uses escapes 342s with a custom WordRegex configuration 342s registers an offense for arrays of email addresses 342s with a WordRegex configuration which accepts almost anything 342s uses %W when autocorrecting strings with non-printable chars 342s uses %w for strings which only appear to have an escape 342s 342s RuboCop::Cop::Naming::VariableNumber 342s when configured for normal 342s registers an offense for snake case numbering in a global variable name 342s registers an offense for snake case numbering in symbol 342s registers an offense for snake case numbering in method camel case parameter 342s registers an offense for snake case numbering in method parameter 342s registers an offense for snake case numbering in method name 342s does not register an offense for normal case numbering in symbol 342s behaves like accepts 342s accepts _ in normalcase 342s behaves like offense 342s registers an offense for sha_256 in normalcase 342s behaves like accepts 342s accepts target_u2f_device in normalcase 342s behaves like accepts 342s accepts user1_id in normalcase 342s behaves like offense 342s registers an offense for localFOO_1 in normalcase 342s behaves like offense 342s registers an offense for @local_1 in normalcase 342s behaves like accepts 342s accepts user_1_id in normalcase 342s behaves like accepts 342s accepts localFOO1 in normalcase 342s behaves like accepts 342s accepts local1 in normalcase 342s behaves like offense 342s registers an offense for @@local_1 in normalcase 342s behaves like accepts 342s accepts local_ in normalcase 342s behaves like accepts 342s accepts @__foo__ in normalcase 342s behaves like accepts integer symbols 342s accepts integer symbol 342s accepts integer symbol array literal 342s behaves like offense 342s registers an offense for local_FOO_1 in normalcase 342s behaves like offense 342s registers an offense for _myLocal_1 in normalcase 342s behaves like accepts 342s accepts @foo in normalcase 342s behaves like offense_array 342s registers an offense for ["a_1", "a2"] in normalcase 342s behaves like offense 342s registers an offense for local_1 in normalcase 342s behaves like offense 342s registers an offense for myAttribute_1 in normalcase 342s behaves like accepts 342s accepts foo10_bar in normalcase 342s behaves like accepts 342s accepts _1 in normalcase 342s behaves like accepts 342s accepts snake_case in normalcase 342s behaves like accepts 342s accepts emparejó in normalcase 342s behaves like accepts 342s accepts _foo in normalcase 342s behaves like accepts 342s accepts sha256 in normalcase 342s behaves like offense 342s registers an offense for @myAttribute_1 in normalcase 342s when configured for snake_case 342s registers an offense for normal case numbering in method camel case parameter 342s does not register an offense for snake case numbering in symbol 342s registers an offense for normal case numbering in a global variable name 342s registers an offense for normal case numbering in symbol 342s registers an offense for normal case numbering in method parameter 342s registers an offense for normal case numbering in method name 342s behaves like offense 342s registers an offense for _unused1 in snake_case 342s behaves like accepts 342s accepts @__foo__ in snake_case 342s behaves like offense 342s registers an offense for @local1 in snake_case 342s behaves like accepts 342s accepts a_1_b_1 in snake_case 342s behaves like accepts integer symbols 342s accepts integer symbol 342s accepts integer symbol array literal 342s behaves like accepts 342s accepts _ in snake_case 342s behaves like offense 342s registers an offense for camelCase1 in snake_case 342s behaves like accepts 342s accepts _foo in snake_case 342s behaves like accepts 342s accepts @foo in snake_case 342s behaves like offense 342s registers an offense for @camelCase1 in snake_case 342s behaves like offense 342s registers an offense for @@local1 in snake_case 342s behaves like accepts 342s accepts local_1 in snake_case 342s behaves like accepts 342s accepts local_ in snake_case 342s behaves like offense_array 342s registers an offense for ["a1", "a_2"] in snake_case 342s behaves like accepts 342s accepts emparejó in snake_case 342s behaves like accepts 342s accepts a_1_b in snake_case 342s behaves like offense 342s registers an offense for aB1 in snake_case 342s behaves like offense 342s registers an offense for local1 in snake_case 342s behaves like accepts 342s accepts _1 in snake_case 342s behaves like accepts 342s accepts local_12 in snake_case 342s behaves like accepts 342s accepts local_123 in snake_case 342s behaves like accepts 342s accepts aB_1 in snake_case 342s when configured for non integer 342s registers an offense for normal case numbering in symbol 342s registers an offense for snake case numbering in symbol 342s registers an offense for normal case numbering in method camel case parameter 342s registers an offense for snake case numbering in method camel case parameter 342s registers an offense for normal case numbering in method parameter 342s registers an offense for snake case numbering in method parameter 342s registers an offense for snake case numbering in method name 342s registers an offense for normal case numbering in method name 342s behaves like offense 342s registers an offense for @local1 in non_integer 342s behaves like offense 342s registers an offense for @myAttribute_1 in non_integer 342s behaves like offense 342s registers an offense for _myLocal_1 in non_integer 342s behaves like offense 342s registers an offense for myAttribute1 in non_integer 342s behaves like offense 342s registers an offense for _myLocal1 in non_integer 342s behaves like offense 342s registers an offense for myAttribute_1 in non_integer 342s behaves like offense 342s registers an offense for local1 in non_integer 342s behaves like offense 342s registers an offense for @myAttribute1 in non_integer 342s behaves like accepts integer symbols 342s accepts integer symbol 342s accepts integer symbol array literal 342s behaves like accepts 342s accepts localone in non_integer 342s behaves like offense 342s registers an offense for @local_1 in non_integer 342s behaves like offense 342s registers an offense for local_1 in non_integer 342s behaves like accepts 342s accepts @foo in non_integer 342s behaves like accepts 342s accepts _foo in non_integer 342s behaves like accepts 342s accepts local_one in non_integer 342s behaves like accepts 342s accepts emparejó in non_integer 342s behaves like accepts 342s accepts @@foo in non_integer 342s behaves like offense_array 342s registers an offense for ["a_1", "aone"] in non_integer 342s behaves like accepts 342s accepts _1 in non_integer 342s behaves like accepts 342s accepts fooBar in non_integer 342s behaves like accepts 342s accepts local_ in non_integer 342s behaves like accepts 342s accepts @__foo__ in non_integer 342s behaves like accepts 342s accepts _ in non_integer 342s when AllowedIdentifiers is set 342s does not register an offense for a local variable name that is allowed 342s does not register an offense for a class variable name that is allowed 342s does not register an offense for a instance variable name that is allowed 342s does not register an offense for a method name that is allowed 342s does not register an offense for a global variable name that is allowed 342s does not register an offense for a symbol that is allowed 342s when AllowedPatterns is set 342s registers an offense for a method name that does not match an allowed pattern 342s registers an offense for a class variable name that does not match an allowed pattern 342s registers an offense for a global variable name that does not match an allowed pattern 342s does not register an offense for a symbol that matches an allowed pattern 342s registers an offense for a instance variable name that does not match an allowed pattern 342s does not register an offense for a method name that matches an allowed pattern 342s does not register an offense for a class variable name that matches an allowed pattern 342s does not register an offense for a instance variable name that matches an allowed pattern 342s does not register an offense for a local variable name that matches an allowed pattern 342s registers an offense for a symbol that does not match an allowed pattern 342s registers an offense for a local variable name that does not match an allowed pattern 342s does not register an offense for a global variable name that matches an allowed pattern 342s when CheckMethodNames is false 342s does not register an offense for snake case numbering in method name 342s when CheckSymbols is false 342s does not register an offense for snake case numbering in symbol 342s 342s RuboCop::Cop::Lint::DuplicateHashKey 342s when there is a duplicated key in the hash literal 342s registers an offense 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `"#{some_method_call}"` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `[1, 2, 3]` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `!true` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `(x && false)` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `(1)` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `(false or true)` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `(false && true)` hash keys 342s target ruby version >= 2.6 342s behaves like duplicated literal key 342s registers an offense for duplicated `(42..)` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `(false <=> true)` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `{ a: 1, b: 2 }` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `some_method_call` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `/.#{some_method_call}/` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `[some_method_call]` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `%r{abx}ixo` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `{ some_method_call => :sym }` hash keys 342s When there is no duplicated key in the hash 342s does not register an offense 342s behaves like duplicated literal key 342s registers an offense for duplicated `"#{2}"` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `%r{abx#{foo}}ixo` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `{ :a => 1, :b => 2 }` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `some_method_call(x, y)` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `(x or false)` hash keys 342s When a key is duplicated three times in a hash literal 342s registers two offenses 342s behaves like duplicated literal key 342s registers an offense for duplicated `/./` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `nil` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `'str'` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `false` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `1` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `{ :sym => some_method_call }` hash keys 342s behaves like duplicated non literal key 342s does not register an offense for duplicated `(x == false)` hash keys 342s behaves like duplicated literal key 342s registers an offense for duplicated `1.0` hash keys 342s when there are two duplicated keys in a hash 342s registers two offenses 342s 342s RuboCop::Cop::Naming::AsciiIdentifiers 342s when AsciiConstants is false 342s accepts identifiers with only ascii chars 343s registers an offense for a variable name with mixed chars 343s does not get confused by a byte order mark 343s registers an offense for a variable name with non-ascii chars 343s accepts constants with only ascii chars 343s does not get confused by an empty file 343s when AsciiConstants is true 343s accepts identifiers with only ascii chars 343s does not get confused by a byte order mark 343s registers an offense for a constant name with non-ascii chars 343s registers an offense for a variable name with non-ascii chars 343s does not get confused by an empty file 343s registers an offense for a variable name with mixed chars 343s 343s RuboCop::Cop::Style::Send 343s with __send__ 343s and without a receiver 343s does not register an offense for an invocation with args 343s does not register an offense for an invocation without args 343s and with a receiver 343s does not register an offense for an invocation without args 343s does not register an offense for an invocation with args 343s with public_send 343s and without a receiver 343s does not register an offense for an invocation with args 343s does not register an offense for an invocation without args 343s and with a receiver 343s does not register an offense for an invocation with args 343s does not register an offense for an invocation without args 343s with send 343s and without a receiver 343s does not register an offense for an invocation without args 343s registers an offense for an invocation with args 343s and with a receiver 343s registers an offense for an invocation with args 343s does not register an offense for an invocation without args 343s when using safe navigation operator 343s registers an offense for an invocation with args 343s 343s RuboCop::Cop::Style::NilComparison 343s configured with predicate preferred 343s registers an offense for === nil 343s registers and corrects an offense when using `x == nil` as a guard condition 343s registers an offense for == nil 343s configured with comparison preferred 343s registers and corrects an offense for `!x.nil?` 343s registers an offense for nil? 343s 343s RuboCop::Cop::InternalAffairs::RedundantMessageArgument 343s does not register an offense when `#message` with another node is passed 343s does not register an offense when formatted `MSG` is passed 343s when `#message` with offending node is passed 343s when message is the only keyword argument 343s registers an offense 343s when there are others keyword arguments 343s registers an offense 343s when `MSG` is passed 343s registers an offense 343s when `#message` is passed 343s registers an offense 343s 343s RuboCop::Cop::Layout::CommentIndentation 343s when allow_for_alignment is true 343s registers an offense and corrects 343s accepts comments with extra indentation if aligned with comment on previous line 343s registers offenses and corrects before __END__ but not after 343s near various kinds of brackets 343s is unaffected by closing bracket that does not begin a line 343s accepts correctly indented comments 343s on outer level 343s registers an offense and corrects an incorrectly indented (2) comment 343s accepts a correctly indented comment 343s registers an offense and corrects an incorrectly indented (1) comment 343s accepts a comment that follows code 343s registers an offense and corrects a documentation comment 343s registers an offense for each incorrectly indented comment 343s around program structure keywords 343s accepts correctly indented comments 343s with a blank line following the comment 343s accepts a correctly indented comment 343s when allow_for_alignment is false 343s registers offenses and corrects before __END__ but not after 343s registers an offense for comments with extra indentation 343s registers an offense and corrects 343s on outer level 343s registers an offense for each incorrectly indented comment 343s accepts a comment that follows code 343s registers an offense and corrects a documentation comment 343s registers an offense and corrects an incorrectly indented (2) comment 343s registers an offense and corrects an incorrectly indented (1) comment 343s accepts a correctly indented comment 343s around program structure keywords 343s accepts correctly indented comments 343s with a blank line following the comment 343s accepts a correctly indented comment 343s near various kinds of brackets 343s accepts correctly indented comments 343s is unaffected by closing bracket that does not begin a line 343s 343s RuboCop::Cop::Lint::RedundantCopDisableDirective 343s .check 343s autocorrecting whitespace 343s when there is a blank line before inline comment 343s removes the comment and preceding whitespace 343s when there is only whitespace before the comment 343s leaves the whitespace 343s when the comment is not the first line of the file 343s preserves whitespace before the comment 343s when the comment is the first line of the file 343s followed by code 343s removes the comment 343s followed by another comment 343s removes the comment and newline 343s followed by a newline 343s removes the comment and newline 343s nested inside a namespace 343s preserves indentation 343s inline comment 343s removes the comment and preceding whitespace 343s when there are no disabled lines 343s returns no offense 343s when there are disabled lines 343s and there is an offense 343s and a comment disables 343s all cops 343s returns no offense 343s that cop 343s returns no offense 343s that cop but on other lines 343s returns an offense 343s and there are no offenses 343s and a comment disables 343s comment is not at the beginning of the file 343s and not all cops have offenses 343s returns an offense 343s multiple cops, and the leftmost one has no offenses 343s returns an offense 343s one cop 343s returns an offense 343s multiple cops 343s returns an offense 343s a cop that is disabled in the config 343s returns an offense 343s if that cop has offenses 343s returns an offense 343s when that cop was previously enabled 343s returns no offense 343s multiple cops, and one of them has offenses 343s returns an offense 343s when using a directive comment after a non-directive comment 343s returns an offense 343s an unknown cop 343s returns an offense 343s itself and another cop 343s disabled on the same range 343s returns no offense 343s disabled on different ranges 343s returns no offense 343s and the other cop is disabled a second time 343s returns no offense 343s itself and all cops 343s disabled on different ranges 343s returns no offense 343s all cops 343s returns an offense 343s misspelled cops 343s returns an offense 343s multiple cops, with abbreviated names 343s one of them has offenses 343s returns an offense 343s and there are two offenses 343s and a comment disables 343s one cop twice 343s returns an offense 343s one cop and then all cops 343s returns an offense 343s with a disabled department 343s removes entire comment 343s does not remove correct department 343s removes redundant department 343s removes cop duplicated by department on previous line 343s removes cop duplicated by department and leaves free text as a comment 343s removes cop duplicated by department 343s 343s RuboCop::Cop::Style::MapCompactWithConditionalBlock 343s With single line block 343s does not register offenses if `compact` is not chained to `map` 343s registers an offense and corrects to `reject` with modifier form of `unless` condition 343s registers an offense and corrects to `select` with ternary expression 343s registers an offense and corrects to `select` with modifier form of `if` condition 343s registers an offense and corrects to `reject` with ternary expression 343s With multiline block 343s registers an offense and corrects to `select` with ternary expression 343s registers an offense and corrects to `reject` with modifier form of `unless` condition 343s registers an offense and corrects to `reject` with guard clause of `unless` and `next` has a value and return nil 343s registers an offense and corrects to `reject` with ternary expression 343s registers an offense and corrects to `select` with guard clause of `if` and `next` has a value and return nil 343s registers an offense and corrects to `select` with guard clause of `if` and next explicitly nil 343s does not register offenses if there are multiple guard clauses 343s registers an offense and corrects to `select` with multi-line `if` condition 343s does not register offenses if `compact` is not chained to `map` 343s registers an offense and corrects to `select` if `next value` in if_branch and `nil` in else_branch 343s registers an offense and corrects to `select` if condition has not else branch 343s registers an offense and corrects to `reject` with guard clause of `unless` and `next` explicitly nil 343s registers an offense and corrects to `select` with guard clause of `if` 343s registers an offense and corrects to `reject` with `if` condition 343s registers an offense and corrects to `reject` with `unless` condition 343s registers an offense and corrects to `select` with `if` condition 343s does not register offenses if condition has elsif branch 343s registers an offense and corrects to `select` with guard clause of `if` and `next` has a value 343s registers an offense and corrects to `select` with modifier form of `if` condition 343s registers an offense and corrects to `reject` with guard clause of `unless` 343s registers an offense and corrects to `reject` with guard clause of `unless` and `next` has a value 343s registers an offense and corrects to `reject` if `next value` in else_branch and `nil` in if_branch 343s does not register offenses if return value is not same as block argument 343s 343s RuboCop::Cop::Style::TrailingCommaInHashLiteral 343s with single line list of values 343s when EnforcedStyleForMultiline is comma 343s accepts single element literal without trailing comma 343s registers an offense for trailing comma in a literal 343s accepts empty literal 343s accepts literal without trailing comma 343s when EnforcedStyleForMultiline is no_comma 343s accepts empty literal 343s accepts single element literal without trailing comma 343s accepts literal without trailing comma 343s registers an offense for trailing comma in a literal 343s when EnforcedStyleForMultiline is consistent_comma 343s registers an offense for trailing comma in a literal 343s accepts empty literal 343s accepts literal without trailing comma 343s accepts single element literal without trailing comma 343s with multi-line list of values 343s when EnforcedStyleForMultiline is no_comma 343s accepts literal with no trailing comma 343s registers an offense for trailing comma in literal 343s accepts comma inside a heredoc parameters at the end 343s accepts comma in comment after last value item 343s when EnforcedStyleForMultiline is comma 343s accepts a multiline hash with a single pair and trailing comma 343s accepts trailing comma after a heredoc 343s registers an offense for no trailing comma 343s accepts trailing comma 343s registers an offense for trailing comma in a comment 343s when closing bracket is on same line as last value 343s accepts literal with no trailing comma 343s when EnforcedStyleForMultiline is consistent_comma 343s registers an offense for no trailing comma 343s accepts trailing comma 343s accepts a multiline hash with a single pair and trailing comma 343s accepts a multiline hash with pairs on a single line andtrailing comma 343s accepts trailing comma after a heredoc 343s when closing bracket is on same line as last value 343s registers an offense for literal with no trailing comma 343s 343s RuboCop::Cop::Style::HashLikeCase 343s MinBranchesCount: 3 343s does not register an offense when branches count is less than required 343s MinBranchesCount: 2 343s does not register an offense when using `case-when` with non-literals in conditions 343s does not register an offense when using `case-when` with literals of different types as conditions 343s registers an offense when using `case-when` with symbol conditions and literal bodies of the same type 343s does not register an offense when using `case-when` with non-literal bodies 343s does not register an offense when `case` has an `else` branch 343s registers an offense when using `case-when` with string conditions and literal bodies of the same type 343s does not register an offense when using `case-when` with literal bodies of different types 343s 343s RuboCop::Formatter::WorstOffendersFormatter 343s #finished 343s when there are many offenses 343s sorts by offense count first and then by cop name 343s 343s RuboCop::CLI --disable-uncorrectable 343s --disable-uncorrectable 343s does not disable anything for cops that support autocorrect 343s when exist offense for Layout/SpaceInsideArrayLiteralBrackets 343s when `EnforcedStyle: space` 343s does not disable anything for cops that support autocorrect 343s when `EnforcedStyle: no_space` 344s does not disable anything for cops that support autocorrect 344s if one one-line disable statement fits 344s adds it 344s adds it when the cop supports autocorrect but does not correct the offense 344s but there are more offenses on the line and they don't all fit 345s adds both one-line and before-and-after disable statements 345s and there are two offenses of the same kind on one line 345s adds a single one-line disable statement 345s if a one-line disable statement doesn't fit 345s adds before-and-after disable statement 345s and the offense is inside a heredoc 345s adds before-and-after disable statement around the heredoc 345s 345s RuboCop::Cop::Util 345s #line_range 345s returns line range of the expression 345s #to_supported_styles 345s when EnforcedStyle 345s is expected to eq "SupportedStyles" 345s when EnforcedStyleInsidePipes 345s is expected to eq "SupportedStylesInsidePipes" 345s #same_line? 345s returns false when two nodes are not on the same line 345s returns false if an argument is not a node or range 345s returns true when two nodes are on the same line 345s can use ranges 345s 345s RuboCop::Cop::Commissioner 345s #investigate 345s stores all errors raised by the cops 345s traverses the AST and invoke cops specific callbacks 345s traverses the AST with on_send / on_csend 345s for unrestricted cops 345s calls on_send all method calls 345s for a restricted cop 345s calls on_send for the right method calls 345s on both csend and send 345s calls on_send for the right method calls 345s when passed :raise_cop_error option 345s re-raises the exception received while processing 345s when a cop reports offenses 345s returns all offenses found by the cops 345s when passed :raise_error option 345s re-raises the exception received while processing 345s when given a source with parsing errors 345s only calls on_other_file 345s when given a force 345s passes the input params to all cops/forces that implement their own #investigate method 345s 345s RuboCop::Cop::Style::WhileUntilDo 345s accepts do in single-line while 345s accepts multi-line while without do 345s registers an offense for do in multiline until 345s registers an offense for do in multiline while 345s accepts multi-line until without do 345s accepts do in single-line until 345s 345s RuboCop::Cop::Style::ClassEqualityComparison 345s registers an offense and corrects when comparing double quoted class name for equality 345s does not register an offense when using `instance_of?` 345s registers an offense and corrects when comparing class using `eql?` for equality 345s registers an offense and corrects when comparing single quoted class name for equality 345s registers an offense and corrects when comparing class using `==` for equality 345s registers an offense and corrects when comparing `Module#name` for equality 345s registers an offense and corrects when comparing class using `equal?` for equality 345s with String comparison in module 345s registers and corrects an offense 345s when AllowedMethods is enabled 345s does not register an offense when comparing class for equality 345s when AllowedPatterns is enabled 345s does not register an offense when comparing class for equality 345s with instance variable comparison in module 345s registers and corrects an offense 345s 345s RuboCop::Cop::Lint::SymbolConversion 345s does not register an offense for a normal symbol 345s does not register an offense for a dstr 345s does not register an offense for a symbol that requires quotes 345s behaves like offense 345s registers an offense for "foo_bar".intern 345s implicit `to_sym` call 345s does not register an offense 345s behaves like offense 345s registers an offense for :foo.intern 345s behaves like offense 345s registers an offense for "foo-bar".intern 345s behaves like offense 345s registers an offense for "foo-bar".to_sym 345s behaves like offense 345s registers an offense for "foo".intern 345s behaves like offense 345s registers an offense for :foo.to_sym 345s behaves like offense 345s registers an offense for "foo_bar".to_sym 345s behaves like offense 345s registers an offense for :"foo_bar" 345s inside a percent literal array 345s does not register an offense 345s in an alias 345s does not register an offense 345s EnforcedStyle: consistent 345s hash where no keys need to be quoted 345s does not register an offense 345s hash where there are keys needing quoting 345s registers an offense for unquoted keys 345s with different quote styles 345s does not register an offense 345s with a mix of string and symbol keys 345s does not register an offense 345s hash where keys are quoted but do not need to be 345s registers an offense 345s with a key with = 345s requires symbols to be quoted 345s in a hash 345s keys 345s does not register an offense for a require quoted symbol that contains `:` 345s does not register an offense for a require quoted symbol 345s does not register an offense for a require quoted symbol that ends with `=` 345s does not register an offense for a normal symbol 345s registers and corrects an offense for a quoted symbol that ends with `!` 345s registers and corrects an offense for a quoted symbol that ends with `?` 345s registers an offense for a quoted symbol 345s does not register an offense for operators 345s values 345s does not register an offense for a normal symbol 345s registers an offense for a quoted symbol key 345s registers an offense for a quoted symbol value 345s behaves like offense 345s registers an offense for "foo".to_sym 345s behaves like offense 345s registers an offense for :"foo" 345s single quoted symbol 345s does not register an offense 345s 345s RuboCop::Cop::Style::OpenStructUse 345s when using OpenStruct 345s for ::OpenStruct 345s when inheriting from it via < 345s registers an offense 345s when inheriting from it via Class.new 345s registers an offense 345s when used in assignments 345s registers an offense 345s for OpenStruct 345s when used in assignments 345s registers an offense 345s when inheriting from it via Class.new 345s registers an offense 345s when inheriting from it via < 345s registers an offense 345s when not using OpenStruct 345s registers no offense 345s when using custom namespaced OpenStruct 345s when defined in custom namespace 345s when module 345s is expected to eq "module SomeNamespace\n module OpenStruct\n end\nend\n" 345s when class 345s is expected to eq "module SomeNamespace\n class OpenStruct\n end\nend\n" 345s when inheriting from it 345s is expected to eq "class A < SomeNamespace::OpenStruct; end" 345s when used in assignments 345s registers no offense 345s 345s RuboCop::Cop::Style::EachForSimpleLoop 345s does not register offense if range endpoint is not constant 345s does not register offense for character range 345s does not register offense if range startpoint is not constant 345s with multiline block with parameters 345s autocorrects an offense 345s when using an inclusive end range 345s does not register offense for range not starting with zero and using param 345s autocorrects the source with multiline block 345s autocorrects the source with inline block 345s autocorrects the range not starting with zero 345s with inline block with parameters 345s autocorrects an offense 345s when using an exclusive end range 345s autocorrects the source with inline block 345s autocorrects the source with multiline block 345s autocorrects the range not starting with zero 345s does not register offense for range not starting with zero and using param 345s 345s RuboCop::Cop::Style::StringLiteralsInInterpolation 345s when configured with a bad value 345s fails 345s configured with double quotes preferred 345s registers an offense for single quotes within embedded expression in a heredoc string 345s registers an offense for single quotes within embedded expression 345s configured with single quotes preferred 345s registers an offense for double quotes within embedded expression in a heredoc string 345s accepts double quotes on a static string 345s accepts double quotes on a broken static string 345s accepts double quotes on static strings within a method 345s registers an offense for double quotes within embedded expression 345s can handle a built-in constant parsed as string 345s can handle character literals 345s 345s RuboCop::Cop::Layout::SpaceInLambdaLiteral 345s when configured to enforce spaces 345s registers an offense and corrects no space in the outer nested lambda 345s does not register an offense for a space between -> and ( 345s registers an offense and corrects no space in the inner nested lambda 345s registers an offense and corrects no space in both lambdas when nested 345s registers an offense and corrects no space between -> and ( 345s does not register an offense for multi-line lambdas 345s does not register an offense for no space between -> and { 345s when configured to enforce no space 345s registers an offense and corrects a space in the outer nested lambda 345s does not register an offense for multi-line lambdas 345s registers an offense and corrects spaces between -> and ( 345s registers an offense and corrects a space in the inner nested lambda 345s does not register an offense for a space between -> and { 345s register offenses and correct spaces in both lambdas when nested 345s does not register an offense for no space between -> and ( 345s registers an offense and corrects a space between -> and ( 345s 345s RuboCop::Cop::Corrector 345s #rewrite 345s raises a useful error if not given a node or a range 345s allows insertion before a source range 345s allows removal of characters preceding range 345s allows removal of a range 345s allows replacement of a range 345s allows insertion before and after a source range 345s accepts a node instead of a range 345s allows removal of characters from range ending 345s allows removal of characters from range beginning 345s allows insertion after a source range 345s when range is from incorrect source 345s raises exception from remove_preceding 345s raises exception from insert_before 345s raises exception from replace 345s raises exception from insert_after 345s raises exception from remove_leading 345s raises exception from remove 345s raises exception from remove_trailing 345s 345s RuboCop::Cop::Style::BlockDelimiters 345s EnforcedStyle: braces_for_chaining 345s disallows {} with no chain inside of Hash[] 345s allows when :[] is chained 345s allows chaining to } inside of Hash[] 345s registers an offense for a single line block with do-end 345s autocorrects do-end with `rescue` to {} if it is a functional block 345s accepts a multi-line block that needs braces to be valid ruby 345s accepts a single line block with braces 345s accepts a multi-line block with do-end 345s allows do/end inside Hash[] 345s registers an offense for multi-line chained do-end blocks 345s accepts a multi-line functional block with {} if it is an ignored method 345s autocorrects do-end with `ensure` to {} if it is a functional block 345s accepts a multi-line functional block with {} if it is an ignored method by regex 345s with safe navigation 345s registers an offense for multi-line chained do-end blocks 345s when there are braces around a multi-line block 345s registers an offense when combined with attribute assignment 345s allows when the block is being chained 345s registers an offense in the simple case 345s allows when the block is being chained with attribute assignment 345s Ruby >= 2.7 346s registers an offense for a single line numblock with do-end 346s accepts a multi-line numblock that needs braces to be valid ruby 346s accepts a single line numblock with braces 346s accepts a multi-line numblock with do-end 346s EnforcedStyle: line_count_based 346s registers an offense for a single line block with do-end 346s accepts a multi-line block with do-end 346s accepts a multi-line block that needs braces to be valid ruby 346s accepts a single line block with braces 346s does not autocorrect do-end if {} would change the meaning 346s does not autocorrect {} if do-end would change the meaning 346s autocorrects do-end for single line blocks to { and } 346s when there are braces around a multi-line block 346s registers an offense when there is a comment after the closing brace and using method chain 346s autocorrects adjacent curly braces correctly 346s registers an offense in the simple case 346s registers an offense when there is a comment after the closing brace and block body is not empty 346s accepts a multi-line functional block with {} if it is an ignored method 346s registers an offense for braces if do-end would not change the meaning 346s registers an offense when combined with attribute assignment 346s accepts a multi-line functional block with {} if it is an ignored method by regex 346s registers an offense and keep chained block when there is a comment after the closing brace and block body is not empty 346s accepts braces if do-end would change the meaning 346s registers an offense when there is a comment after the closing brace and block body is empty 346s does not autocorrect {} if do-end would introduce a syntax error 346s can handle special method names such as []= and done? 346s autocorrects { and } to do and end 346s with a single line do-end block with an inline `rescue` 346s autocorrects properly 346s Ruby >= 2.7 346s accepts a multi-line numblock with do-end 346s accepts a single line numblock with braces 346s registers an offense for a single line numblock with do-end 346s accepts a multi-line numblock that needs braces to be valid ruby 346s EnforcedStyle: always_braces 346s accepts a multi-line functional block with do-end if it is an ignored method 346s autocorrects do-end with `ensure` to {} if it is a functional block 346s registers an offense for multi-lined do-end blocks when combined with attribute assignment 346s accepts a single line block with braces 346s autocorrects do-end with `rescue` to {} if it is a functional block 346s registers an offense for a multi-line block with do-end 346s does not autocorrect do-end if {} would change the meaning 346s registers an offense for multi-line chained do-end blocks 346s accepts a multi-line block that needs braces to be valid ruby 346s registers an offense for a single line block with do-end 346s accepts a multi-line functional block with do-end if it is an ignored method by regex 346s when there are braces around a multi-line block 346s allows when combined with attribute assignment 346s allows in the simple case 346s allows when the block is being chained 346s BracesRequiredMethods 346s BracesRequiredMethods methods 346s allows braces 346s registers an offense with do 346s other methods 346s allows braces 346s autocorrects { and } to do and end 346s EnforcedStyle: semantic 346s accepts a single line block with {} followed by a safe navigation method call 346s allows {} if it is a known procedural method 346s autocorrects do-end to {} if it is a functional block 346s autocorrects do-end to {} with appropriate spacing 346s autocorrects do-end with `ensure` to {} if it is a functional block 346s accepts a multi-line block with braces when passed to a known functional method 346s autocorrects do-end with `rescue` to {} if it is a functional block 346s allows {} if it is a known functional method 346s autocorrects do-end to {} if it is a functional block and does not change the meaning 346s accepts a single line block with {} if used in an irange 346s accepts a multi-line functional block with do-end if it is an ignored method by regex 346s accepts a multi-line block with do-end if it is the return value of its scope 346s accepts a multi-line block with braces when chained 346s registers an offense for a multi-line block with braces if the return value is not used 346s accepts a single line block with {} if used in an erange 346s accepts a single line block with {} if used in an if statement 346s registers an offense for a multi-line block with do-end if the return value is attribute-assigned 346s accepts a single line block with {} if used in a logical or 346s accepts a multi-line block with braces when passed to a method 346s accepts a multi-line functional block with do-end if it is a known procedural method 346s accepts a multi-line block with braces if the return value is assigned 346s accepts a multi-line functional block with do-end if it is an ignored method 346s accepts a single line block with {} if used in an array 346s registers an offense for a multi-line block with do-end if the return value is assigned 346s accepts a multi-line block with braces if it is the return value of its scope 346s registers an offense for a multi-line block with do-end if the return value is passed to a method 346s accepts a single line block with {} if used in a logical and 346s with a procedural one-line block 346s with AllowBracesOnProceduralOneLiners true 346s accepts a single line procedural block with braces 346s accepts a single line procedural do-end block 346s with AllowBracesOnProceduralOneLiners false or unset 346s registers an offense for a single line procedural block 346s accepts a single line block with do-end if it is procedural 346s with a procedural multi-line block 346s autocorrects { and } to do and end 346s autocorrects { and } to do and end with appropriate spacing 346s 346s RuboCop::Cop::Style::YodaCondition 346s enforce not yoda 346s accepts __FILE__ on left in program name check 346s accepts interpolated string on left 346s accepts __FILE__ on left in negated program name check 346s accepts interpolated regex on left 346s registers an offense for nil on left 346s accepts negation 346s accepts string literal on right 346s accepts instance variable on left 346s accepts global variable on left 346s accepts safe navigation on left 346s accepts subtraction expression on left of comparison 346s accepts accessor and variable on left in boolean expression 346s accepts variable on left after assign 346s accepts array of numbers on both sides 346s accepts string literal on left of case equality check 346s registers an offense for boolean literal on left 346s accepts number on left of <=> 346s registers an offense number on left 346s accepts number on both sides 346s accepts class variable on left 346s accepts assignment 346s registers an offense for string literal on left 346s accepts method call on receiver on left 346s registers an offense number on left of comparison 346s within an if or ternary statement 346s registers an offense for nil on left in ternary condition 346s registers an offense for number on left in if condition 346s registers an offense for number on left in modifier if 346s registers an offense for number on left of >= in ternary condition 346s registers an offense for number on left of <= in ternary condition 346s registers an offense for number on left of comparison in if condition 346s with EnforcedStyle: forbid_for_equality_operators_only 346s accepts nil on left of comparison 346s registers an offense for equality check 346s registers an offense for negated equality check 346s accepts mixed order in comparisons 346s accepts number on left of comparison 346s enforce yoda 346s registers an offense for nil on right 346s registers an offense for string literal on right 346s accepts assignment 346s accepts numbers on both sides 346s accepts global variable on right 346s accepts negation 346s accepts safe navigation on right 346s accepts subtraction on right of comparison 346s registers an offense for boolean literal on right 346s accepts number on left of <=> 346s accepts variable on right after assignment 346s registers an offense for number on right of comparison 346s registers an offense for number on right 346s accepts method call on receiver on right 346s accepts arrays of numbers on both sides 346s accepts instance variable on right 346s accepts string literal on left 346s accepts accessor and variable on right in boolean expression 346s accepts class variable on right 346s accepts string literal on right of case equality check 346s with EnforcedStyle: require_for_equality_operators_only 346s registers an offense for negated equality check 346s accepts number on right of comparison 346s accepts mixed order in comparisons 346s registers an offense for equality check 346s accepts nil on right of comparison 346s within an if or ternary statement 346s registers an offense for nil on right in ternary condition 346s registers an offense for number on right of <= in ternary condition 346s registers an offense for number on right of >= in ternary condition 346s registers an offense for number on right in modifier if 346s registers an offense number on right of comparison in if condition 346s registers an offense number on right in if condition 346s 346s RuboCop::Cop::Metrics::ParameterLists 346s does not register an offense when method has allowed amount of optargs 346s accepts a lambda with more than 4 parameters 346s registers an offense when optargs count exceeds the maximum 346s does not register an offense when method has no args 346s does not register an offense when method has allowed amount of args with block arg 346s accepts a proc with more than 4 parameters 346s accepts a method def with 4 parameters 346s registers an offense for a method def with 5 parameters 346s When CountKeywordArgs is false 346s does not count keyword arguments 346s does not count keyword arguments without default values 346s When CountKeywordArgs is true 346s counts keyword arguments as well 346s 346s RuboCop::Cop::Metrics::Utils::CodeLengthCalculator 346s #calculate 346s raises when unknown foldable type is passed 346s when method 346s folds arrays if asked 346s folds hashes without braces as the one of method args if asked 346s folds hashes if asked 346s folds heredocs if asked 346s folds multiline hashes with line break before it as method args if asked 346s folds multiline hashes with line break after it as method args if asked 346s counts single line hash as the one of method args with safe navigation operator if asked folding 346s calculates method length 346s folds hashes as method args if asked 346s folds multiline hashes without braces as method args if asked 346s counts comments if asked 346s folds hashes as method kwargs if asked 346s counts single line hash with line breaks correctly if asked folding 346s does not count blank lines 346s counts single line without parentheses correctly if asked folding 346s counts single line correctly if asked folding 346s folds hashes with comment if asked 346s counts single line hash with other args correctly if asked folding 346s counts single line hash as the one of method args if asked folding 346s when class 346s folds arrays if asked 346s folds heredocs if asked 346s does not count lines of inner classes 346s does not count blank lines 346s calculates class length 346s counts comments if asked 346s folds hashes if asked 346s 346s RuboCop::Cop::Layout::SpaceInsideBlockBraces 346s accepts braces surrounded by spaces 346s registers an offense and corrects both left and right brace without inner space after success 346s accepts left brace without outer space 346s registers an offense and corrects right brace without inner space 346s register offenses and correct both braces without inner space 346s registers an offense and corrects left brace without inner space 346s with space inside empty braces not allowed 346s accepts multiline braces with content 346s accepts empty braces with no space inside 346s accepts empty braces with comment and line break inside 346s accepts empty braces with line break inside 346s registers an offense and corrects empty braces with space inside 346s accepts braces that are not empty 346s accepts braces with something inside 346s with space inside empty braces allowed 346s accepts empty braces with space inside 346s registers an offense and corrects empty braces with no space inside 346s configured with no_space 346s accepts braces without spaces inside 346s accepts left brace without outer space 346s registers an offense and corrects both left and right brace with inner space after success 346s registers an offense and corrects right brace with inner space 346s registers an offense and corrects left brace with inner space 346s with passed in parameters 346s and space before block parameters allowed 346s registers an offense and corrects left brace without inner space 346s accepts left brace with inner space 346s accepts new lambda syntax 346s and space before block parameters not allowed 346s registers an offense and corrects left brace with inner space 346s registers an offense when braces are not aligned in multiline block 346s accepts when braces are aligned in multiline block with bracket 346s registers an offense when braces are not aligned in multiline block with bracket 346s accepts when braces are aligned in multiline block 346s accepts new lambda syntax 346s with passed in parameters 346s accepts new lambda syntax 346s and space before block parameters not allowed 346s accepts left brace without inner space 346s registers an offense and corrects left brace with inner space 346s accepts new lambda syntax 346s and BlockDelimiters cop enabled 346s registers an offense and corrects multi-line blocks 346s registers an offense and corrects for single-line blocks 346s for multi-line blocks 346s accepts left brace with inner space 346s registers an offense and corrects left brace without inner space 346s for single-line blocks 346s accepts left brace with inner space 346s registers an offense and corrects left brace without inner space 346s with invalid value for EnforcedStyleForEmptyBraces 346s fails with an error 346s Ruby >= 2.7 346s registers an offense for numblocks without inner space 346s 346s RuboCop::Cop::Lint::BooleanSymbol 346s does not register an offense when using `false` 346s does not register an offense when using regular symbol 346s registers an offense when using `:false` 346s does not register an offense when using `true` 346s registers an offense when using `:true` 346s does not register an offense when used inside percent-literal symbol array 346s when using the new hash syntax 346s registers an offense when using `key: :false` 346s registers an offense when using `false:` 346s registers an offense when using `true:` 346s 346s RuboCop::Cop::Lint::UnifiedInteger 346s when Integer 346s without any decorations 346s does not register an offense 346s with MyNamespace 346s does not register an offense 346s when explicitly specified as toplevel constant 346s does not register an offense 346s target ruby version >= 2.4 346s when Bignum 346s without any decorations 346s registers an offense 346s when explicitly specified as toplevel constant 346s registers an offense 346s with MyNamespace 346s does not register an offense 346s target ruby version >= 2.4 346s when Fixnum 346s when explicitly specified as toplevel constant 346s registers an offense 346s with MyNamespace 346s does not register an offense 346s without any decorations 346s registers an offense 346s target ruby version < 2.4 346s when Fixnum 346s without any decorations 346s registers an offense and autocorrects 346s when explicitly specified as toplevel constant 346s registers an offense 346s with MyNamespace 346s does not register an offense 346s target ruby version < 2.4 346s when Bignum 346s with MyNamespace 346s does not register an offense 346s when explicitly specified as toplevel constant 346s registers an offense 346s without any decorations 346s registers an offense and autocorrects 346s 346s RuboCop::Cop::Layout::SpaceInsideReferenceBrackets 346s with space inside empty braces allowed 346s registers offense and corrects empty brackets with newline inside 346s registers offense and corrects empty brackets with no space inside 346s accepts empty brackets with space inside 346s registers offense and corrects empty brackets with more than one space inside 346s when EnforcedStyle is no_space 346s registers an offense and corrects third ref brackets with trailing whitespace 346s registers an offense and corrects when a reference bracket with a trailing whitespace is assigned by another reference bracket 346s registers an offense and corrects when a reference bracket with a leading whitespace is assigned by another reference bracket 346s registers multiple offenses and corrects multiple sets of ref brackets 346s registers an offense and corrects when a reference bracket is assigned by another reference bracket with trailing whitespace 346s accepts square brackets as method name 346s registers an offense and corrects third ref brackets with leading whitespace 346s does not register offense for reference brackets with no spaces 346s register and correct multiple offenses for multiple sets of ref brackets 346s does not register offense for ref bcts with no spaces that assign 346s does not register offense for non-empty brackets with newline inside 346s accepts an array as a reference object 346s registers an offense and corrects second ref brackets with trailing whitespace 346s accepts extra spacing in array brackets 346s accepts square brackets called with method call syntax 346s registers an offense and corrects outer ref brackets 346s registers multiple offenses and corrects one set of ref brackets 346s registers an offense and corrects ref brackets with trailing whitespace 346s does not register offense for array literals 346s registers an offense and corrects second ref brackets with leading whitespace 346s registers an offense and corrects ref brackets with leading whitespace 346s with space inside empty brackets not allowed 346s registers an offense and corrects empty brackets with newline inside 346s registers an offense and corrects empty brackets with 1 space inside 346s accepts empty brackets with no space inside 346s registers an offense and corrects empty brackets with multiple spaces inside 346s when EnforcedStyle is space 346s registers and corrects multiple offenses for multiple sets of ref brackets 346s registers an offense and correct third ref brackets with no trailing whitespace 346s registers an offense and corrects when a reference bracket is assigned by another reference bracket with no trailing whitespace 346s registers an offense and corrects second ref brackets with no trailing whitespace 346s accepts square brackets as method name 346s accepts spaces in array brackets 346s registers an offense and corrects when a reference bracket with no trailing whitespace is assigned by another reference bracket 346s accepts square brackets called with method call syntax 346s registers an offense and corrects third ref brackets with no leading whitespace 346s registers an offense and corrects ref brackets with no leading whitespace 346s does not register offense for ref bcts with spaces that assign 346s does not register offense for reference brackets with spaces 346s accepts an array as a reference object 346s does not register offense for array literals 346s registers and corrects multiple offenses in one set of ref brackets 346s registers an offense and corrects when a reference bracket with no leading whitespace is assigned by another reference bracket 346s registers an offense and corrects second ref brackets with no leading whitespace 346s registers an offense and corrects ref brackets with no trailing whitespace 346s 346s Changelog 346s merges correctly 346s parses correctly 346s Changelog::Entry 346s #ref_id 346s when there is no body 346s is expected to eq "x" 346s when there is no issue referenced in the body 346s is expected to eq "x" 346s when there is an issue referenced with [Fixes #x] the body 346s is expected to eq "123" 346s when there is an issue referenced with [Fix #x] the body 346s is expected to eq "123" 346s #content 346s when there is no issue referenced 346s generates correct content 346s when there is an issue referenced 346s generates correct content 346s #body 346s when there is an issue referenced with [Fix #x] the body 346s is expected to eq "Fix something" 346s when there is an issue referenced with [Fixes #x] the body 346s is expected to eq "Fix something" 346s when there is no body 346s is expected to eq "" 346s when there is no issue referenced in the body 346s is expected to eq "Fix something" 346s 346s RuboCop::Cop::Lint::RedundantSplatExpansion 346s allows splat expansion inside of an array 346s allows assigning to a splat 346s allows assigning to a splat variable 346s allows assigning to an expanded range 346s accepts expanding a variable as a method parameter 346s allows assigning a variable to a splat expansion of a variable 346s allows expansions of an array that is assigned to a variable in rescue 346s allows an array using a constructor 346s registers an offense and corrects an array literal being expanded in a rescue 346s allows expanding a method call on an array literal 346s expanding Array.new call on method argument 346s registers an offense and corrects 346s expanding an array literal in a when condition 346s allows an array using a constructor 346s allows an array that is assigned to a variable 346s registers an offense and corrects an array using %w 346s registers an offense and corrects an array using [] 346s registers an offense and corrects an array using %W 346s registers an offense and corrects %I to a list of symbols 346s registers an offense and corrects %i to a list of symbols 346s assignment to splat expansion 346s registers an offense and corrects an array using a constructor 346s registers and corrects an array using top-level const 346s behaves like splat expansion 346s method parameters 346s registers an offense and converts to an array 346s behaves like splat literal assignment 346s registers an offense and converts to an array 346s expanding Array.new call on array literal 346s with ::Array.new 346s when the array literal contains exactly one element 346s registers an offense and corrects 346s when the array literal contains exactly one element 346s registers an offense and corrects 346s when the array literal contains more than one element 346s accepts 346s splat expansion inside of an array 346s registers an offense and corrects expansion of %W to a list of words 346s registers an offense and corrects the expansion of an array literalinside of an array literal 346s registers an offense and corrects expansion of %w to a list of words 346s when `AllowPercentLiteralArrayArgument: true` 346s does not register an offense when using percent string literal array 346s does not register an offense when using percent symbol literal array 346s when `AllowPercentLiteralArrayArgument: false` 346s registers an offense when using percent literal array 346s registers an offense when using percent symbol literal array 346s behaves like array splat expansion 346s behaves like splat literal assignment 346s registers an offense and removes the splat from array 346s method parameters 346s registers an offense and converts to a list of arguments 346s behaves like array splat expansion 346s method parameters 346s registers an offense and converts to a list of arguments 346s behaves like splat literal assignment 346s registers an offense and removes the splat from array 346s behaves like array splat expansion 346s behaves like splat literal assignment 346s registers an offense and removes the splat from array 346s method parameters 346s registers an offense and converts to a list of arguments 346s splat expansion of method parameters 346s registers an offense and corrects an array literal %i 346s registers an offense and corrects an array literal %I 346s behaves like array splat expansion 346s method parameters 346s registers an offense and converts to a list of arguments 346s behaves like splat literal assignment 346s registers an offense and removes the splat from array 346s arrays being expanded with %i variants using splat expansion 346s splat expansion inside of an array 346s registers an offense and corrects %i to a list of symbols 346s registers an offense and changes %I to a list of symbols 346s behaves like array splat expansion 346s behaves like splat literal assignment 346s registers an offense and removes the splat from array 346s method parameters 346s registers an offense and converts to a list of arguments 346s behaves like splat expansion 346s behaves like splat literal assignment 346s registers an offense and converts to an array 346s method parameters 346s registers an offense and converts to an array 346s behaves like splat expansion 346s behaves like splat literal assignment 346s registers an offense and converts to an array 346s method parameters 346s registers an offense and converts to an array 346s behaves like splat expansion 346s behaves like splat literal assignment 346s registers an offense and converts to an array 346s method parameters 346s registers an offense and converts to an array 346s 346s RuboCop::Cop::Style::MethodCallWithArgsParentheses 346s when EnforcedStyle is omit_parentheses 346s accepts parens in default argument value calls 346s accepts parens in chaining with operators 346s accepts parens in default keyword argument value calls 346s accepts parens in chained method calls 346s register an offense for parens in the last chain 346s accepts parens in args with ternary conditions 346s accepts parens in calls with logical operators 346s accepts parens in slash regexp literal as argument 346s accepts parens in calls with hash as arg 346s register an offense for hashes in keyword values 346s accepts parens in block passing calls 346s accepts parens in args splat 346s register an offense in multi-line inheritance 346s autocorrects single-line calls 346s accepts special lambda call syntax 346s accepts parens in method args 346s accepts parens in nested method args 346s accepts parens in implicit #to_proc 346s accepts parens in chaining with safe operators 346s accepts parens in literals with unary operators as first argument 346s accepts parens in operator method calls 346s register an offense for yield call with parens 346s accepts parens in blocks with braces 346s accepts parens in yield argument method calls 346s accepts parens in camel case method without args 346s accepts no parens in method call with args 346s accepts parens in super without args 346s register an offense for camel-case methods with arguments 346s register an offense for superclass call with parens 346s register an offense in assignments 346s accepts parens in super calls with braced blocks 346s accepts no parens in method call without args 346s accepts parens in single-line inheritance 346s accepts parens in calls with args with logical operators 346s register an offense for parens in do-end blocks 346s accepts parens in splat calls 346s accepts parens in ternary condition calls 346s accepts parens in range literals 346s register an offense for parens in string interpolation 346s accepts parens in super method calls as arguments 346s accepts parens in assignment in conditions 346s accepts parens in argument calls with braced blocks 346s register an offense for multi-line method calls 346s register an offense for parens in method call without args 346s autocorrects multi-line calls with trailing whitespace 346s register an offense in complex conditionals 346s register an offense for %r regex literal as arguments 347s autocorrects complex multi-line calls 347s hash value omission in 3.1 347s registers an offense using assignment with parentheses call expr follows 347s does not register an offense when without parentheses call expr follows 347s registers and corrects an offense when explicit hash value with parentheses and using modifier form 347s registers an offense when last argument is a hash value omission 347s does not register an offense when hash value omission with parentheses and using modifier form 347s registers an offense when with parentheses call expr follows 347s behaves like endless methods 347s endless methods 347s without arguments 347s does not register an offense for `defs` when there are arguments 347s does not register an offense when there are arguments 347s registers an offense for `defs` when there are parens 347s does not register an offense when there are no parens 347s registers an offense when there are parens 347s with arguments 347s requires method calls to have parens 347s allowing parens in camel-case methods 347s accepts parens for camel-case method names 347s allowing parens in multi-line calls 347s accepts parens for multi-line calls 347s numbered parameters in 2.7 347s accepts parens for braced numeric block calls 347s forwarded arguments in 3.0 347s accepts parens for forwarded arguments 347s allowing parenthesis in chaining 347s register offense for multi-line chaining without previous parens 347s register offense for single-line chaining without previous parens 347s accepts no parens in the last call if previous calls with parens 347s accepts parens in the last call if any previous calls with parentheses 347s forwarded arguments in 2.7 347s accepts parens for forwarded arguments 347s when EnforcedStyle is require_parentheses (default) 347s accepts no parens for operators 347s autocorrects calls where multiple args are method calls 347s register no offense for superclass call without args 347s register an offense for non-receiver method call without parens 347s accepts no parens for unary operators 347s autocorrects parenthesized args for local methods by removing space 347s autocorrects calls with multiple args by adding needed braces 347s register no offense for yield without args 347s register an offense for method call without parens 347s autocorrects fully parenthesized args by removing space 347s accepts no parens for setter methods 347s autocorrects calls where the argument node is a constant 347s register no offense for superclass call with parens 347s autocorrects calls where the argument node is a number 347s accepts parens in method call with do-end blocks 347s autocorrects calls where arg is method call 347s register an offense for yield without parens 347s register an offense for superclass call without parens 347s accepts parens in method call with args 347s autocorrects call with multiple args by adding braces 347s autocorrects partially parenthesized args by adding needed braces 347s accepts no parens in method call without args 347s register an offense for methods starting with capital without parens 347s when inspecting macro methods 347s in a class body 347s does not register an offense 347s in a module body 347s does not register an offense 347s with AllowedMethods 347s allow method listed in AllowedMethods 347s AllowedPatterns 347s ignored methods listed in AllowedPatterns 347s behaves like endless methods 347s endless methods 347s with arguments 347s requires method calls to have parens 347s without arguments 347s does not register an offense when there are parens 347s does not register an offense for `defs` when there are parens 347s does not register an offense when there are no parens 347s does not register an offense for `defs` when there are arguments 347s does not register an offense when there are arguments 347s when using safe navigation operator 347s register an offense for method call without parens 347s allowing parens in string interpolation 347s accepts parens for camel-case method names 347s when inspecting macro methods with IncludedMacros 347s for a macro in both IncludedMacros and AllowedMethods 347s allows 347s for a macro not on the included list 347s allows 347s in a module body 347s finds offense 347s behaves like endless methods 347s endless methods 347s with arguments 347s requires method calls to have parens 347s without arguments 347s does not register an offense for `defs` when there are parens 347s does not register an offense for `defs` when there are arguments 347s does not register an offense when there are arguments 347s does not register an offense when there are no parens 347s does not register an offense when there are parens 347s in a class body 347s finds offense 347s 347s RuboCop::Cop::Style::RescueStandardError 347s implicit 347s accepts rescue modifier 347s when rescuing in a method definition 347s accepts rescuing a single error other than StandardError 347s accepts rescuing no error class 347s accepts rescuing StandardError with other errors 347s accepts rescuing StandardError with other errors, assigned to a variable 347s accepts rescuing a single error other than StandardError, assigned to a variable 347s accepts rescuing no error class, assigned to a variable 347s when rescuing StandardError by itself 347s registers an offense 347s when the error is assigned to a variable 347s registers an offense 347s when rescuing in a begin block 347s accepts rescuing StandardError with other errors, assigned to a variable 347s accepts rescuing a single error class other than StandardError, assigned to a variable 347s accepts rescuing no error class 347s accepts rescuing ::StandardError with other errors 347s accepts rescuing StandardError with other errors 347s accepts rescuing no error class, assigned to a variable 347s accepts rescuing a single error class other than StandardError 347s when rescuing StandardError by itself 347s registers an offense 347s with ::StandardError 347s registers an offense 347s when the error is assigned to a variable 347s registers an offense 347s with ::StandardError 347s registers an offense 347s explicit 347s accepts rescue modifier 347s when rescuing in a method definition 347s accepts rescuing a single error other than StandardError 347s accepts rescuing StandardError with other errors, assigned to a variable 347s accepts rescuing StandardError by itself 347s accepts rescuing StandardError with other errors 347s accepts rescuing StandardError by itself, assigned to a variable 347s accepts rescuing a single error other than StandardError, assigned to a variable 347s when the error is assigned to a variable 347s registers an offense 347s when rescue is called without an error class 347s registers an offense 347s when rescuing in a begin block 347s accepts rescuing StandardError with other errors 347s accepts rescuing StandardError by itself, assigned to a variable 347s accepts rescuing a single error other than StandardError 347s accepts rescuing a single error other than StandardErrorassigned to a variable 347s accepts rescuing StandardError with other errors, assigned to a variable 347s accepts rescuing StandardError by itself 347s when calling rescue without an error class 347s registers an offense 347s when the error is assigned to a variable 347s registers an offense 347s 347s RuboCop::Cop::Layout::SpaceBeforeComma 347s registers an offense and corrects method call arg with space before comma 347s registers an offense and corrects block argument with space before comma 347s registers an offense and corrects array index with space before comma 347s does not register an offense for no spaces before comma 347s handles more than one space before a comma 347s heredocs 347s registers an offense and corrects 347s 347s RuboCop::Cop::Layout::ConditionPosition 347s accepts condition on the same line 347s accepts condition on a different line for modifiers 347s registers an offense and corrects for elsif condition on the next line 347s accepts condition on the same line 347s accepts condition on the same line 347s registers an offense and corrects for condition on the next line 347s registers an offense and corrects for condition on the next line 347s accepts ternary ops 347s accepts condition on a different line for modifiers 347s accepts condition on the same line 347s registers an offense and corrects for condition on the next line 347s accepts condition on a different line for modifiers 347s registers an offense and corrects for condition on the next line 347s accepts condition on a different line for modifiers 347s 347s RuboCop::Cop::Style::RegexpLiteral 347s when EnforcedStyle is set to mixed 347s a multi-line `//` regex with slashes 347s registers an offense 347s a single-line `//` regex without slashes 347s is accepted 347s a multi-line %r regex with slashes 347s is accepted 347s a single-line %r regex without slashes 347s registers an offense 347s a single-line `//` regex with slashes 347s registers an offense 347s when configured to allow inner slashes 347s is accepted 347s a single-line %r regex with slashes 347s is accepted 347s when configured to allow inner slashes 347s registers an offense 347s a multi-line %r regex without slashes 347s is accepted 347s a multi-line `//` regex without slashes 347s registers an offense 347s when `EnforcedStyle: omit_parentheses` of `Style/MethodCallWithArgsParentheses` cop 347s when using `%r` regexp with `EnforcedStyle: mixed` 347s registers an offense when not used as a method argument 347s does not register an offense when used as a method argument 347s does not register an offense when used as a safe navigation method argument 347s when using `%r` regexp with `EnforcedStyle: slashes` 347s registers an offense when not used as a method argument 347s does not register an offense when used as a method argument 347s does not register an offense when used as a safe navigation method argument 347s when PercentLiteralDelimiters is configured with slashes 347s respects the configuration when autocorrecting 347s %r regex with other delimiters than curly braces 347s registers an offense 347s when regex contains slashes in interpolation 347s ignores the slashes that do not belong // regex 347s when EnforcedStyle is set to percent_r 347s a single-line `//` regex without slashes 347s registers an offense 347s a single-line %r regex without slashes 347s is accepted 347s a multi-line `//` regex with slashes 347s registers an offense 347s a multi-line %r regex without slashes 347s is accepted 347s a single-line %r regex with slashes 347s is accepted 347s a single-line `//` regex with slashes 347s registers an offense 347s a multi-line `//` regex without slashes 347s registers an offense 347s a multi-line %r regex with slashes 347s is accepted 347s when `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` cop 347s when using `%r` regexp with `EnforcedStyle: slashes` 347s does not register an offense when using a regexp starts with a blank as a method argument 347s registers an offense when used as a method argument 347s registers an offense when used as a safe navigation method argument 347s registers an offense when using a regexp starts with a blank 347s does not register an offense when using a regexp starts with a blank as a safe navigation method argument 347s registers an offense when not used as a method argument 347s when using `%r` regexp with `EnforcedStyle: mixed` 347s registers an offense when used as a safe navigation method argument 347s registers an offense when not used as a method argument 347s registers an offense when using a regexp starts with a blank 347s does not register an offense when using a regexp starts with a blank as a safe navigation method argument 347s registers an offense when used as a method argument 347s does not register an offense when using a regexp starts with a blank as a method argument 347s when PercentLiteralDelimiters is configured with brackets 347s respects the configuration when autocorrecting 347s when EnforcedStyle is set to slashes 347s a single-line `//` regex with slashes 347s registers an offense 347s when configured to allow inner slashes 347s is accepted 347s a multi-line `//` regex without slashes 347s is accepted 347s a multi-line %r regex with slashes 347s is accepted 347s when configured to allow inner slashes 347s registers an offense 347s a single-line %r regex with slashes 347s is accepted 347s when configured to allow inner slashes 347s registers an offense 347s a single-line `%r//` regex with slashes 347s is accepted 347s when configured to allow inner slashes 347s preserves slashes after autocorrection 347s a single-line `//` regex with slashes and interpolation 347s registers an offense 347s when configured to allow inner slashes 347s is accepted 347s a multi-line `//` regex with slashes 347s registers an offense 347s when configured to allow inner slashes 347s is accepted 347s a single-line `//` regex without slashes 347s is accepted 347s a multi-line %r regex without slashes 347s registers an offense 347s a single-line %r regex without slashes 347s registers an offense 347s 347s RuboCop::Cop::Style::SpecialGlobalVars 347s when style is use_builtin_english_names 347s does not register an offenses for builtin names 347s generates correct auto-config when Perl variable names are used 347s generates correct auto-config when mixed styles are used 347s does not register an offense for Perl names 347s does not register an offense for backrefs like $1 347s autocorrects non-preffered builtin names 347s when style is use_perl_names 347s registers an offense for $PROCESS_ID 347s autocorrects #{$LOAD_PATH} to #$: 347s registers an offense for $PROGRAM_NAME 347s does not register an offense for backrefs like $1 347s registers an offense for $LOAD_PATH 347s registers an offense for $LOADED_FEATURES 347s autocorrects $INPUT_RECORD_SEPARATOR to $/ 347s registers an offense for $PID 347s when style is use_english_names 347s when add require English is enabled 347s when English has not been required at top-level 347s adds require English for twice `$*` in nested code 347s adds require English for $$ 347s adds require English for $$ in nested code 347s does not add for replacement outside of English lib 347s when English is already required at top-level 347s moves require English above replacement 347s leaves require English alone for $$ 347s when add require English is disabled 347s generates correct auto-config when mixed styles are used 347s registers an offense for $" 347s generates correct auto-config when Perl variable names are used 347s autocorrects #$: to #{$LOAD_PATH} 347s autocorrects $/ to $INPUT_RECORD_SEPARATOR 347s is clear about variables from the English library vs those not 347s does not register an offense for backrefs like $1 347s autocorrects #{$!} to #{$ERROR_INFO} 347s registers an offense for $$ 347s registers an offense for $0 347s registers an offense for $: 347s 347s RuboCop::Cop::Style::Semicolon 347s accepts one line empty module definitions 347s registers an offense for range (`1..42`) with semicolon 347s registers an offense for one line method with two statements 347s accepts semicolon before end if so configured 347s accepts one line empty method definitions 347s registers an offense for several expressions 347s registers an offense for range (`1...42`) with semicolon 347s registers an offense for a semicolon at the beginning of a line 347s registers an offense for semicolon at the end no matter what 347s accepts one line empty class definitions 347s accepts semicolon after params if so configured 347s accept semicolons inside strings 347s registers an offense for a single expression 347s accepts one line method definitions 347s when AllowAsExpressionSeparator is true 347s accepts one line method with two statements 347s accepts several expressions 347s with a multi-expression line without a semicolon 347s does not register an offense 347s Ruby >= 2.6 347s registers an offense for endless range with semicolon (irange only) 347s registers an offense for endless range with semicolon in the method definition 347s does not register an offense for endless range without semicolon 347s registers an offense for endless range with semicolon (irange and erange) 347s 347s RuboCop::Cop::Lint::SafeNavigationChain 347s >= Ruby 2.7 347s registers an offense for ordinary method chain exists after safe navigation method call with a block using numbered parameter 347s TargetRubyVersion >= 2.3 347s registers an offense for ordinary method chain exists after safe navigation method call with an argument 347s registers an offense for safe navigation with >= operator 347s accepts usages of safe navigation with `present?` method 347s accepts usages of safe navigation with `nil?` method 347s accepts usages of safe navigation with && operator 347s registers an offense for safe navigation with < operator 347s registers an offense for ordinary method chain exists after safe navigation method call with a block 347s accepts usages of ordinary method chain 347s accepts usages of safe navigation with `to_d` method 347s accepts usages of safe navigation at last only with argument 347s registers an offense for safe navigation on the right-hand side of the `+` 347s registers an offense for ordinary method chain exists after safe navigation method call 347s registers an offense for ordinary method chain exists after safe navigation method call with a block-pass 347s accepts usages of method chain with safe navigation only 347s accepts usages of safe navigation with self assignment method 347s accepts usages of safe navigation with | operator 347s accepts usages of safe navigation at last only 347s registers an offense for safe navigation on the right-hand side of the `-` 347s registers an offense for safe navigation with <= operator 347s accepts usages of safe navigation with `in?` method 347s accepts usages of safe navigation with || operator 347s accepts usages of safe navigation with `try` method 347s registers an offense for safe navigation with + operator 347s accepts usages of safe navigation with `+@` method 347s accepts usages of safe navigation with & operator 347s accepts usages of method chain with safe navigation only with argument 347s accepts usages of safe navigation with `blank?` method 347s registers an offense for ordinary method call exists after safe navigation method call 347s accepts usages of ordinary method chain with argument 347s registers an offense for safe navigation with []= operator 347s accepts usages of safe navigation with `-@` method 347s registers an offense for safe navigation with > operator 347s registers an offense for safe navigation on the right-hand side of the `*` 347s registers an offense for ordinary method call exists after safe navigation method call with an argument 347s accepts usages of safe navigation with == operator 347s accepts usages of safe navigation with assignment method 347s registers an offense for safe navigation with [] operator 347s accepts usages of safe navigation with === operator 347s registers an offense for safe navigation on the right-hand side of the `/` 347s proper highlighting 347s when used with a modifier if 347s when in a method 347s when in a begin 347s when there are methods after 347s when there are methods before 347s 347s RuboCop::Cop::Lint::LiteralInInterpolation 347s accepts interpolation of xstr 347s accepts interpolation of erange where endpoints are not literals 347s handles double quotes in single quotes when autocorrecting 347s handles backslash in single quotes when autocorrecting 347s handles backslash in double quotes when autocorrecting 347s handles nested interpolations when autocorrecting 347s does not register an offense when space literal at the end of heredoc line 347s accepts interpolation of irange where endpoints are not literals 347s accepts empty interpolation 347s behaves like literal interpolation 347s registers an offense only for final true in interpolation 347s removes interpolation around true when there is more text 347s removes interpolation around multiple true 347s registers an offense for true in interpolation and removes interpolation around it 347s when there is non-literal and literal interpolation 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation 347s registers an offense for [] in interpolation and removes interpolation around it 347s registers an offense only for final [] in interpolation 347s removes interpolation around multiple [] 347s removes interpolation around [] when there is more text 347s when there is non-literal and literal interpolation 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation 347s registers an offense for %w[v1 v2] in interpolation and removes interpolation around it 347s removes interpolation around %w[v1 v2] when there is more text 347s registers an offense only for final %w[v1 v2] in interpolation 347s removes interpolation around multiple %w[v1 v2] 347s when there is non-literal and literal interpolation 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s behaves like special keywords 347s accepts strings like __END__ 347s registers an offense and autocorrects interpolation after __END__ 347s behaves like literal interpolation 347s registers an offense only for final nil in interpolation 347s registers an offense for nil in interpolation and removes interpolation around it 347s removes interpolation around multiple nil 347s removes interpolation around nil when there is more text 347s when there is non-literal and literal interpolation 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation in words literal 347s removes interpolation of an array containing a symbol literal without space in %W[] 347s removes interpolation of a symbol literal without space in %W[] 347s accepts interpolation of an array literal containing a string with space in %W[] 347s accepts interpolation of an array literal containing a symbol with space in %W[] 347s removes interpolation of a string literal without space in %W[] 347s removes interpolation of an array containing a string literal without space in %W[] 347s accepts interpolation of a symbol literal with space in %W[] 347s accepts interpolation of a string literal with space in %W[] 347s behaves like literal interpolation 347s removes interpolation around %i[ s1 s2 ] when there is more text 347s removes interpolation around multiple %i[ s1 s2 ] 347s registers an offense only for final %i[ s1 s2 ] in interpolation 347s registers an offense for %i[ s1 s2 ] in interpolation and removes interpolation around it 347s when there is non-literal and literal interpolation 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation 347s registers an offense only for final 1 in interpolation 347s registers an offense for 1 in interpolation and removes interpolation around it 347s removes interpolation around 1 when there is more text 347s removes interpolation around multiple 1 347s when there is non-literal and literal interpolation 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation 347s registers an offense only for final %w[v1] in interpolation 347s removes interpolation around %w[v1] when there is more text 347s registers an offense for %w[v1] in interpolation and removes interpolation around it 347s removes interpolation around multiple %w[v1] 347s when there is non-literal and literal interpolation 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation 347s removes interpolation around %i[s1 s2] when there is more text 347s registers an offense for %i[s1 s2] in interpolation and removes interpolation around it 347s registers an offense only for final %i[s1 s2] in interpolation 347s removes interpolation around multiple %i[s1 s2] 347s when there is non-literal and literal interpolation 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation 347s removes interpolation around multiple 2.0 347s registers an offense only for final 2.0 in interpolation 347s registers an offense for 2.0 in interpolation and removes interpolation around it 347s removes interpolation around 2.0 when there is more text 347s when there is non-literal and literal interpolation 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s behaves like special keywords 347s accepts strings like __FILE__ 347s registers an offense and autocorrects interpolation after __FILE__ 347s behaves like special keywords 347s registers an offense and autocorrects interpolation after __ENCODING__ 347s accepts strings like __ENCODING__ 347s behaves like literal interpolation 347s registers an offense only for final -1 in interpolation 347s registers an offense for -1 in interpolation and removes interpolation around it 347s removes interpolation around multiple -1 347s removes interpolation around -1 when there is more text 347s when there is non-literal and literal interpolation 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s behaves like non-special string literal interpolation 347s registers an offense for 'foo' and removes the interpolation and quotes around 'foo' 347s behaves like literal interpolation 347s removes interpolation around :"symbol" when there is more text 347s registers an offense only for final :"symbol" in interpolation 347s removes interpolation around multiple :"symbol" 347s registers an offense for :"symbol" in interpolation and removes interpolation around it 347s when there is non-literal and literal interpolation 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation 347s registers an offense only for final {"a" => "b"} in interpolation 347s removes interpolation around multiple {"a" => "b"} 347s removes interpolation around {"a" => "b"} when there is more text 347s registers an offense for {"a" => "b"} in interpolation and removes interpolation around it 347s when there is non-literal and literal interpolation 347s when literal interpolation is before non-literal 347s only removes interpolation around literal 347s when literal interpolation is after non-literal 347s only removes interpolation around literal 347s behaves like literal interpolation 347s removes interpolation around 1.2e-3 when there is more text 348s removes interpolation around multiple 1.2e-3 348s registers an offense for 1.2e-3 in interpolation and removes interpolation around it 348s registers an offense only for final 1.2e-3 in interpolation 348s when there is non-literal and literal interpolation 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s registers an offense only for final false in interpolation 348s removes interpolation around false when there is more text 348s registers an offense for false in interpolation and removes interpolation around it 348s removes interpolation around multiple false 348s when there is non-literal and literal interpolation 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s registers an offense only for final 1...2 in interpolation 348s removes interpolation around multiple 1...2 348s removes interpolation around 1...2 when there is more text 348s registers an offense for 1...2 in interpolation and removes interpolation around it 348s when there is non-literal and literal interpolation 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s behaves like non-special string literal interpolation 348s registers an offense for "foo" and removes the interpolation and quotes around "foo" 348s behaves like literal interpolation 348s registers an offense for 0xaabb in interpolation and removes interpolation around it 348s removes interpolation around 0xaabb when there is more text 348s registers an offense only for final 0xaabb in interpolation 348s removes interpolation around multiple 0xaabb 348s when there is non-literal and literal interpolation 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s registers an offense only for final 1..2 in interpolation 348s removes interpolation around 1..2 when there is more text 348s registers an offense for 1..2 in interpolation and removes interpolation around it 348s removes interpolation around multiple 1..2 348s when there is non-literal and literal interpolation 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s registers an offense only for final %I[s1 s2] in interpolation 348s registers an offense for %I[s1 s2] in interpolation and removes interpolation around it 348s removes interpolation around %I[s1 s2] when there is more text 348s removes interpolation around multiple %I[s1 s2] 348s when there is non-literal and literal interpolation 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s removes interpolation around multiple :symbol 348s removes interpolation around :symbol when there is more text 348s registers an offense only for final :symbol in interpolation 348s registers an offense for :symbol in interpolation and removes interpolation around it 348s when there is non-literal and literal interpolation 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s removes interpolation around multiple %i[s1 s2] 348s registers an offense only for final %i[s1 s2] in interpolation 348s removes interpolation around %i[s1 s2] when there is more text 348s registers an offense for %i[s1 s2] in interpolation and removes interpolation around it 348s when there is non-literal and literal interpolation 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s registers an offense only for final 0o377 in interpolation 348s removes interpolation around multiple 0o377 348s removes interpolation around 0o377 when there is more text 348s registers an offense for 0o377 in interpolation and removes interpolation around it 348s when there is non-literal and literal interpolation 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s removes interpolation around ["a", "b"] when there is more text 348s registers an offense for ["a", "b"] in interpolation and removes interpolation around it 348s removes interpolation around multiple ["a", "b"] 348s registers an offense only for final ["a", "b"] in interpolation 348s when there is non-literal and literal interpolation 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s registers an offense only for final %w[] in interpolation 348s removes interpolation around %w[] when there is more text 348s registers an offense for %w[] in interpolation and removes interpolation around it 348s removes interpolation around multiple %w[] 348s when there is non-literal and literal interpolation 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation in words literal 348s accepts interpolation of a string literal with space in %I[] 348s removes interpolation of a string literal without space in %I[] 348s accepts interpolation of an array literal containing a symbol with space in %I[] 348s removes interpolation of an array containing a string literal without space in %I[] 348s removes interpolation of an array containing a symbol literal without space in %I[] 348s removes interpolation of a symbol literal without space in %I[] 348s accepts interpolation of a symbol literal with space in %I[] 348s accepts interpolation of an array literal containing a string with space in %I[] 348s in string-like contexts 348s removes interpolation in symbols 348s removes interpolation in backticks 348s removes interpolation in regular expressions 348s behaves like special keywords 348s accepts strings like __LINE__ 348s registers an offense and autocorrects interpolation after __LINE__ 348s behaves like literal interpolation 348s registers an offense for 1_123 in interpolation and removes interpolation around it 348s registers an offense only for final 1_123 in interpolation 348s removes interpolation around multiple 1_123 348s removes interpolation around 1_123 when there is more text 348s when there is non-literal and literal interpolation 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s behaves like literal interpolation 348s removes interpolation around 123_456_789_123_456_789 when there is more text 348s registers an offense for 123_456_789_123_456_789 in interpolation and removes interpolation around it 348s removes interpolation around multiple 123_456_789_123_456_789 348s registers an offense only for final 123_456_789_123_456_789 in interpolation 348s when there is non-literal and literal interpolation 348s when literal interpolation is after non-literal 348s only removes interpolation around literal 348s when literal interpolation is before non-literal 348s only removes interpolation around literal 348s 348s RuboCop::Cop::Layout::EmptyLineBetweenDefs 348s registers an offense for adjacent one-liners by default 348s finds offenses in inner classes 348s accepts a def that follows an empty line and then a comment 348s treats lines with whitespaces as blank 348s accepts a def that is the first of a module 348s accepts a nested def 348s accepts a def that follows code and a comment 348s accepts the first def without leading empty line in a class 348s doesn't allow more than the required number of newlines 348s accepts a def that follows a line with code 348s registers an offense for multiple one-liners on the same line 348s autocorrects when there are too many new lines 348s EmptyLineBetweenModuleDefs 348s registers offense when no empty lines between module and method definitions 348s when disabled 348s does not register offense 348s when there are only comments between defs 348s registers an offense 348s endless methods 348s between endless and regular methods 348s registers an offense and corrects 348s with AllowAdjacentOneLineDefs: true 348s does not register an offense 348s between regular and endless methods 348s registers an offense and corrects 348s between endless class method and regular class methods 348s registers an offense and corrects 348s with AllowAdjacentOneLineDefs: false 348s registers an offense and corrects 348s between endless class method and regular methods 348s registers an offense and corrects 348s when a maximum of empty lines is specified 348s finds no offense for no empty line 348s finds no offense for one empty line 348s finds an offense for two empty lines 348s class methods 348s mixed instance and class methods 348s registers an offense for missing blank line between methods 348s adjacent class methods 348s registers an offense for missing blank line between methods 348s when multiple lines between defs are allowed 348s registers an offense and corrects when there are too many new lines 348s treats lines with whitespaces as blank 348s EmptyLineBetweenClassDefs 348s registers offense when no empty lines between class and method definitions 348s with AllowAdjacentOneLineDefs enabled 348s does not register offense 348s when disabled 348s does not register offense 348s conditional method definitions 348s accepts defs inside a conditional without blank lines in between 348s registers an offense for consecutive defs inside a conditional 348s when empty lines between classes and modules together 348s registers offense when no empty lines between module and method definitions 348s when AllowAdjacentOneLineDefs is enabled 348s accepts adjacent one-liners 348s registers an offense for adjacent defs if some are multi-line 348s 348s RuboCop::Cop::Style::NestedModifier 348s autocorrects if + if 348s autocorrects unless with a comparison operator + if 348s adds parentheses when needed in autocorrection 348s autocorrects unless + if 348s autocorrects unless + unless 348s autocorrects if + unless 348s adds parentheses to method arguments when needed in autocorrection 348s does not add redundant parentheses in autocorrection 348s registers one offense for more than two modifiers 348s until 348s behaves like not correctable 348s does not autocorrect when until is the inner modifier 348s does not autocorrect when until is the outer modifier 348s while 348s behaves like not correctable 348s does not autocorrect when while is the inner modifier 348s does not autocorrect when while is the outer modifier 348s 348s RuboCop::Cop::Metrics::ClassLength 348s does not count blank lines 348s reports the correct beginning and end lines 348s rejects a class with more than 5 lines 348s accepts a class with 5 lines 348s accepts a class with less than 5 lines 348s accepts empty classes 348s when inspecting a class defined with ::Class.new 348s registers an offense 348s when CountComments is disabled 348s accepts classes that only contain comments 348s when a class has inner classes 348s rejects a class with 6 lines that belong to the class directly 348s does not count lines of inner classes 348s when using numbered parameter 348s when inspecting a class defined with ::Class.new 348s registers an offense 348s when inspecting a class defined with Class.new 348s registers an offense 348s when inspecting a class defined with Struct.new 348s registers an offense 348s registers an offense when multiple assignments to constants 348s registers an offense when inspecting or equals (`||=`) for constant 348s when `CountAsOne` is not empty 348s folds array into one line 348s when inspecting a class defined with Class.new 348s registers an offense 348s when inspecting a class defined with Struct.new 348s registers an offense when multiple assignments to constants 348s registers an offense when inspecting or equals (`||=`) for constant 348s registers an offense 348s when overlapping constant assignments 348s does not register an offense 348s when CountComments is enabled 348s also counts commented lines 348s registers an offense for a class that only contains comments 348s 348s RuboCop::Cop::Style::Next 348s does not blow up on empty body for block 348s does not crash with an empty body branch 348s doesn't reindent heredoc bodies when autocorrecting 348s does not blow up on empty body while block 348s does not blow up on empty body until block 348s allows super nodes 348s does not crash with empty brackets 348s handles `then` when autocorrecting 348s handles nested autocorrections 348s allows loops with conditions at the end with ternary op 348s allows empty blocks 348s keeps comments when autocorrecting 348s behaves like iterators 348s registers an offense for if inside of collect 348s registers an offense for if inside of select! 348s registers an offense for if inside of each_with_object 348s registers an offense when line break before condition 348s registers an offense for if inside of times 348s registers an offense for if inside of reject! 348s registers an offense for if inside of select 348s registers an offense for a condition at the end of an iterator when there is more in the iterator than the condition 348s reports an offense for if whose body has 3 lines 348s registers an offense for if inside of each 348s registers an offense for if inside of downto 348s allows loops with if being the entire body with else 348s registers an offense for if inside of map 348s allows loops with conditional return 348s registers an offense for if inside of for 348s registers an offense for if inside of loop 348s allows loops with conditional break 348s allows loops with if with else, nested in another condition 348s allows loops with if with else at the end 348s registers an offense for if inside of reject 348s registers an offense for if inside of nested iterators 348s autocorrects a misaligned end 348s registers an offense for if inside of nested iterators 348s EnforcedStyle: skip_modifier_ifs 348s allows modifier if 348s Ruby 2.7 348s registers an offense for if inside of downto numblock 348s EnforcedStyle: always 348s registers an offense for modifier if 348s Invalid MinBodyLength 348s fails with an error 348s MinBodyLength: 3 348s accepts if whose body has 1 line 348s behaves like iterators 348s allows loops with unless being the entire body with else 348s allows loops with unless with else at the end 348s registers an offense for unless inside of nested iterators 348s registers an offense for unless inside of select 348s registers an offense for unless inside of select! 348s registers an offense when line break before condition 348s reports an offense for unless whose body has 3 lines 348s registers an offense for unless inside of each 348s registers an offense for unless inside of loop 348s allows loops with unless with else, nested in another condition 348s registers an offense for a condition at the end of an iterator when there is more in the iterator than the condition 348s registers an offense for unless inside of nested iterators 348s autocorrects a misaligned end 348s registers an offense for unless inside of times 348s registers an offense for unless inside of reject! 348s registers an offense for unless inside of each_with_object 348s registers an offense for unless inside of map 348s allows loops with conditional return 348s registers an offense for unless inside of for 348s registers an offense for unless inside of reject 348s registers an offense for unless inside of collect 348s allows loops with conditional break 348s registers an offense for unless inside of downto 348s EnforcedStyle: skip_modifier_ifs 348s allows modifier unless 348s Ruby 2.7 348s registers an offense for unless inside of downto numblock 348s EnforcedStyle: always 348s registers an offense for modifier unless 348s 348s RuboCop::Cop::Style::IfWithSemicolon 348s can handle modifier conditionals 348s registers an offense and corrects for one line if/;/end 348s accepts without `else` branch 348s when elsif is present 348s accepts with `else` branch 348s accepts second elsif block 348s accepts without `else` branch 348s 348s RuboCop::Cop::Lint::ImplicitStringConcatenation 348s on a string with interpolations 348s does register an offense 348s when in a method call's argument list 348s notes that the strings could be separated by a comma instead 348s when the string literals contain newlines 348s does not register an offense for a single string 348s registers an offense 348s when inside an array 348s notes that the strings could be separated by a comma instead 348s on adjacent string literals on the same line 348s registers an offense 348s on a single string literal 348s does not register an offense 348s on adjacent string literals on different lines 348s does not register an offense 348s 348s RuboCop::DirectiveComment 348s #in_directive_department? 348s when cop department disabled 348s is expected to equal true 348s when cop disabled 348s is expected to equal false 348s when another department disabled 348s is expected to equal false 348s #directive_count 348s when cops and departments used 348s is expected to eq 4 348s when few department used 348s is expected to eq 3 348s when few cops used 348s is expected to eq 2 348s #disabled? 348s when todo 348s is expected to equal true 348s when disable 348s is expected to equal true 348s when enable 348s is expected to equal false 348s #overridden_by_department? 348s when there are no cops 348s is expected to equal false 348s when cop is not overridden by it's department 348s is expected to equal false 348s when there are no departments 348s is expected to equal false 348s when cop is overridden by it's department 348s is expected to equal true 348s #disabled_all? 348s when enabled specific cops 348s is expected to equal false 348s when disabled all cops 348s is expected to equal true 348s when enabled all cops 348s is expected to equal false 348s when disabled specific cops 348s is expected to equal false 348s #enabled? 348s when disable 348s is expected to equal false 348s when enable 348s is expected to equal true 348s when todo 348s is expected to equal false 348s #single_line? 348s when does NOT relate to single line 348s is expected to equal false 348s when relates to single line 348s is expected to equal true 348s #line_number 348s returns line number for directive 348s #department_names 348s when all cops mentioned 348s is expected to eq [] 348s when only cop specified 348s is expected to eq [] 348s when department and cops specified 348s is expected to eq ["Foo"] 348s when couple departments specified 348s is expected to eq ["Foo", "Baz"] 348s when only department specified 348s is expected to eq ["Foo"] 348s #enabled_all? 348s when enabled specific cops 348s is expected to equal false 348s when enabled all cops 348s is expected to equal true 348s when disabled specific cops 348s is expected to equal false 348s when disabled all cops 348s is expected to equal false 348s .before_comment 348s when line has NO code 348s is expected to eq "" 348s when line has code 348s is expected to eq "def foo " 348s #match? 348s when cop names are same as in the comment 348s is expected to equal true 348s when cop names are subset of names 348s is expected to equal false 348s when cop names are superset of names 348s is expected to equal false 348s when there are no cop names 348s is expected to equal false 348s when disabled all cops 348s is expected to equal true 348s when cop names are same but have duplicated names 348s is expected to equal true 348s when cop names are same but in a different order 348s is expected to equal true 348s #cop_names 348s when only cop specified 348s is expected to eq ["Foo/Bar"] 348s when all cops mentioned 348s is expected to eq ["all_names"] 348s when only department specified 348s is expected to eq ["Foo/Bar", "Foo/Baz"] 348s when couple departments specified 348s is expected to eq ["Foo/Bar", "Foo/Baz", "Baz/Bar"] 348s when department and cops specified 348s is expected to eq ["Foo/Bar", "Foo/Baz", "Baz/Cop"] 348s when redundant directive cop department specified 348s is expected to eq ["Lint/One", "Lint/Two"] 348s #all_cops? 348s when mentioned specific cops 348s is expected to equal false 348s when mentioned all 348s is expected to equal true 348s #match_captures 348s when enable 348s is expected to eq ["enable", "Foo/Bar", nil, "Foo/"] 348s when todo 348s is expected to eq ["todo", "all", nil, nil] 348s when typo 348s is expected to be nil 348s when disable 348s is expected to eq ["disable", "all", nil, nil] 348s 348s RuboCop::Cop::Style::EvalWithLocation 348s accepts `eval` with a heredoc, a filename and `__LINE__ + 1` 348s registers an offense when using `#eval` with a string on a new line 348s registers an offense when using `#module_eval` without any arguments 348s registers an offense when using `Kernel.eval` without any arguments 348s registers an offense when using `#eval` with `binding` only 348s registers an offense when using `#class_eval` with an incorrect lineno 348s registers an offense when using `#instance_eval` with a string argument in parentheses 348s does not register an offense if `eval` is called on another object 348s registers an offense when using `#class_eval` without any arguments 348s registers an offense when using `#eval` with a heredoc and an incorrect line number 348s accepts `eval` with a string, a filename and `__LINE__` 348s accepts `eval` with a string, a filename and `__LINE__` on a new line 348s registers an offense when using `#eval` without any arguments 348s does not register an offense when using eval with block argument 348s registers an offense when using `instance_eval` with improper arguments 348s registers an offense when using `#eval` without lineno 348s registers an offense when using `#eval` with an incorrect line number 348s registers an offense when using `module_eval` with improper arguments 348s registers an offense when using `#instance_eval` without any arguments 348s accepts `eval` with a code that is a variable 348s registers an offense when using `class_eval` with improper arguments 348s registers an offense when using `::Kernel.eval` without any arguments 348s registers an offense when using correct file argument but incorrect line 348s registers an offense when using `eval` with improper arguments 348s 348s RuboCop::Cop::Layout::LeadingCommentSpace 348s does not register an offense for more than one # 348s does not register an offense for more than one space 348s does not register an offense for #! on first line 348s does not register an offense for # followed by no text 348s registers an offense and corrects #! after the first line 348s accepts =begin/=end comments 348s accepts sprockets directives 348s does not register an offense for only #s 348s registers an offense and corrects comment without leading space 348s Gemfile Ruby comment 348s when config option is disabled 348s registers an offense when using ruby config as comment 348s when config option is enabled 348s file named Gemfile 348s does not register an offense when using ruby config as comment 348s file not named Gemfile 348s registers an offense when using ruby config as comment 348s file named config.ru 348s does not register an offense for #\ on first line 348s registers an offense and corrects for #\ after the first line 348s file not named config.ru 348s registers an offense and corrects #\ on first line 348s registers an offense and corrects #\ after the first line 348s Doxygen style 348s when config option is disabled 348s registers an offense and corrects using Doxygen style 348s when config option is enabled 348s does not register offense when using Doxygen style 348s RDoc syntax 348s registers an offense when starting `:` 348s does not register an offense when using `#++` or `#--` 348s 348s RuboCop::Runner 348s how formatter is invoked 348s #started 349s sends all file paths 349s the passed files paths 349s is frozen 349s invocation order 349s is called in the proper sequence 349s #file_finished 349s sends a file path 349s sends an array of detected offenses for the file 349s the passed path 349s is frozen 349s #file_started 349s sends file specific information hash 349s sends a file path 349s the passed path 350s is frozen 350s #finished 350s when RuboCop finished inspecting all files normally 350s sends all file paths 350s the passed files paths 350s is frozen 350s when RuboCop is interrupted by user 350s sends only processed file paths 350s 350s RuboCop::Cop::Style::CharacterLiteral 350s accepts ? in a %w literal 350s accepts literals like ?\C-\M-d 350s registers an offense for character literals 350s autocorrects ?' to "'" 350s registers an offense for literals like \n 350s 350s RuboCop::Cop::Lint::ConstantDefinitionInBlock 350s registers an offense for a module defined within a block followed by another statement 350s does not register an offense for a top-level module followed by another statement 350s does not register an offense for a constant with an explicit top-level scope 350s does not register an offense for a top-level module 350s registers an offense for a class defined within a block followed by another statement 350s does not register an offense for a top-level class followed by another statement 350s registers an offense for a class defined within a block 350s does not register an offense for a top-level class 350s does not register an offense for a constant with an explicit self scope 350s registers an offense for a module defined within a block 350s registers an offense for a constant defined within a block 350s registers an offense for a constant defined within a block followed by another statement 350s does not register an offense for a constant with an explicit self scope followed by another statement 350s does not register an offense for a constant with an explicit top-level scope followed by another statement 350s does not register an offense for a top-level constant 350s does not register an offense for a top-level constant followed by another statement 350s when `AllowedMethods: [enums]` 350s does not register an offense for a module defined within a block of `enums` method 350s does not register an offense for a casign used within a block of `enums` method 350s does not register an offense for a class defined within a block of `enums` method 350s when `AllowedMethods: []` 350s registers an offense for a module defined within a block of `enums` method 350s registers an offense for a class defined within a block of `enums` method 350s registers an offense for a casign used within a block of `enums` method 350s 350s RuboCop::Cop::Layout::EmptyLinesAroundAttributeAccessor 350s registers an offense and corrects for an attribute accessor and `rubocop:enable` comment line and other comment 350s registers an offense and corrects for an attribute accessor and `rubocop:disable` comment line 350s accepts code that separates an attribute accessor from the code and `rubocop:enable` comment line with a newline 350s registers an offense and corrects for code that immediately follows accessor 350s accepts code that separates attribute accessors from the code and comment line with a newline 350s accepts code that where the attr_accessor is the last line 350s registers an offense and corrects for an attribute accessor and comment line 350s registers an offense and corrects for code that immediately follows accessor with comment 350s accepts code when used in class definition 350s does not register an offense and corrects when using `if` ... `else` branches 350s registers an offense and corrects for an attribute accessor and some comment line 350s registers an offense and corrects for some attribute accessors and comment line 350s registers an offense and corrects for an attribute accessor and `rubocop:enable` comment line 350s accepts code when attribute method is method chained 350s accepts code that separates attribute accessors from the code with a newline 351s accepts code that separates an attribute accessor from the code with a newline 351s when `AllowAliasSyntax: true` 351s does not register an offense for code that immediately `alias` syntax after accessor 351s when `AllowAliasSyntax: false` 351s registers an offense for code that immediately `alias` syntax after accessor 351s when `AllowedMethods: []` 351s registers an offense for code that immediately ignored methods after accessor 351s when `AllowedMethods: private` 351s does not register an offense for code that immediately ignored methods after accessor 351s 351s RuboCop::Cop::Style::FetchEnvVar 351s registers an offense when using `ENV || x` that is different from `if` condition in the body 351s registers an offense with using an `ENV` at multiple `if` condition in the body 351s registers an offense when using `ENV && x` that is different from `if` condition in the body 351s registers an offense when using an `ENV` at `if` condition in the body 351s when using `fetch` instead of `[]` 351s registers no offenses 351s when it is assigned to a variable 351s registers an offense when using single assignment 351s registers an offense when using multiple assignment 351s when it receives a message 351s registers no offenses 351s when it is compared `!=` with other object 351s does not register an offense 351s when it is an array element 351s registers an offense 351s when it is a hash key 351s registers an offense 351s when the node is a receiver of `&&=` 351s does not register an offense 351s when `ENV[]` is the right end of `||` chains 351s registers an offense 351s when it is used in a conditional expression 351s registers no offenses with ternary operator 351s registers no offenses when using the same `ENV` var as `if` condition in the body with predicate method 351s registers an offense with `case` 351s registers no offenses when using the same `ENV` var as `if` condition in the body with other conditions 351s registers no offenses when using the same `ENV` var as `if` condition in the body 351s registers no offenses with `unless` 351s registers no offenses when using the same `ENV` var as `if` condition in the body with operator 351s registers no offenses when using the same `ENV` var as `if` condition in the body with assignment method 351s registers an offense with using an `ENV` var as `if` condition in the body with assignment method 351s registers no offenses with `if` 351s registers an offense when using an `ENV` var that is different from `if` condition in the body 351s when `ENV[]` is the LHS of `||` 351s registers no offenses 351s when it is used in an interpolation 351s registers an offense 351s when it is an argument of a method 351s registers an offense 351s when it is evaluated with no default values 351s registers an offense 351s when the env val is excluded from the inspection by the config 351s registers no offenses 351s when it is a hash value 351s registers an offense 351s when the node is a assigned by `&&=` 351s registers an offense 351s when the node is a assigned by `||=` 351s registers an offense 351s when the node is a receiver of `||=` 351s does not register an offense 351s when it is compared `==` with other object 351s does not register an offense 351s when it receives a message with safe navigation 351s registers no offenses 351s with negation 351s registers no offenses 351s 351s RuboCop::Cop::Style::HashTransformKeys 351s when using Ruby 2.6 or newer 351s flags _.to_h{...} when transform_keys could be used 351s does not flag `_.to_h{...}` when its receiver is `with_index` 351s does not flag `_.to_h{...}` when its receiver is an array literal 351s does not flag `_.to_h{...}` when both key & value are transformed 351s does not flag _.to_h {...} when key block argument is unused 351s does not flag `_.to_h{...}` when its receiver is `zip` 351s does not flag `_.to_h{...}` when its receiver is `each_with_index` 351s below Ruby 2.5 351s does not flag even if transform_keys could be used 351s below Ruby 2.6 351s does not flag _.to_h{...} 351s when using Ruby 2.5 or newer 351s does not flag `_.map{...}.to_h` when its receiver is `zip` 351s does not flag each_with_object when both key & value are transformed 351s does not flag each_with_object when key transformation uses value 351s correctly autocorrects Hash[_.map{...}] 351s does not flag each_with_object when no transformation occurs 351s correctly autocorrects _.map{...}.to_h without block 351s flags _.map{...}.to_h when transform_keys could be used 351s does not flag Hash[_.map{...}] when both key & value are transformed 351s does not flag `_.map{...}.to_h` when its receiver is `with_index` 351s does not flag `each_with_object` when its argument is used in the key 351s does not flag `_.map{...}.to_h` when its receiver is `each_with_index` 351s does not flag `each_with_object` when its receiver is `each_with_index` 351s does not flag `Hash[_.map{...}]` when its receiver is `with_index` 351s does not flag _.map{...}.to_h when both key & value are transformed 351s does not flag key transformation in the absence of to_h 351s does not flag `each_with_object` when its receiver is `zip` 351s does not flag `Hash[_.map{...}]` when its receiver is `zip` 351s does not flag `each_with_object` when its receiver is `with_index` 351s flags _.map{...}.to_h when transform_keys could be used when line break before `to_h` 351s does not flag each_with_object when its receiver is array literal 351s does not flag each_with_object when its argument is not modified 351s does not flag key transformation when receiver is array literal 351s does not flag _.map {...}.to_h when key block argument is unused 351s does not flag `Hash[_.map{...}]` when its receiver is `each_with_index` 351s flags _.map {...}.to_h when transform_keys could be used when wrapped in another block 351s does not flag `Hash[_.map{...}]` when its receiver is an array literal 351s correctly autocorrects _.map{...}.to_h with block 351s flags Hash[_.map{...}] when transform_keys could be used 351s with safe navigation operator 351s flags each_with_object when transform_keys could be used 351s with inline block 351s flags each_with_object when transform_keys could be used 351s with multiline block 351s flags each_with_object when transform_keys could be used 351s 351s RuboCop::ResultCache 351s #save 351s when the @path is not writable 351s behaves like invalid cache location 351s doesn't raise an exception 351s behaves like invalid cache location 351s doesn't raise an exception 351s when the default internal encoding is UTF-8 351s writes non UTF-8 encodable data to file with no exception 351s the cache path 351s when CacheRootDirectory is set 351s contains the given root 351s and RUBOCOP_CACHE_ROOT is set 351s contains the root from RUBOCOP_CACHE_ROOT 351s when CacheRootDirectory not set 351s and XDG_CACHE_HOME is set 351s contains the given path and UID 351s and XDG_CACHE_HOME is not set 351s contains $HOME/.cache 351s cached result that was saved with no command line option 351s when offenses are saved 351s an offense with status uncorrected 351s serializes them with uncorrected status 351s an offense with status unsupported 351s serializes them with unsupported status 351s an offense with status new_status 351s serializes them with new_status status 351s an offense with status corrected 351s serializes them with uncorrected status 351s an offense with status corrected_with_todo 351s serializes them with uncorrected status 351s when no option is given 351s is valid and can be loaded 351s when a symlink is present in the cache location 351s and symlink attack protection is enabled 351s prevents caching and prints a warning 351s and symlink attack protection is disabled 351s permits caching and prints no warning 351s when end of line characters have changed 351s is invalid 351s when team external_dependency_checksum is the same 351s is valid 351s when file contents have changed 351s is invalid 351s when team external_dependency_checksum changes 351s is invalid 351s when file permission have changed 351s is invalid 351s when --cache-root is given 351s takes the cache_root from the options 351s when --display-cop-names is given 351s is invalid 351s when a cache source is read 351s has utf8 encoding 351s when --format is given 351s is valid and can be loaded 351s when --only is given 351s is invalid 351s .cleanup 351s removes the oldest files in the cache if needed 351s 351s RuboCop::Cop::Lint::UnmodifiedReduceAccumulator 351s behaves like reduce/inject 351s does not affect inject called without a block 351s does not affect inject called with no block args 351s given a inject block 351s registers an offense for every violating return value 351s does not register an offense when shovelling the accumulator 351s registers an offense when called with no argument 351s registers an offense when returning an expression with the element 351s does not register an offense when returning a method called on the accumulator 351s does not register an offense when or-assigning the accumulator 351s allows break with no value 351s does not register an offense when comparing 351s does not register an offense when returning the accumulator in a boolean statement 351s does not register an offense with the accumulator in interpolation 351s registers an offense when mutating the accumulator with the element but not returning it 351s does not look inside inner blocks 351s registers an offense when returning the element 351s does not register an offense when mutating the element with the another value 351s does not register an offense when returning a literal 351s does not register an offense when calling a method on the accumulator with the element 351s does not register an offense when returning a method called with the accumulator 351s registers an offense when returning an index of the accumulator 351s registers an offense for values returned with `break` 351s registers an offense for values returned with `next` 351s does not register an offense with the accumulator in heredoc 351s allows the element to be the return value if the accumulator is returned in any branch 351s does not register an offense when op-assigning the accumulator 351s registers an offense when returning accumulator[element]= 351s does not register an offense when returning accumulator[element] 351s does not register an offense when assigning the accumulator 351s does not register an offense when returning the accumulator 351s does not register an offense when mutating the element with the accumulator 351s registers an offense with the element in interpolation 351s does not register an offense if the return value cannot be determined 351s does not register an offense when returning the accumulator in an expression 351s registers an offense with the element in heredoc 351s does not register an offense when and-assigning the accumulator 351s registers an offense when returning an index setter on the accumulator 351s argument count 351s ignores when there are not enough block arguments 351s ignores when there is a splat argument 351s registers an offense when there are more than two arguments but the element is returned 351s numblocks 351s does not register an offense when when returning the accumulator 351s registers an offense when returning the element 351s behaves like reduce/inject 351s does not affect reduce called with no block args 351s does not affect reduce called without a block 351s given a reduce block 351s does not register an offense with the accumulator in interpolation 351s does not register an offense if the return value cannot be determined 351s does not register an offense when returning a method called with the accumulator 351s registers an offense when returning the element 351s registers an offense when called with no argument 351s registers an offense when returning an index setter on the accumulator 351s allows break with no value 351s does not register an offense with the accumulator in heredoc 351s does not register an offense when assigning the accumulator 351s registers an offense when mutating the accumulator with the element but not returning it 351s does not register an offense when calling a method on the accumulator with the element 351s does not register an offense when comparing 351s registers an offense when returning accumulator[element]= 351s registers an offense with the element in heredoc 351s registers an offense for values returned with `next` 351s does not register an offense when returning a literal 351s registers an offense for values returned with `break` 351s does not register an offense when shovelling the accumulator 351s does not register an offense when returning the accumulator in an expression 351s registers an offense when returning an index of the accumulator 351s does not register an offense when returning the accumulator in a boolean statement 351s does not register an offense when returning accumulator[element] 351s registers an offense with the element in interpolation 351s does not register an offense when returning the accumulator 351s does not register an offense when mutating the element with the accumulator 351s does not register an offense when and-assigning the accumulator 351s registers an offense for every violating return value 351s registers an offense when returning an expression with the element 351s does not register an offense when mutating the element with the another value 351s does not register an offense when returning a method called on the accumulator 351s does not look inside inner blocks 351s does not register an offense when or-assigning the accumulator 351s allows the element to be the return value if the accumulator is returned in any branch 351s does not register an offense when op-assigning the accumulator 351s numblocks 351s registers an offense when returning the element 351s does not register an offense when when returning the accumulator 351s argument count 351s ignores when there is a splat argument 351s registers an offense when there are more than two arguments but the element is returned 351s ignores when there are not enough block arguments 351s 351s RuboCop::Cop::Style::RedundantConditional 351s registers an offense for ternary with boolean results 351s allows ternary with non-boolean results 351s does not register an offense for if/elsif/else with non-boolean results 351s registers an offense for if/elsif/else with negated boolean results 351s does not register an offense for if/else with non-boolean results 351s registers an offense for ternary with negated boolean results 351s registers an offense for if/else with negated boolean results 351s registers an offense for if/elsif/else with boolean results 351s registers an offense for if/else with boolean results 351s 351s RuboCop::Cop::Style::ExpandPathArguments 351s does not register an offense when using `File.expand_path("#{path_to_file}.png", __FILE__)` 351s registers an offense when using `Pathname.new(__FILE__).parent.expand_path` 351s registers an offense when using `::File.expand_path('./../..', __FILE__)` 351s registers an offense when using `File.expand_path('../../..', __FILE__)` 351s registers an offense when using `File.expand_path('../../lib', __FILE__)` 351s registers an offense when using `::Pathname.new(__FILE__).parent.expand_path` 351s does not register an offense when using `File.expand_path(path, __FILE__)` 351s registers an offense when using `File.expand_path('../..', __FILE__)` 351s does not register an offense when using `Pathname(__dir__).expand_path` 351s does not register an offense when using `File.expand_path(__FILE__)` 351s registers an offense when using `File.expand_path('./../..', __FILE__)` 351s registers an offense when using `File.expand_path('.', __FILE__)` 351s does not register an offense when using `File.expand_path('..', __dir__)` 351s registers an offense when using `Pathname(__FILE__).parent.expand_path` 351s does not register an offense when using `File.expand_path(__dir__)` 351s registers an offense when using `File.expand_path('..', __FILE__)` 351s 351s RuboCop::Cop::Lint::FormatParameterMismatch 351s registers an offense when there are less arguments than expected 351s does not register an offense when arguments and fields match 351s registers an offense when calling Kernel.sprintf and the fields do not match 351s accepts an extra arg for dynamic width with other preceding flags 351s registers an offense if extra argument for dynamic width not given 351s accepts an extra argument for dynamic width 351s registers offense with sprintf 351s registers an offense when there are more arguments than expected 351s does not register an offense for sprintf with splat argument 351s correctly ignores double percent 351s does not register an offense for format with splat argument 351s does not register an offense when using named parameters with escaped `%` 351s registers an offense when calling Kernel.format and the fields do not match 351s registers an offense for String#% 351s finds faults even when the string looks like a HEREDOC 351s does not register an offense argument is the result of a message send 351s ignores percent right next to format string 351s does not register offense for `String#%` when arguments, fields match 351s does not register an offense when single argument is not an array 351s correctly parses different sprintf formats 351s does not register an offense when single argument is a hash 351s does not register an offense when using named parameters 351s identifies correctly digits for spacing in format 351s constants do not register offenses 351s on format with %<> interpolations 351s and 1 argument 351s does not register an offense 351s and multiple arguments 351s registers an offense 351s when splat argument is present 352s does not register an offense when args count is less than expected 352s when args count is more than expected 352s does not register an offense for `#format` 352s registers an offense for `#%` 352s does not register an offense for `#sprintf` 352s when argument itself contains format characters and formats in format string and argument are not equal 352s ignores argument formatting 352s when format is not a string literal 352s does not register an offense 352s when using (digit)$ flag 352s does not register an offense when match between the maximum value specified by (digit)$ flag and the number of arguments 352s registers an offense when mismatch between the maximum value specified by (digit)$ flag and the number of arguments 352s does not register an offense 352s behaves like variables 352s does not register an offense for format called on a variable 352s does not register an offense for format called on a variable 352s does not register an offense for % called on a variable 352s on format with %{} interpolations 352s and multiple arguments 352s registers an offense 352s and 1 argument 352s does not register an offense 352s when format is invalid 352s registers an offense 352s when passed an empty array 352s does not register an offense 352s with wildcard 352s does not register an offense for multiple wildcards 352s does not register an offense for width and precision 352s does not register an offense for precision 352s does not register an offense for width 352s behaves like variables 352s does not register an offense for format called on a variable 352s does not register an offense for % called on a variable 352s does not register an offense for format called on a variable 352s behaves like variables 352s does not register an offense for format called on a variable 352s does not register an offense for format called on a variable 352s does not register an offense for % called on a variable 352s behaves like variables 352s does not register an offense for format called on a variable 352s does not register an offense for % called on a variable 352s does not register an offense for format called on a variable 352s behaves like variables 352s does not register an offense for format called on a variable 352s does not register an offense for format called on a variable 352s does not register an offense for % called on a variable 352s when multiple arguments are called for 352s and a single send node is passed 352s does not register an offense 352s and a single variable argument is passed 352s does not register an offense 352s 352s RuboCop::Cop::Layout::LeadingEmptyLines 352s allows blank lines without any comments or code 352s accepts not having a blank line before a comment 352s registers an offense and corrects a new line before a comment 352s registers an offense and corrects a new line before code 352s allows an empty input 352s accepts not having a blank line before code 352s accepts not having a blank line before a class 352s registers an offense and corrects a new line before a class 352s registers an offense and corrects multiple new lines before a class 352s autocorrect 352s in collaboration 352s does not invoke conflicts with other cops 352s 352s RuboCop::Cop::Layout::ArrayAlignment 352s when aligned with first parameter 352s accepts single line array 352s registers an offense and corrects misaligned array elements 352s autocorrects array within array with too much indentation 352s accepts the first element being on a new row 352s autocorrects array within array with too little indentation 352s does not register an offense or try to correct parallel assignment 352s accepts several elements per line 352s does not indent heredoc strings when autocorrecting 352s accepts aligned array keys 352s autocorrects misaligned array with the first element on a new row 352s accepts aligned array with fullwidth characters 352s when aligned with fixed indentation 352s autocorrects array within array with too little indentation 352s autocorrects misaligned array with the first element on a new row 352s accepts several elements per line 352s accepts single line array 352s registers an offense and corrects misaligned array elements 352s does not register an offense or try to correct parallel assignment 352s autocorrects array within array with too much indentation 352s accepts aligned array with fullwidth characters 352s accepts aligned array keys 352s does not indent heredoc strings when autocorrecting 352s accepts the first element being on a new row 352s 352s RuboCop::Cop::Cop 352s initially has 0 offenses 352s will report registered offenses 352s will set custom severity if present 352s will set default severity 352s keeps track of offenses 352s will warn if custom severity is invalid 352s setting of Offense#corrected attribute 352s when cop does not support autocorrection 352s is not specified (set to nil) 352s when autocorrect is requested 352s is not specified (set to nil) 352s when disable_uncorrectable is enabled 352s is set to true 352s when cop supports autocorrection 352s when offense was not corrected because of an error 352s is set to false 352s when autocorrection is not needed 352s is set to false 352s when offense was corrected 352s is set to true 352s #relevant_file? 352s when the file matches the Include configuration 352s is expected to equal true 352s when the file doesn't match the Include configuration 352s is expected to equal false 352s when the file is an anonymous source 352s is expected to equal true 352s for a cop with a name 352s registers offense with its name 352s .qualified_cop_name 352s raises an error if the cop name is in more than one namespace 352s returns the cop name in a different namespace if the provided namespace is incorrect 352s adds namespace if the cop name is found in exactly one namespace 352s returns the given cop name if it is not found in any namespace 352s returns the given cop name if it already has a namespace even when the cop exists in multiple namespaces 352s returns the given cop name if it already has a namespace 352s with no submodule 352s has right name 352s has right department 352s Registry 352s #departments 352s is expected to include :Lint 352s has departments 352s contains every value only once 352s is expected to include :Style 352s #with_department 352s has at least one cop per department 352s returns 0 for an invalid type 352s has each cop in exactly one type 352s #autocorrect? 352s when the option is not given 352s is expected to equal false 352s when the option is given 352s is expected to equal true 352s when cop does not support autocorrection 352s is expected to equal false 352s when disable_uncorrectable is enabled 352s is expected to equal true 352s when the cop is set to not autocorrect 352s is expected to equal false 352s with lint cops 352s has right department 352s has right name 352s when disabled by a comment 352s ignore_disable_comments is false 352s will set offense as disabled 352s ignore_disable_comments is true 352s will not set offense as disabled 352s with style cops 352s has right department 352s has right name 352s .documentation_url 352s for a custom cop class 352s is expected to be nil 352s for a builtin cop class 352s is expected to eq "https://docs.rubocop.org/rubocop/cops_layout.html#layoutblockendnewline" 352s #safe_autocorrect? 352s when safety is undeclared 352s is expected to equal true 352s when cop is declared unsafe 352s is expected to equal false 352s when autocorrection of the cop is declared unsafe 352s is expected to equal false 352s 352s RuboCop::Cop::Layout::MultilineMethodDefinitionBraceLayout 352s ignores single-line defs 352s ignores defs without params 352s ignores implicit defs 352s same_line style 352s opening brace on same line as first element 352s allows closing brace on same line from last element 352s allows closing brace on same line as multi-line element 352s autocorrects closing brace on different line as last element 352s detects closing brace on different line from multiline element 352s opening brace on separate line from first element 352s detects closing brace on different line from last element 352s allows closing brace on same line as last element 352s allows closing brace on same line as last multiline element 352s heredoc 352s ignores heredocs that could share a last line 352s detects heredoc structures that are safe to add to 352s new_line style 352s opening brace on same line as first element 352s allows closing brace on different line from multi-line element 352s detects closing brace on same line as last multiline element 352s autocorrects closing brace on same line as last element 352s allows closing brace on different line from last element 352s opening brace on separate line from first element 352s detects closing brace on same line as last element 352s allows closing brace on separate line from last element 352s allows closing brace on separate line from last multiline element 352s symmetrical style 352s opening brace on separate line from first element 352s allows closing brace on separate line from last multiline element 352s allows closing brace on separate line from last element 352s detects closing brace on same line as last element 352s opening brace on same line as first element 352s allows closing brace on same line as last element 352s allows closing brace on same line as last multiline element 352s detects closing brace on different line from last element 352s autocorrects closing brace on different line from last element 352s 352s RuboCop::Cop::Style::RedundantSortBy 352s autocorrects array.sort_by { |y| y } 352s autocorrects array.sort_by { |x| x } 352s autocorrects array.sort_by do |x| x end 352s Ruby 2.7 352s autocorrects array.sort_by { |x| x } 352s 352s RuboCop::Cop::Lint::UselessAccessModifier 352s when an access modifier has no effect 352s registers an offense and corrects 352s when using ActiveSupport's `concerning` method 352s still points out redundant uses within the block 352s is aware that this creates a new scope 352s Ruby 2.7 352s still points out redundant uses within the block 352s behaves like at the top of the body 352s registers an offense and corrects for `public` 352s doesn't register an offense for `protected` 352s doesn't register an offense for `private` 352s behaves like non-repeated visibility modifiers 352s registers an offense and corrects even when `public` is not repeated 352s doesn't register an offense when `private` is not repeated 352s doesn't register an offense when `protected` is not repeated 352s behaves like methods defined in an iteration 352s doesn't register an offense for map 352s doesn't register an offense for each 352s behaves like method defined on a singleton class 352s outside a class 352s registers an offense if no method is defined 352s doesn't register an offense if a method is defined 352s registers an offense if no method is defined after the modifier 352s inside a class 352s registers an offense if no method is defined after the modifier 352s doesn't register an offense if a method is defined 352s registers an offense if no method is defined 352s doesn't register an offense if the modifier is the same as outside the meta-class 352s registers an offense even if a non-singleton-class method is defined 352s behaves like def in new block 352s doesn't register an offense if a method is defined in ::Module.new 352s registers an offense if no method is defined in ::Module.new 352s behaves like conditionally defined method 352s doesn't register an offense for unless 352s doesn't register an offense for if 352s behaves like method named by access modifier name 352s does not register an offense for `private` 352s behaves like method named by access modifier name 352s does not register an offense for `public` 352s behaves like at the top of the body 352s registers an offense and corrects for `public` 352s doesn't register an offense for `private` 352s doesn't register an offense for `protected` 352s behaves like method defined using instance_eval 352s doesn't register an offense if a method is defined 352s registers an offense if no method is defined 352s inside a class 352s registers an offense when a modifier is outside the block and a method is defined only inside the block 352s registers two offenses when a modifier is inside and outside the and no method is defined 352s behaves like nested in a begin..end block 352s still flags repeated `private` 352s doesn't flag an access modifier from surrounding scope 352s behaves like def in new block 352s registers an offense if no method is defined in Module.new 352s doesn't register an offense if a method is defined in Module.new 352s behaves like at the end of the body 352s registers an offense for trailing `public` 352s behaves like def in new block 352s registers an offense if no method is defined in Class.new 352s doesn't register an offense if a method is defined in Class.new 352s when using inline modifiers 352s does not register an offense 352s behaves like method defined with define_method 352s doesn't register an offense if a lambda is passed 352s doesn't register an offense if a block is passed 352s doesn't register an offense if a -> is passed 352s doesn't register an offense if a proc is passed 352s behaves like nested modules 352s doesn't register an offense for nested modules 352s unused modifiers 352s registers an offense with a nested module 352s registers an offense when outside a nested module 352s registers an offense when inside a nested module 352s behaves like method defined using class_eval 352s registers an offense if no method is defined 352s doesn't register an offense if a method is defined 352s inside a class 352s registers an offense when a modifier is outside the block and a method is defined only inside the block 352s registers two offenses when a modifier is inside and outside the block and no method is defined 352s behaves like nested in a begin..end block 352s still flags repeated `protected` 352s doesn't flag an access modifier from surrounding scope 352s behaves like def in new block 352s doesn't register an offense if a method is defined in Struct.new 352s registers an offense if no method is defined in Struct.new 352s behaves like method defined on a singleton class 352s inside a class 352s doesn't register an offense if the modifier is the same as outside the meta-class 352s registers an offense even if a non-singleton-class method is defined 352s registers an offense if no method is defined 352s doesn't register an offense if a method is defined 352s registers an offense if no method is defined after the modifier 352s outside a class 352s registers an offense if no method is defined after the modifier 352s doesn't register an offense if a method is defined 352s registers an offense if no method is defined 352s behaves like at the end of the body 352s registers an offense for trailing `protected` 352s behaves like repeated visibility modifiers 352s registers an offense when `public` is repeated 352s when multiple class definitions in file but only one has offense 352s registers an offense and corrects 352s when private_class_method is used with arguments 352s does not register an offense 352s behaves like unused visibility modifiers 352s registers an offense and corrects when visibility is immediately changed without any intervening defs 352s behaves like nested modules 352s doesn't register an offense for nested modules 352s unused modifiers 352s registers an offense with a nested module 352s registers an offense when inside a nested module 352s registers an offense when outside a nested module 352s behaves like conditionally defined method 352s doesn't register an offense for if 352s doesn't register an offense for unless 352s behaves like method named by access modifier name 352s does not register an offense for `protected` 352s behaves like def in new block 352s registers an offense if no method is defined in ::Struct.new 352s doesn't register an offense if a method is defined in ::Struct.new 352s when class is empty save modifier 352s registers an offense and corrects 352s when using the class_methods method from ActiveSupport::Concern 352s is aware that this creates a new scope 352s behaves like nested in a begin..end block 352s still flags repeated `public` 352s when a def is an argument to a method call 352s does not register an offense 352s when using a known method-creating method 352s is aware that this creates a new method 352s still points out redundant uses within the module 352s behaves like methods defined in an iteration 352s doesn't register an offense for map 352s doesn't register an offense for each 352s behaves like nested in a begin..end block 352s still flags repeated `private` 352s doesn't flag an access modifier from surrounding scope 352s behaves like non-repeated visibility modifiers 352s doesn't register an offense when `private` is not repeated 352s registers an offense and corrects even when `public` is not repeated 352s doesn't register an offense when `protected` is not repeated 352s behaves like nested in a begin..end block 352s still flags repeated `public` 352s behaves like conditionally defined method 352s doesn't register an offense for unless 352s doesn't register an offense for if 352s behaves like def in new block 352s registers an offense if no method is defined in ::Class.new 352s doesn't register an offense if a method is defined in ::Class.new 352s behaves like methods defined in an iteration 352s doesn't register an offense for each 352s doesn't register an offense for map 352s behaves like def in new block 352s registers an offense if no method is defined in Module.new 352s doesn't register an offense if a method is defined in Module.new 352s when passing method as symbol 352s does not register an offense 352s behaves like repeated visibility modifiers 352s registers an offense when `protected` is repeated 352s behaves like method named by access modifier name 352s does not register an offense for `protected` 352s when private_class_method is used without arguments 352s registers an offense and corrects 352s behaves like methods defined in an iteration 352s doesn't register an offense for each 352s doesn't register an offense for map 352s behaves like nested modules 352s doesn't register an offense for nested classs 352s unused modifiers 352s registers an offense when outside a nested class 352s registers an offense with a nested class 352s registers an offense when inside a nested class 352s behaves like method defined on a singleton class 352s outside a class 352s registers an offense if no method is defined 352s registers an offense if no method is defined after the modifier 352s doesn't register an offense if a method is defined 352s inside a class 352s doesn't register an offense if a method is defined 352s registers an offense if no method is defined after the modifier 352s registers an offense even if a non-singleton-class method is defined 352s doesn't register an offense if the modifier is the same as outside the meta-class 352s registers an offense if no method is defined 352s behaves like def in new block 352s registers an offense if no method is defined in ::Class.new 352s doesn't register an offense if a method is defined in ::Class.new 352s behaves like method defined with define_method 352s doesn't register an offense if a proc is passed 352s doesn't register an offense if a -> is passed 352s doesn't register an offense if a lambda is passed 352s doesn't register an offense if a block is passed 352s behaves like at the end of the body 352s registers an offense for trailing `protected` 352s when using ActiveSupport behavior when Rails is not eabled 352s reports offenses and corrects 352s behaves like method defined with define_method 352s doesn't register an offense if a proc is passed 352s doesn't register an offense if a lambda is passed 352s doesn't register an offense if a -> is passed 352s doesn't register an offense if a block is passed 352s behaves like at the end of the body 352s registers an offense for trailing `public` 352s behaves like repeated visibility modifiers 352s registers an offense when `protected` is repeated 352s behaves like nested modules 352s doesn't register an offense for nested classs 352s unused modifiers 352s registers an offense with a nested class 352s registers an offense when inside a nested class 352s registers an offense when outside a nested class 352s behaves like method named by access modifier name 352s does not register an offense for `public` 352s behaves like at the end of the body 352s registers an offense for trailing `private` 352s behaves like at the end of the body 352s registers an offense for trailing `private` 352s behaves like conditionally defined method 352s doesn't register an offense for unless 352s doesn't register an offense for if 352s behaves like method defined using instance_eval 352s registers an offense if no method is defined 352s doesn't register an offense if a method is defined 352s inside a class 352s registers an offense when a modifier is outside the block and a method is defined only inside the block 352s registers two offenses when a modifier is inside and outside the and no method is defined 352s when only a constant or local variable is defined after the modifier 352s registers an offense and corrects 352s registers an offense and corrects 352s behaves like repeated visibility modifiers 352s registers an offense when `public` is repeated 352s behaves like def in new block 352s doesn't register an offense if a method is defined in Struct.new 352s registers an offense if no method is defined in Struct.new 352s behaves like def in new block 352s registers an offense if no method is defined in Class.new 352s doesn't register an offense if a method is defined in Class.new 352s when there are consecutive access modifiers 352s registers an offense and corrects 352s behaves like def in new block 352s doesn't register an offense if a method is defined in ::Struct.new 353s registers an offense if no method is defined in ::Struct.new 353s behaves like def in new block 353s doesn't register an offense if a method is defined in ::Module.new 353s registers an offense if no method is defined in ::Module.new 353s behaves like method defined on a singleton class 353s inside a class 353s registers an offense if no method is defined after the modifier 353s doesn't register an offense if a method is defined 353s registers an offense even if a non-singleton-class method is defined 353s doesn't register an offense if the modifier is the same as outside the meta-class 353s registers an offense if no method is defined 353s outside a class 353s registers an offense if no method is defined 353s registers an offense if no method is defined after the modifier 353s doesn't register an offense if a method is defined 353s when an access modifier is followed by a class method defined on constant 353s registers an offense and corrects 353s behaves like method named by access modifier name 353s does not register an offense for `private` 353s when an access modifier has no methods 353s registers an offense and corrects 353s behaves like method defined using class_eval 353s registers an offense if no method is defined 353s doesn't register an offense if a method is defined 353s inside a class 353s registers two offenses when a modifier is inside and outside the block and no method is defined 353s registers an offense when a modifier is outside the block and a method is defined only inside the block 353s behaves like repeated visibility modifiers 353s registers an offense when `private` is repeated 353s behaves like unused visibility modifiers 353s registers an offense and corrects when visibility is immediately changed without any intervening defs 353s behaves like method defined with define_method 353s doesn't register an offense if a lambda is passed 353s doesn't register an offense if a block is passed 353s doesn't register an offense if a -> is passed 353s doesn't register an offense if a proc is passed 353s behaves like repeated visibility modifiers 353s registers an offense when `private` is repeated 353s when an access modifier is followed by attr_* 353s does not register an offense 353s behaves like nested in a begin..end block 353s doesn't flag an access modifier from surrounding scope 353s still flags repeated `protected` 353s 353s RuboCop::Cop::Lint::DeprecatedClassMethods 353s prefer `Addrinfo#getnameinfo` over `Socket.gethostbyaddr` 353s registers an offense for Socket.gethostbyaddr 353s registers an offense for ::Socket.gethostbyaddr 353s does not register an offense for method `gethostbyaddr` on other receivers 353s prefer `Addrinfo#getaddrinfo` over `Socket.gethostbyname` 353s registers an offense for ::Socket.gethostbyname 353s registers an offense for Socket.gethostbyname 353s does not register an offense for method `gethostbyname` on other receivers 353s prefer `Dir.exist?` over `Dir.exists?` 353s does not register an offense for Dir.exist? 353s registers an offense and corrects ::Dir.exists? 353s registers an offense and corrects Dir.exists? 353s does not register an offense for offensive method `exists?`on other receivers 353s prefer `File.exist?` over `File.exists?` 353s registers an offense and corrects ::File.exists? 353s registers an offense and corrects File.exists? 353s does not register an offense for File.exist? 353s when using `ENV.clone` 353s registers an offense 353s does not register an offense for method calls to `ENV` other than `clone` 353s when using `ENV.dup` 353s does not register an offense for method calls to `ENV` other than `dup` 353s registers an offense 353s prefer `block_given?` over `iterator?` 353s registers an offense and corrects iterator? 353s does not register an offense for offensive method `iterator?`on other receivers 353s does not register an offense for block_given? 353s when using `ENV.freeze` 353s does not register an offense for method calls to `ENV` other than `freeze` 353s registers an offense 353s 353s RuboCop::Cop::Style::BisectedAttrAccessor 353s registers an offense and corrects when attr and attr_writer exists 353s does not register an offense when using `attr_accessor` 353s registers and corrects in a module 353s registers an offense and corrects when both accessors of the name exists 353s registers an offense and corrects when both accessors are in the same visibility scope 353s registers an offense and corrects when both accessors of the splat exists 353s registers an offense and corrects when both accessors of the name exists and accessor contains multiple names 353s registers an offense and corrects properly when attr_writer is before attr_reader 353s does not register an offense when accessors are within different visibility scopes 353s registers an offense and corrects when within eigenclass 353s registers an offense for accessors with the same visibility in different scopes 353s does not register an offense when only one accessor of the name exists 353s multiple bisected accessors 353s when all attr names are bisected 353s registers and replaces with attr_accessor 353s when some attr names are bisected 353s registers and retains non-bisected attrs 353s 353s RuboCop::Cop::Layout::FirstArgumentIndentation 353s when EnforcedStyle is consistent_relative_to_receiver 353s when IndentationWidth:Width is 2 353s does not register an offense when argument has expected indent width and the method is preceded by double splat 353s does not view []= as an outer method call 353s does not view chained call as an outer method call 353s accepts method calls with no arguments 353s accepts operator calls 353s accepts a first argument that is not preceded by a line break 353s registers an offense and corrects an over-indented first argument 353s registers an offense and corrects lines affected by other offenses 353s does not register an offense when argument has expected indent width and the method is preceded by splat 353s registers an offense and corrects an under-indented first argument 353s for assignment 353s register an offense and corrects a correctly indented first argument and does not care about the second argument 353s with line break 353s registers an offense and corrects an under-indented first argument 353s accepts a correctly indented first argument 353s when the receiver contains a line break 353s accepts a correctly indented first argument preceded by an empty line 353s registers an offense and corrects an over-indented 1st argument 353s accepts a correctly indented first argument 353s when preceded by a comment line 353s accepts a correctly indented first argument 353s registers an offense and corrects an under-indented first argument 353s when IndentationWidth:Width is 4 353s registers an offense and corrects an over-indented first argument 353s for method calls within method calls 353s without outer parentheses 353s accepts a first argument with special indentation 353s indents all relative to the receiver 353s with outer parentheses 353s indents all relative to the receiver 353s registers an offense and corrects an over-indented 1st argument 353s when indentation width is overridden for this cop only 353s registers an offense and corrects an over-indented first argument 353s accepts a correctly indented first argument 353s when EnforcedStyle is special_for_inner_method_call 353s when IndentationWidth:Width is 4 353s registers an offense and corrects an over-indented first argument 353s when IndentationWidth:Width is 2 353s accepts operator calls 353s registers an offense and corrects an over-indented first argument 353s registers an offense and corrects an over-indented first argument of `super` 353s does not view []= as an outer method call 353s accepts a first argument that is not preceded by a line break 353s registers an offense and corrects an over-indented first argument on an alphanumeric method name 353s registers an offense and corrects lines affected by another offense 353s registers an offense and corrects an over-indented first argument on a pipe method name 353s registers an offense and corrects an under-indented first argument 353s does not view chained call as an outer method call 353s accepts method calls with no arguments 353s registers an offense and corrects an over-indented first argument on a plus sign method name 353s when the receiver contains a line break 353s registers an offense and corrects an over-indented first argument 353s accepts a correctly indented first argument 353s accepts a correctly indented first argument preceded by an empty line 353s when preceded by a comment line 353s accepts a correctly indented first argument 353s registers an offense and corrects an under-indented first argument 353s for a setter call 353s accepts an unindented value 353s for assignment 353s accepts a correctly indented first argument and does not care about the second argument 353s with line break 353s registers an offense and corrects an under-indented first argument 353s accepts a correctly indented first argument 353s when using safe navigation operator 353s registers an offense and corrects an under-indented 1st argument 353s when indentation width is overridden for this cop only 353s accepts a correctly indented first argument 353s registers an offense and corrects an over-indented first argument 353s for method calls within method calls 353s without outer parentheses 353s accepts a first argument with special indentation 353s with outer parentheses 353s registers an offense and corrects an over-indented first argument 353s when EnforcedStyle is special_for_inner_method_call_in_parentheses 353s when IndentationWidth:Width is 4 353s registers an offense and corrects an over-indented first argument 353s when indentation width is overridden for this cop only 353s registers an offense and corrects an over-indented first argument 353s accepts a correctly indented first argument 353s for method calls within method calls 353s with outer parentheses 353s registers an offense and corrects an under-indented first argument 353s accepts a correctly indented first argument in interpolation 353s registers an offense and corrects an over-indented first argument 353s accepts a correctly indented first argument with fullwidth characters 353s without outer parentheses 353s accepts a first argument with consistent style indentation 353s when IndentationWidth:Width is 2 353s registers an offense and corrects an over-indented first argument on a plus sign method name 353s registers an offense and corrects lines affected by another offense 353s registers an offense and corrects an under-indented first argument 353s registers an offense and corrects an over-indented first argument 353s registers an offense and corrects an over-indented first argument of `super` 353s accepts operator calls 353s registers an offense and corrects an over-indented first argument on a pipe method name 353s accepts a first argument that is not preceded by a line break 353s accepts method calls with no arguments 353s registers an offense and corrects an over-indented first argument on an alphanumeric method name 353s does not view []= as an outer method call 353s does not view chained call as an outer method call 353s for a setter call 353s accepts an unindented value 353s when the receiver contains a line break 353s registers an offense and corrects an over-indented first argument 353s accepts a correctly indented first argument preceded by an empty line 353s accepts a correctly indented first argument 353s when preceded by a comment line 353s accepts a correctly indented first argument 353s registers an offense and corrects an under-indented first argument 353s when using safe navigation operator 353s registers an offense and corrects an under-indented 1st argument 353s for assignment 353s accepts a correctly indented first argument and does not care about the second argument 353s with line break 353s registers an offense and corrects an under-indented first argument 353s accepts a correctly indented first argument 353s when EnforcedStyle is consistent 353s for method calls within method calls 353s registers an offense and corrects an over-indented first argument 353s accepts first argument indented relative to previous line 353s when IndentationWidth:Width is 2 353s registers an offense and corrects an over-indented first argument on an alphanumeric method name 353s registers an offense and corrects an under-indented first argument 353s accepts method calls with no arguments 353s accepts operator calls 353s registers an offense and corrects lines affected by another offense 353s does not view []= as an outer method call 353s registers an offense and corrects an over-indented first argument on a plus sign method name 353s registers an offense and corrects an over-indented first argument of `super` 353s accepts a first argument that is not preceded by a line break 353s registers an offense and corrects an over-indented first argument 353s registers an offense and corrects an over-indented first argument on a pipe method name 353s does not view chained call as an outer method call 353s for assignment 353s accepts a correctly indented first argument and does not care about the second argument 353s with line break 353s registers an offense and corrects an under-indented first argument 353s accepts a correctly indented first argument 353s for a setter call 353s accepts an unindented value 353s when using safe navigation operator 353s registers an offense and corrects an under-indented 1st argument 353s when the receiver contains a line break 353s registers an offense and corrects an over-indented first argument 353s accepts a correctly indented first argument 353s accepts a correctly indented first argument preceded by an empty line 353s when preceded by a comment line 353s registers an offense and corrects an under-indented first argument 353s accepts a correctly indented first argument 353s when indentation width is overridden for this cop only 353s registers an offense and corrects an over-indented first argument 353s accepts a correctly indented first argument 353s when IndentationWidth:Width is 4 353s registers an offense and corrects an over-indented first argument 353s 353s RuboCop::Cop::Lint::ToJSON 353s registers an offense and corrects using `#to_json` without arguments 353s does not register an offense when using `#to_json` with arguments 353s 353s RuboCop::Cop::Style::ZeroLengthPredicate 353s with arrays 353s registers an offense for `array.length == 0` 353s registers an offense for `array.size < 1` 353s registers an offense for `1 > array.length` 353s registers an offense for `1 > array.size` 353s registers an offense for `array.length < 1` 353s registers an offense for `array.size > 0` 353s registers an offense for `0 < array.length 353s registers an offense for `array.size == 0` 353s registers an offense for `array.length != 0` 353s registers an offense for `0 != array.length` 353s registers an offense for `0 != array.size` 353s registers an offense for `array.size != 0` 353s registers an offense for `0 == array.length` 353s registers an offense for `0 == array.size` 353s registers an offense for `0 < array.size` 353s registers an offense for `array.length > 0` 353s with hashes 353s registers an offense for `hash.size != 0` 353s registers an offense for `0 != hash.size` 353s registers an offense for `hash.size == 0` 353s registers an offense for `0 == hash.size 353s when name of the variable is `size` or `length` 353s accepts equality check 353s accepts inequality check 353s accepts comparison 353s when inspecting a File::Stat object 353s does not register an offense 353s does not register an offense with ::File 353s when inspecting a Tempfile object 353s does not register an offense 353s does not register an offense with top-level ::Tempfile 353s with collection variables 353s registers an offense for `collection.size == 0` 353s registers an offense for `0 != collection.size` 353s registers an offense for `0 == collection.size` 353s registers an offense for `collection.size != 0` 353s with strings 353s registers an offense for `string.size != 0` 353s registers an offense for `0 != string.size` 353s registers an offense for `string.size == 0` 353s registers an offense for `0 == string.size` 353s when inspecting a StringIO object 353s when initialized with a string 353s does not register an offense with top-level ::StringIO 353s does not register an offense 353s when initialized without arguments 353s does not register an offense with top-level ::StringIO 353s does not register an offense 353s 353s RuboCop::Cop::Lint::DuplicateElsifCondition 353s registers multiple offenses for multiple repeated elsif conditions 353s registers an offense for repeated elsif conditions 353s registers an offense for subsequent repeated elsif conditions 353s does not register an offense for partially repeated elsif conditions 353s does not register an offense for non-repeated elsif conditions 353s 353s RuboCop::Cop::Lint::MultipleComparison 353s registers an offense for x <= y < z 353s registers an offense for x < y > z 353s registers an offense for x < y >= z 353s accepts to use `|` operator 353s registers an offense for x < y < z 353s registers an offense for x >= y <= z 353s registers an offense for x <= y > z 353s accepts to use `&` operator 353s registers an offense for x < y <= z 353s registers an offense for x > y <= z 353s accepts to use one compare operator 353s registers an offense for x <= y >= z 353s registers an offense for x <= y <= z 353s registers an offense for x >= y < z 353s registers an offense for x >= y > z 353s registers an offense for x > y > z 353s registers an offense for x > y < z 353s registers an offense for x >= y >= z 353s registers an offense for x > y >= z 353s accepts to use `^` operator 353s 353s RuboCop::Cop::Style::SingleLineMethods 353s autocorrects defs with parentheses after method name 353s autocorrects def with argument and no parentheses 353s registers an offense for a single-line method 353s registers an offense for a single-line method and method body is enclosed in parentheses 353s autocorrects def with semicolon after method name 353s autocorrects def with semicolon before end 353s does not crash on an method with a capitalized name 353s accepts a multi-line method 353s autocorrects def with argument in parentheses 353s when `Style/EndlessMethod` is disabled 353s corrects to an normal method 353s when `Style/EndlessMethod` is enabled 353s with `allow_single_line` style 353s behaves like convert to endless method 353s corrects to an endless method definition when method body is a literal 353s does not to an endless class method definition when using `next` 353s corrects to an endless class method definition when using > 353s does not to an endless class method definition when using `break` 353s corrects to an endless method definition 353s corrects to multiline method definition when defining setter method 353s corrects to an endless class method definition when using != 353s corrects to an endless class method definition when using < 353s corrects to an endless class method definition when using === 353s corrects to an endless class method definition when using <= 353s corrects to an endless class method definition when using >= 353s corrects to an endless class method definition 353s retains comments 353s does not add parens if they are already present 353s does not to an endless class method definition when using `return` 353s corrects to an endless class method definition when using == 353s corrects to an endless method definition when single line method call with parentheses 353s corrects to a normal method if the method body contains multiple statements 353s corrects to an endless method definition when single line method call without parentheses 353s handles arguments properly 353s with AllowIfMethodIsEmpty: true 353s does not correct 353s with AllowIfMethodIsEmpty: false 353s does not turn a method with no body into an endless method 353s prior to ruby 3.0 353s corrects to a multiline method 353s with `disallow` style 353s corrects to an normal method 353s with `allow_always` style 353s behaves like convert to endless method 353s corrects to an endless method definition 353s corrects to an endless class method definition when using != 353s corrects to an endless class method definition when using > 353s corrects to an endless class method definition when using == 353s corrects to an endless method definition when single line method call without parentheses 353s does not to an endless class method definition when using `break` 353s corrects to an endless class method definition when using === 353s does not to an endless class method definition when using `next` 353s does not add parens if they are already present 353s corrects to multiline method definition when defining setter method 353s corrects to an endless method definition when method body is a literal 353s corrects to a normal method if the method body contains multiple statements 353s retains comments 353s handles arguments properly 353s corrects to an endless class method definition 353s corrects to an endless class method definition when using <= 353s corrects to an endless class method definition when using >= 353s corrects to an endless method definition when single line method call with parentheses 353s corrects to an endless class method definition when using < 353s does not to an endless class method definition when using `return` 353s with AllowIfMethodIsEmpty: true 353s does not correct 353s with AllowIfMethodIsEmpty: false 353s does not turn a method with no body into an endless method 353s when AllowIfMethodIsEmpty is disabled 353s registers an offense for an empty method 353s endless methods 353s does not register an offense 353s when AllowIfMethodIsEmpty is enabled 353s accepts a single-line empty method 353s 353s RuboCop::Cop::InternalAffairs::UselessRestrictOnSend 353s registers an offense when using `RESTRICT_ON_SEND` and not defines send callback method 353s does not register an offense when using `RESTRICT_ON_SEND` and defines `after_send` with alias 353s does not register an offense when using `RESTRICT_ON_SEND` and defines `on_send` 353s does not register an offense when using `RESTRICT_ON_SEND` and defines `on_send` with alias_method 353s does not register an offense when using `RESTRICT_ON_SEND` and defines `after_send` with alias_method 353s does not register an offense when using `RESTRICT_ON_SEND` and defines `after_send` 353s does not register an offense when using `RESTRICT_ON_SEND` and defines `on_send` with alias 353s 353s RuboCop::Cop::Layout::SpaceInsideStringInterpolation 353s when EnforcedStyle is no_space 353s does not touch spaces inside the interpolated expression 353s accepts empty interpolation 353s for well-formatted string interpolations 353s accepts excess literal spacing 353s for ill-formatted string interpolations 353s finds interpolations in string-like contexts 353s registers offenses and autocorrects 353s when interpolation starts or ends with a line break 353s does not register an offense 353s ignores comments and whitespace when looking for line breaks 353s for "space" style formatted string interpolations 353s registers offenses and autocorrects 353s when EnforcedStyle is space 353s accepts empty interpolation 353s for well-formatted string interpolations 353s does not register an offense for excess literal spacing 353s for ill-formatted string interpolations 353s registers offenses and autocorrects 353s for "no_space" style formatted string interpolations 353s registers offenses and autocorrects 353s 353s RuboCop::Cop::Lint::OutOfRangeRegexpRef 353s ignores `match` with no arguments 353s registers an offense when out of range references are used for non captures 353s registers an offense when the regexp appears on the right hand side of `=~` 353s registers an offense when out of range references are used for numbered captures 353s ignores `match` with no receiver 353s only registers an offense for when clauses when the regexp is matched as a literal 353s registers an offense when out of range references are used inside a when clause 353s does not register offense to a regexp with valid references for named captures 353s uses the maximum number of captures for when clauses with multiple conditions 353s does not register an offense regexp containing non literal 353s only registers an offense when the regexp is matched as a literal 353s ignores calls to `match?` 353s registers an offense when the regexp is matched with `match` 353s does not register offense to a regexp with valid references for numbered captures 353s registers an offense when the regexp is matched with `===` 353s does not register offense to a regexp with valid references for a mix named and numbered captures 353s ignores regexp when clause conditions that contain interpolations 353s registers an offense when out of range references are used for mix of numbered and named captures 353s registers an offense when out of range references are used for named captures 353s registers an offense when references are used before any regexp 353s does not register offense to a regexp with encoding option and valid references for numbered captures 353s does not register an offense when in range references are used inside a when clause 353s matching with gsub! 353s registers an offense when out of range references are used 353s does not register an offense when in range references are used 353s only registers an offense when the regexp is matched as a literal 353s matching with partition 353s only registers an offense when the regexp is matched as a literal 353s does not register an offense when in range references are used 353s registers an offense when out of range references are used 353s when both the LHS and RHS use regexp 353s only considers the RHS regexp 353s matching with rindex 353s only registers an offense when the regexp is matched as a literal 353s does not register an offense when in range references are used 353s registers an offense when out of range references are used 353s matching with index 353s does not register an offense when in range references are used 353s only registers an offense when the regexp is matched as a literal 353s registers an offense when out of range references are used 353s matching with gsub 353s registers an offense when out of range references are used 353s does not register an offense when in range references are used 353s only registers an offense when the regexp is matched as a literal 353s matching with sub 353s does not register an offense when in range references are used 353s registers an offense when out of range references are used 353s only registers an offense when the regexp is matched as a literal 353s matching with start_with? 353s does not register an offense when in range references are used 353s only registers an offense when the regexp is matched as a literal 353s registers an offense when out of range references are used 353s matching with rpartition 353s only registers an offense when the regexp is matched as a literal 353s does not register an offense when in range references are used 353s registers an offense when out of range references are used 353s matching with match 353s does not register an offense when in range references are used 353s registers an offense when out of range references are used 353s only registers an offense when the regexp is matched as a literal 353s when calling a regexp method on a nth-ref node 353s does not register an offense when calling gsub on a valid nth-ref 353s registers an offense if the capturing groups have changed 353s registers an offense when calling gsub on an invalid nth-ref 353s matching with end_with? 353s does not register an offense when in range references are used 353s registers an offense when out of range references are used 353s only registers an offense when the regexp is matched as a literal 353s matching with scan 353s registers an offense when out of range references are used 353s does not register an offense when in range references are used 353s only registers an offense when the regexp is matched as a literal 353s matching with slice 353s does not register an offense when in range references are used 353s only registers an offense when the regexp is matched as a literal 353s registers an offense when out of range references are used 353s matching with sub! 353s does not register an offense when in range references are used 353s registers an offense when out of range references are used 353s only registers an offense when the regexp is matched as a literal 353s matching with `grep` 353s registers an offense when out of range references are used 354s only registers an offense when the regexp is matched as a literal 354s does not register an offense when in range references are used 354s matching with `[]` 354s registers an offense when out of range references are used 354s only registers an offense when the regexp is matched as a literal 354s does not register an offense when in range references are used 354s matching with slice! 354s only registers an offense when the regexp is matched as a literal 354s registers an offense when out of range references are used 354s does not register an offense when in range references are used 354s 354s RuboCop::Cop::Lint::AmbiguousBlockAssociation 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s without parentheses 354s rspec expect {}.to change {} 354s registers an offense 354s as a hash key 354s registers an offense 354s with receiver 354s registers an offense 354s when using safe navigation operator 354s registers an offense 354s with assignment 354s registers an offense 354s without receiver 354s registers an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s when AllowedMethods is enabled 354s does not register an offense for an allowed method 354s registers an offense for other methods 354s when AllowedPatterns is enabled 354s does not register an offense for an allowed method 354s registers an offense for other methods 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s behaves like accepts 354s does not register an offense 354s 354s RuboCop::Cop::Layout::FirstParameterIndentation 354s consistent style 354s invalid indentation on multi-line defs 354s hash arguments 354s registers an offense and corrects incorrectly indented first element 354s hash arguments static method def 354s registers an offense and corrects incorrectly indented first element 354s normal arguments 354s registers an offense and corrects incorrectly indented first element 354s no paren method defs 354s ignores 354s ignores with hash args 354s single line method defs 354s ignores 354s ignores with hash args 354s valid indentation on static multi-line defs 354s accepts correctly indented first element hash 354s accepts correctly indented first element 354s valid indentation on multi-line defs 354s accepts correctly indented first element 354s accepts correctly indented first element hash 354s align_parentheses style 354s valid indentation on multi-line defs 354s accepts correctly indented first element 354s accepts correctly indented first element hash 354s single line method defs 354s ignores 354s ignores with hash args 354s invalid indentation on multi-line defs 354s hash arguments 354s registers an offense and corrects incorrectly indented first element 354s normal arguments 354s registers an offense and corrects incorrectly indented first element 354s hash arguments static def 354s registers an offense and corrects incorrectly indented first element 354s no paren method defs 354s ignores 354s ignores with hash args 354s 354s RuboCop::Cop::Layout::EmptyLinesAroundExceptionHandlingKeywords 354s with complex method definition - registers many offenses 354s registers an offense for rescue section ending for method definition a blank 354s accepts `begin` and `rescue` are on the same line 354s accepts empty begin 354s accepts `rescue` and `end` are on the same line 354s accepts empty lines around begin body 354s accepts `def` and `rescue` are on the same line 354s accepts no empty line 354s accepts last `rescue` and `end` are on the same line 354s registers an offense for above rescue keyword with a blank 354s accepts empty method definition 354s registers an offense for rescue section ending with a blank 354s registers an offense for rescue section starting with a blank 354s with complex begin-end - registers many offenses 354s 354s RuboCop::Cop::Style::MutableConstant 354s Strict: true 354s freezes a heredoc 354s allows calls to freeze 354s behaves like immutable objects 354s allows ::ENV['foo'] to be ||= to a constant 354s allows ::ENV['foo'] to be assigned to a constant 354s behaves like immutable objects 354s allows ::Namespace::OTHER_CONST to be assigned to a constant 354s allows ::Namespace::OTHER_CONST to be ||= to a constant 354s behaves like immutable objects 354s allows :sym to be assigned to a constant 354s allows :sym to be ||= to a constant 354s behaves like immutable objects 354s allows 1.5 to be assigned to a constant 354s allows 1.5 to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows ENV['foo'] to be assigned to a constant 354s allows ENV['foo'] to be ||= to a constant 354s when assigning with an operator 354s behaves like operator methods 354s registers an offense and corrects with parens and freeze 354s behaves like operator methods 354s registers an offense and corrects with parens and freeze 354s behaves like operator methods 354s registers an offense and corrects with parens and freeze 354s behaves like operator methods 354s registers an offense and corrects with parens and freeze 354s behaves like operator methods 354s registers an offense and corrects with parens and freeze 354s behaves like operator methods 354s registers an offense and corrects with parens and freeze 354s operators that produce unfrozen objects 354s registers an offense when operating on multiple strings 354s registers an offense when operating on a constant and a string 354s behaves like immutable objects 354s allows Struct.new(:node) do 354s def assignment? 354s true 354s end 354s end 354s to be ||= to a constant 354s allows Struct.new(:node) do 354s def assignment? 354s true 354s end 354s end 354s to be assigned to a constant 354s behaves like immutable objects 354s allows ::Struct.new to be assigned to a constant 354s allows ::Struct.new to be ||= to a constant 354s splat expansion 354s expansion of a range 354s registers an offense and corrects to use to_a.freeze 354s with parentheses 354s registers an offense and corrects to use to_a.freeze 354s behaves like immutable objects 354s allows Namespace::OTHER_CONST to be ||= to a constant 354s allows Namespace::OTHER_CONST to be assigned to a constant 354s behaves like immutable objects 354s allows Struct.new(:a, :b) to be assigned to a constant 354s allows Struct.new(:a, :b) to be ||= to a constant 354s when assigning an array without brackets 354s adds brackets when autocorrecting 354s does not insert brackets for %w() arrays 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for Something.new assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for Something.new assigned to a constant and corrects by adding .freeze 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows OTHER_CONST to be assigned to a constant 354s allows OTHER_CONST to be ||= to a constant 354s behaves like immutable objects 354s allows ::OTHER_CONST to be assigned to a constant 354s allows ::OTHER_CONST to be ||= to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s when assigning with multiple operator calls 354s registers an offense and corrects with parens and freeze 354s behaves like immutable objects 354s allows 1 to be assigned to a constant 354s allows 1 to be ||= to a constant 354s behaves like immutable objects 354s allows Struct.new to be assigned to a constant 354s allows Struct.new to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s methods and operators that produce frozen objects 354s accepts comparison operators 354s accepts operating on multiple integers 354s accepts checking fixed size 354s accepts operating on multiple floats 354s accepts operating on a constant and an interger 354s accepts operating on a constant and a float 354s accepts assigning to an environment variable with a fallback 354s behaves like string literal 354s Ruby 3.0 or higher 354s when the frozen string literal comment is true 354s registers an offense when using interpolated heredoc constant 354s does not register an offense when using a multiline string 354s registers an offense when using a multiline string with interpolation 354s behaves like immutable objects 354s allows <<~HERE 354s foo 354s bar 354s HERE 354s to be assigned to a constant 354s allows <<~HERE 354s foo 354s bar 354s HERE 354s to be ||= to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when the frozen string literal comment is false 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when the frozen string literal comment is missing 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s Ruby 2.7 or lower 354s when the frozen string literal comment is true 354s does not register an offense when using a multiline string 354s does not register an offense when using interpolated heredoc constant 354s behaves like immutable objects 354s allows <<~HERE 354s foo 354s bar 354s HERE 354s to be assigned to a constant 354s allows <<~HERE 354s foo 354s bar 354s HERE 354s to be ||= to a constant 354s behaves like immutable objects 354s allows "#{a}" to be ||= to a constant 354s allows "#{a}" to be assigned to a constant 354s when the frozen string literal comment is missing 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when the frozen string literal comment is false 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s Strict: false 354s allows method call assignments 354s behaves like immutable objects 354s allows 1.5 to be assigned to a constant 354s allows 1.5 to be ||= to a constant 354s behaves like immutable objects 354s allows 'foo' + 'bar' to be assigned to a constant 354s allows 'foo' + 'bar' to be ||= to a constant 354s behaves like immutable objects 354s allows FOO + BAR to be assigned to a constant 354s allows FOO + BAR to be ||= to a constant 354s when assigning an array without brackets 354s does not insert brackets for %w() arrays 354s adds brackets when autocorrecting 354s behaves like immutable objects 354s allows 1 to be ||= to a constant 354s allows 1 to be assigned to a constant 354s behaves like immutable objects 354s allows ENV['foo'] to be ||= to a constant 354s allows ENV['foo'] to be assigned to a constant 354s Ruby 3.0 or higher 354s raises offense when shareable_constant_value is specified as an inline comment 354s raises offense only for shareable_constant_value as none when set in the order of: literal, none and experimental_everything 354s when assigning a range (irange) 354s does not register an offense when with parenthesis 354s does not register an offense when without parenthesis 354s when assigning a range (erange) 354s does not register an offense when with parenthesis 354s does not register an offense when without parenthesis 354s when using shareable_constant_value 354s behaves like literals that are frozen 354s behaves like immutable objects 354s allows FOO - BAR to be assigned to a constant 354s allows FOO - BAR to be ||= to a constant 354s behaves like immutable objects 354s allows 'str' to be ||= to a constant 354s allows 'str' to be assigned to a constant 354s behaves like immutable objects 354s allows ::ENV['foo'] to be ||= to a constant 354s allows ::ENV['foo'] to be assigned to a constant 354s behaves like immutable objects 354s allows FOO + BAR to be assigned to a constant 354s allows FOO + BAR to be ||= to a constant 354s behaves like immutable objects 354s allows 1 to be assigned to a constant 354s allows 1 to be ||= to a constant 354s behaves like immutable objects 354s allows ENV['foo'] to be assigned to a constant 354s allows ENV['foo'] to be ||= to a constant 354s behaves like immutable objects 354s allows %w(a b c) to be assigned to a constant 354s allows %w(a b c) to be ||= to a constant 354s behaves like immutable objects 354s allows 1.5 to be assigned to a constant 354s allows 1.5 to be ||= to a constant 354s behaves like immutable objects 354s allows { a: 1, b: 2 } to be assigned to a constant 354s allows { a: 1, b: 2 } to be ||= to a constant 354s behaves like immutable objects 354s allows 'foo' + 'bar' to be ||= to a constant 354s allows 'foo' + 'bar' to be assigned to a constant 354s behaves like immutable objects 354s allows "top#{1 + 2}" to be assigned to a constant 354s allows "top#{1 + 2}" to be ||= to a constant 354s behaves like immutable objects 354s allows [1, 2, 3] to be ||= to a constant 354s allows [1, 2, 3] to be assigned to a constant 354s behaves like immutable objects 354s allows :sym to be assigned to a constant 354s allows :sym to be ||= to a constant 354s behaves like literals that are frozen 354s behaves like immutable objects 354s allows 1.5 to be assigned to a constant 354s allows 1.5 to be ||= to a constant 354s behaves like immutable objects 354s allows FOO - BAR to be ||= to a constant 354s allows FOO - BAR to be assigned to a constant 354s behaves like immutable objects 354s allows ::ENV['foo'] to be ||= to a constant 354s allows ::ENV['foo'] to be assigned to a constant 354s behaves like immutable objects 354s allows "top#{1 + 2}" to be assigned to a constant 354s allows "top#{1 + 2}" to be ||= to a constant 354s behaves like immutable objects 354s allows %w(a b c) to be assigned to a constant 354s allows %w(a b c) to be ||= to a constant 354s behaves like immutable objects 354s allows ENV['foo'] to be ||= to a constant 354s allows ENV['foo'] to be assigned to a constant 354s behaves like immutable objects 354s allows [1, 2, 3] to be ||= to a constant 354s allows [1, 2, 3] to be assigned to a constant 354s behaves like immutable objects 354s allows { a: 1, b: 2 } to be assigned to a constant 354s allows { a: 1, b: 2 } to be ||= to a constant 354s behaves like immutable objects 354s allows 'str' to be assigned to a constant 354s allows 'str' to be ||= to a constant 354s behaves like immutable objects 354s allows 'foo' + 'bar' to be assigned to a constant 354s allows 'foo' + 'bar' to be ||= to a constant 354s behaves like immutable objects 354s allows FOO + BAR to be assigned to a constant 354s allows FOO + BAR to be ||= to a constant 354s behaves like immutable objects 354s allows 1 to be ||= to a constant 354s allows 1 to be assigned to a constant 354s behaves like immutable objects 354s allows :sym to be ||= to a constant 354s allows :sym to be assigned to a constant 354s behaves like literals that are frozen 354s behaves like immutable objects 354s allows :sym to be assigned to a constant 354s allows :sym to be ||= to a constant 354s behaves like immutable objects 354s allows 'foo' + 'bar' to be ||= to a constant 354s allows 'foo' + 'bar' to be assigned to a constant 354s behaves like immutable objects 354s allows FOO - BAR to be assigned to a constant 354s allows FOO - BAR to be ||= to a constant 354s behaves like immutable objects 354s allows %w(a b c) to be assigned to a constant 354s allows %w(a b c) to be ||= to a constant 354s behaves like immutable objects 354s allows 1 to be ||= to a constant 354s allows 1 to be assigned to a constant 354s behaves like immutable objects 354s allows { a: 1, b: 2 } to be assigned to a constant 354s allows { a: 1, b: 2 } to be ||= to a constant 354s behaves like immutable objects 354s allows [1, 2, 3] to be ||= to a constant 354s allows [1, 2, 3] to be assigned to a constant 354s behaves like immutable objects 354s allows 'str' to be assigned to a constant 354s allows 'str' to be ||= to a constant 354s behaves like immutable objects 354s allows 1.5 to be assigned to a constant 354s allows 1.5 to be ||= to a constant 354s behaves like immutable objects 354s allows FOO + BAR to be assigned to a constant 354s allows FOO + BAR to be ||= to a constant 354s behaves like immutable objects 354s allows ENV['foo'] to be ||= to a constant 354s allows ENV['foo'] to be assigned to a constant 354s behaves like immutable objects 354s allows ::ENV['foo'] to be assigned to a constant 354s allows ::ENV['foo'] to be ||= to a constant 354s behaves like immutable objects 354s allows "top#{1 + 2}" to be ||= to a constant 354s allows "top#{1 + 2}" to be assigned to a constant 354s behaves like literals that are not frozen 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows ENV['foo'] to be ||= to a constant 354s allows ENV['foo'] to be assigned to a constant 354s behaves like immutable objects 354s allows :sym to be ||= to a constant 354s allows :sym to be assigned to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows FOO + BAR to be ||= to a constant 354s allows FOO + BAR to be assigned to a constant 354s behaves like immutable objects 354s allows 1.5 to be assigned to a constant 354s allows 1.5 to be ||= to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows 'foo' + 'bar' to be ||= to a constant 354s allows 'foo' + 'bar' to be assigned to a constant 354s behaves like immutable objects 354s allows ::ENV['foo'] to be assigned to a constant 354s allows ::ENV['foo'] to be ||= to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows FOO - BAR to be ||= to a constant 354s allows FOO - BAR to be assigned to a constant 354s behaves like immutable objects 354s allows 1 to be assigned to a constant 354s allows 1 to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s when assigning a regexp 354s does not register an offense 354s splat expansion 354s expansion of a range 354s registers an offense and corrects to use to_a.freeze 354s with parentheses 354s registers an offense and corrects to use to_a.freeze 354s behaves like immutable objects 354s allows ::ENV['foo'] to be ||= to a constant 354s allows ::ENV['foo'] to be assigned to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s behaves like string literal 354s Ruby 3.0 or higher 354s when the frozen string literal comment is missing 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when the frozen string literal comment is true 354s registers an offense when using interpolated heredoc constant 354s does not register an offense when using a multiline string 354s registers an offense when using a multiline string with interpolation 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows <<~HERE 354s foo 354s bar 354s HERE 354s to be assigned to a constant 354s allows <<~HERE 354s foo 354s bar 354s HERE 354s to be ||= to a constant 354s when the frozen string literal comment is false 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s Ruby 2.7 or lower 354s when the frozen string literal comment is true 354s does not register an offense when using a multiline string 354s does not register an offense when using interpolated heredoc constant 354s behaves like immutable objects 354s allows "#{a}" to be ||= to a constant 354s allows "#{a}" to be assigned to a constant 354s behaves like immutable objects 354s allows <<~HERE 354s foo 354s bar 354s HERE 354s to be assigned to a constant 354s allows <<~HERE 354s foo 354s bar 354s HERE 354s to be ||= to a constant 354s when the frozen string literal comment is false 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when the frozen string literal comment is missing 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows FOO - BAR to be assigned to a constant 354s allows FOO - BAR to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s Ruby 2.7 or lower 354s when assigning a range (erange) without parenthesis 354s does not insert parenthesis to range enclosed in parentheses 354s adds parentheses when autocorrecting 354s when using shareable_constant_values 354s behaves like literals that are not frozen 354s behaves like immutable objects 354s allows ENV['foo'] to be ||= to a constant 354s allows ENV['foo'] to be assigned to a constant 354s behaves like immutable objects 354s allows 1.5 to be assigned to a constant 354s allows 1.5 to be ||= to a constant 354s behaves like immutable objects 354s allows ::ENV['foo'] to be ||= to a constant 354s allows ::ENV['foo'] to be assigned to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows 1 to be assigned to a constant 354s allows 1 to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows 'foo' + 'bar' to be assigned to a constant 354s allows 'foo' + 'bar' to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows FOO - BAR to be assigned to a constant 354s allows FOO - BAR to be ||= to a constant 354s behaves like immutable objects 354s allows FOO + BAR to be assigned to a constant 354s allows FOO + BAR to be ||= to a constant 354s behaves like immutable objects 354s allows :sym to be assigned to a constant 354s allows :sym to be ||= to a constant 354s behaves like literals that are not frozen 354s behaves like immutable objects 354s allows FOO - BAR to be assigned to a constant 354s allows FOO - BAR to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows 1 to be ||= to a constant 354s allows 1 to be assigned to a constant 354s behaves like immutable objects 354s allows ENV['foo'] to be assigned to a constant 354s allows ENV['foo'] to be ||= to a constant 354s behaves like immutable objects 354s allows :sym to be ||= to a constant 354s allows :sym to be assigned to a constant 354s behaves like immutable objects 354s allows FOO + BAR to be assigned to a constant 354s allows FOO + BAR to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows 1.5 to be assigned to a constant 354s allows 1.5 to be ||= to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows ::ENV['foo'] to be assigned to a constant 354s allows ::ENV['foo'] to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows 'foo' + 'bar' to be assigned to a constant 354s allows 'foo' + 'bar' to be ||= to a constant 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 354s behaves like literals that are not frozen 354s behaves like mutable objects 354s when assigning with = 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s when assigning with ||= 354s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows 1 to be ||= to a constant 354s allows 1 to be assigned to a constant 354s behaves like immutable objects 354s allows :sym to be ||= to a constant 354s allows :sym to be assigned to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows FOO + BAR to be ||= to a constant 354s allows FOO + BAR to be assigned to a constant 354s behaves like immutable objects 354s allows 1.5 to be ||= to a constant 354s allows 1.5 to be assigned to a constant 354s behaves like immutable objects 354s allows FOO - BAR to be ||= to a constant 354s allows FOO - BAR to be assigned to a constant 354s behaves like immutable objects 354s allows ENV['foo'] to be ||= to a constant 354s allows ENV['foo'] to be assigned to a constant 354s behaves like mutable objects 354s when assigning with ||= 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s when assigning with = 354s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 354s behaves like immutable objects 354s allows 'foo' + 'bar' to be ||= to a constant 354s allows 'foo' + 'bar' to be assigned to a constant 354s behaves like immutable objects 354s allows ::ENV['foo'] to be assigned to a constant 354s allows ::ENV['foo'] to be ||= to a constant 354s behaves like mutable objects 354s when assigning with ||= 355s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 355s when assigning with = 355s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 355s behaves like literals that are not frozen 355s behaves like immutable objects 355s allows 'foo' + 'bar' to be ||= to a constant 355s allows 'foo' + 'bar' to be assigned to a constant 355s behaves like immutable objects 355s allows FOO + BAR to be ||= to a constant 355s allows FOO + BAR to be assigned to a constant 355s behaves like immutable objects 355s allows 1.5 to be assigned to a constant 355s allows 1.5 to be ||= to a constant 355s behaves like immutable objects 355s allows ENV['foo'] to be assigned to a constant 355s allows ENV['foo'] to be ||= to a constant 355s behaves like mutable objects 355s when assigning with = 355s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 355s when assigning with ||= 355s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 355s behaves like immutable objects 355s allows :sym to be ||= to a constant 355s allows :sym to be assigned to a constant 355s behaves like mutable objects 355s when assigning with ||= 355s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 355s when assigning with = 355s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 355s behaves like mutable objects 355s when assigning with ||= 355s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 355s when assigning with = 355s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 355s behaves like mutable objects 355s when assigning with ||= 355s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 355s when assigning with = 355s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 355s behaves like immutable objects 355s allows FOO - BAR to be assigned to a constant 355s allows FOO - BAR to be ||= to a constant 355s behaves like immutable objects 355s allows ::ENV['foo'] to be ||= to a constant 355s allows ::ENV['foo'] to be assigned to a constant 355s behaves like mutable objects 355s when assigning with = 355s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 355s when assigning with ||= 355s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 355s behaves like immutable objects 355s allows 1 to be ||= to a constant 355s allows 1 to be assigned to a constant 355s when assigning a regexp 355s registers an offense 355s when assigning a range (irange) without parenthesis 355s adds parentheses when autocorrecting 355s does not insert parenthesis to range enclosed in parentheses 355s behaves like immutable objects 355s allows :sym to be ||= to a constant 355s allows :sym to be assigned to a constant 355s behaves like mutable objects 355s when assigning with ||= 355s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 355s when assigning with = 355s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 355s behaves like mutable objects 355s when assigning with = 355s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 355s when assigning with ||= 355s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 355s 355s RuboCop::ConfigObsoletion::RenamedCop 355s #message 355s when the cop has changed names but in a new department 355s is expected to start with "The `Style/MyCop` cop has been renamed to `Layout/NewCop`" 355s when the cop has been moved to a new department 355s is expected to start with "The `Style/MyCop` cop has been moved to `Layout/MyCop`" 355s when the cop has changed names but in the same department 355s is expected to start with "The `Style/MyCop` cop has been renamed to `Style/NewCop`" 355s 355s RuboCop::Cop::Naming::FileName 355s with snake_case file names with multiple extensions 355s does not register an offense 355s when ExpectMatchingDefinition is true 355s on a file which defines a Struct without a block 355s in a directory elsewhere which does not match the module name 355s registers an offense 355s in a matching directory under src 355s does not register an offense 355s in a directory with multiple instances of test 355s does not register an offense 355s in a directory with multiple instances of spec 355s does not register an offense 355s in a non-matching directory under src 355s registers an offense 355s in a matching directory under lib 355s does not register an offense 355s in a non-matching directory under lib 355s registers an offense 355s in a directory elsewhere which only matches the module name 355s does not register an offense 355s in a non-matching directory under test 355s registers an offense 355s in a matching directory under spec 355s does not register an offense 355s in a matching directory under test 355s does not register an offense 355s in a directory with multiple instances of lib 355s does not register an offense 355s in a directory with multiple instances of src 355s does not register an offense 355s in a non-matching directory under spec 355s registers an offense 355s on a file which defines a nested class 355s in a directory elsewhere which does not match the module name 355s registers an offense 355s in a non-matching directory under test 355s registers an offense 355s in a directory elsewhere which only matches the module name 355s does not register an offense 355s in a directory with multiple instances of lib 355s does not register an offense 355s in a non-matching directory under src 355s registers an offense 355s in a matching directory under src 355s does not register an offense 355s in a directory with multiple instances of src 355s does not register an offense 355s in a matching directory under spec 355s does not register an offense 355s in a matching directory under test 355s does not register an offense 355s in a directory with multiple instances of test 355s does not register an offense 355s in a non-matching directory under lib 355s registers an offense 355s in a directory with multiple instances of spec 355s does not register an offense 355s in a matching directory under lib 355s does not register an offense 355s in a non-matching directory under spec 355s registers an offense 355s on a file which defines a nested module 355s in a matching directory under lib 355s does not register an offense 355s in a matching directory under spec 355s does not register an offense 355s in a matching directory under test 355s does not register an offense 355s in a directory with multiple instances of lib 355s does not register an offense 355s in a directory with multiple instances of src 355s does not register an offense 355s in a non-matching directory under lib 355s registers an offense 355s in a non-matching directory under spec 355s registers an offense 355s in a directory with multiple instances of test 355s does not register an offense 355s in a non-matching directory under src 355s registers an offense 355s in a non-matching directory under test 355s registers an offense 355s in a directory elsewhere which only matches the module name 355s does not register an offense 355s in a matching directory under src 355s does not register an offense 355s in a directory elsewhere which does not match the module name 355s registers an offense 355s in a directory with multiple instances of spec 355s does not register an offense 355s on a file which defines multiple classes 355s in a directory with multiple instances of test 355s does not register an offense 355s in a non-matching directory under spec 355s registers an offense 355s in a matching directory under spec 355s does not register an offense 355s in a matching directory under src 355s does not register an offense 355s in a directory with multiple instances of spec 355s does not register an offense 355s in a directory with multiple instances of lib 355s does not register an offense 355s in a matching directory under test 355s does not register an offense 355s in a directory elsewhere which does not match the module name 355s registers an offense 355s in a directory elsewhere which only matches the module name 355s does not register an offense 355s in a directory with multiple instances of src 355s does not register an offense 355s in a non-matching directory under test 355s registers an offense 355s in a matching directory under lib 355s does not register an offense 355s in a non-matching directory under src 355s registers an offense 355s in a non-matching directory under lib 355s registers an offense 355s on a file which uses Name::Spaced::Module syntax 355s in a non-matching directory under spec 355s registers an offense 355s in a directory elsewhere which does not match the module name 355s registers an offense 355s in a directory with multiple instances of test 355s does not register an offense 355s in a directory elsewhere which only matches the module name 355s does not register an offense 355s in a matching directory under test 355s does not register an offense 355s in a matching directory under spec 355s does not register an offense 355s in a directory with multiple instances of src 355s does not register an offense 355s in a directory with multiple instances of spec 355s does not register an offense 355s in a non-matching directory under test 355s registers an offense 355s in a non-matching directory under src 355s registers an offense 355s in a directory with multiple instances of lib 355s does not register an offense 355s in a matching directory under lib 355s does not register an offense 355s in a non-matching directory under lib 355s registers an offense 355s in a matching directory under src 355s does not register an offense 355s on a file which defines no class or module at all 355s under test 355s registers an offense 355s under some other random directory 355s registers an offense 355s under lib when not added to root 355s registers an offense 355s under lib 355s registers an offense 355s under spec 355s registers an offense 355s under src 355s registers an offense 355s on a file which defines a Struct with a block 355s in a matching directory under test 355s does not register an offense 355s in a matching directory under spec 355s does not register an offense 355s in a directory with multiple instances of lib 355s does not register an offense 355s in a directory with multiple instances of src 355s does not register an offense 355s in a non-matching directory under test 355s registers an offense 355s in a directory with multiple instances of test 355s does not register an offense 355s in a matching directory under lib 355s does not register an offense 355s in a non-matching directory under src 355s registers an offense 355s in a directory elsewhere which only matches the module name 355s does not register an offense 355s in a non-matching directory under lib 355s registers an offense 355s in a matching directory under src 355s does not register an offense 355s in a directory elsewhere which does not match the module name 355s registers an offense 355s in a non-matching directory under spec 355s registers an offense 355s in a directory with multiple instances of spec 355s does not register an offense 355s on an empty file 355s registers an offense 355s on an empty file with a space in its filename 355s registers an offense 355s with camelCase file names without file extension 355s registers an offense 355s with snake_case names which use + 355s does not register an offense 355s with dotfiles 355s does not register an offense 355s with non-ascii characters in filename 355s does not register an offense 355s with acronym class name 355s does not register an offense 355s with snake_case file names ending in .rb 355s does not register an offense 355s with snake_case file names with non-rb extension 355s does not register an offense 355s with acronym namespace 355s does not register an offense 355s with non-snake-case file names with a shebang 355s does not register an offense 355s when IgnoreExecutableScripts is disabled 355s registers an offense 355s with include acronym name 355s does not register an offense 355s with snake_case file names without file extension 355s does not register an offense 355s with snake_case names which use ? and ! 355s does not register an offense 355s when CheckDefinitionPathHierarchy is false 355s on an empty file 355s registers an offense 355s with a non-matching module containing a matching class 355s does not register an offense 355s in a non-matching directory, but with a matching class 355s does not register an offense 355s on a file with a matching struct 355s does not register an offense 355s on a file with a matching class 355s does not register an offense 355s with a matching module containing a non-matching struct 355s does not register an offense 355s with a non-matching module containing a matching struct 355s does not register an offense 355s with a matching module containing a non-matching class 355s does not register an offense 355s on a file with a non-matching class 355s registers an offense 355s on a file with a non-matching struct 355s registers an offense 355s with camelCase file names ending in .rb 355s registers an offense 355s when the file is specified in AllCops/Include 355s with a non-snake_case file name 355s does not register an offense 355s when Regex is set 355s with a non-matching name 355s registers an offense 355s with a matching name 355s does not register an offense 355s 355s RuboCop::Cop::Style::CollectionCompact 355s registers an offense and corrects when using `reject` with block pass arg and no parentheses 355s registers an offense and corrects when using `reject` and receiver is a variable 355s does not register an offense when using `compact/compact!` 355s registers an offense and corrects when using `reject` on hash to reject nils 355s does not register an offense when using `reject` to not to rejecting nils 355s registers an offense and corrects when using `reject` with block pass arg on array to reject nils 355s registers an offense and corrects when using `select/select!` to reject nils 355s registers an offense and corrects when using `reject` on array to reject nils 355s when without receiver 355s does not register an offense and corrects when using `select/select!` to reject nils 355s does not register an offense and corrects when using `reject` on array to reject nils 355s Ruby >= 3.1 355s registers an offense and corrects when using `to_enum.reject` on array to reject nils 355s registers an offense and corrects when using `lazy.reject` on array to reject nils 355s Ruby <= 3.0 355s does not register an offense and corrects when using `lazy.reject` on array to reject nils 355s does not register an offense and corrects when using `to_enum.reject` on array to reject nils 355s 355s RuboCop::Cop::Lint::UnusedBlockArgument 355s inspection 355s when an optional keyword argument is unused 355s when the method call is not `define_method` 355s registers an offense 355s when AllowUnusedKeywordArguments set 355s does not care 355s when the method call is `define_method` 355s registers an offense 355s when AllowUnusedKeywordArguments set 355s does not care 355s when a block takes single argument 355s and the method call is `define_method` 355s registers an offense 355s and the argument is unused 355s registers an offense and suggests omitting that 355s when a block have a block local variable 355s and the variable is used 355s does not register offense 355s and the variable is unused 355s registers an offense 355s when a block takes multiple arguments 355s and an argument with default value is unused 355s registers an offense and preserves default value 355s and an argument is unused 355s registers an offense 355s and all arguments are used 355s accepts 355s and arguments are swap-assigned 355s accepts 355s and one argument is assigned to another, whilst other's value is not used 355s registers an offense 355s and a splat argument is unused 355s registers an offense and preserves splat 355s and all the arguments are unused 355s registers offenses and suggests omitting them 355s and unused arguments span multiple lines 355s registers offenses and suggests omitting them 355s with an empty block 355s when not configured to ignore empty blocks 355s registers an offense 355s when configured to ignore empty blocks 355s does not register an offense 355s in a method calling `binding` without arguments 355s accepts all arguments 355s inside a method definition 355s registers offenses 355s when a variable is not used 355s does not care 355s when a method argument is not used 355s does not care 355s when an underscore-prefixed block argument is not used 355s accepts 355s when a lambda block takes arguments 355s and all the arguments are unused 355s registers offenses and suggests using a proc 355s and an argument is unused 355s registers an offense 355s in a method calling `binding` with arguments 355s when a method argument is unused 355s registers an offense 355s when IgnoreEmptyBlocks config parameter is set 355s accepts an empty block with a single unused parameter 355s registers an offense for a non-empty block with an unused parameter 355s accepts an empty block with multiple unused parameters 355s registers an offense for a non-empty block with multiple unused args 355s 355s RuboCop::Cop::Naming::HeredocDelimiterCase 355s when enforced style is uppercase 355s with a non-interpolated heredoc 355s when using single quoted delimiters 355s registers an offense and corrects with a lowercase delimiter 355s registers an offense and corrects with a camel case delimiter 355s does not register an offense with an uppercase delimiter 355s when using double quoted delimiters 355s does not register an offense with an uppercase delimiter 355s registers an offense and corrects with a camel case delimiter 355s registers an offense and corrects with a lowercase delimiter 355s when using back tick delimiters 355s registers an offense and corrects with a camel case delimiter 355s registers an offense and corrects with a lowercase delimiter 355s does not register an offense with an uppercase delimiter 355s when using non-word delimiters 355s does not register an offense 355s with a squiggly heredoc 355s registers an offense and corrects with a camel case delimiter 355s registers an offense and corrects with a lowercase delimiter 355s does not register an offense with an uppercase delimiter 355s with an interpolated heredoc 355s registers an offense and corrects with a lowercase delimiter 355s registers an offense with a camel case delimiter 355s does not register an offense with an uppercase delimiter 355s when enforced style is lowercase 355s with a squiggly heredoc 355s registers an offense and corrects with a camel case delimiter 355s registers an offense and corrects with an uppercase delimiter 355s does not register an offense with a lowercase delimiter 355s with an interpolated heredoc 355s registers an offense and corrects with a camel case delimiter 355s does not register an offense with a lowercase delimiter 355s registers an offense and corrects with an uppercase delimiter 355s with a non-interpolated heredoc 355s registers an offense and corrects with an uppercase delimiter 355s registers an offense and corrects with a camel case delimiter 355s does not register an offense with a lowercase delimiter 355s 355s RuboCop::Cop::Style::SignalException 355s when enforced style is `raise` 355s registers an offense for fail in rescue section 355s accepts `fail` with explicit receiver 355s accepts `fail` if a custom `fail` instance method is defined 355s registers an offense for fail in begin section 355s registers an offense for fail in def body 355s accepts `fail` if a custom `fail` singleton method is defined 355s registers an offense for `fail` with `Kernel` as explicit receiver 355s when enforced style is `fail` 355s registers an offense for raise in rescue section 355s registers an offense for raise in begin section 355s registers an offense for raise in def body 355s registers an offense for `raise` with `Kernel` as explicit receiver 355s accepts `raise` with explicit receiver 355s when enforced style is `semantic` 355s registers an offense for fail in def rescue section 355s accepts raise in def with multiple rescues 355s registers an offense for raise not in a begin/rescue/end 355s is not confused by nested begin/rescue 355s registers an offense for `raise` and `fail` with `Kernel` as explicit receiver 355s registers an offense for raise in begin section 355s registers only offense for one raise that should be fail 355s registers an offense for raise in def body 355s registers an offense for fail in rescue section 355s accepts `raise` and `fail` with explicit receiver 355s accepts raise in rescue section 355s accepts raise in def rescue section 355s registers an offense for `raise` and `fail` with `::Kernel` as explicit receiver 355s registers an offense for fail in second rescue 355s registers one offense for each raise 355s 355s RuboCop::Cop::VariableForce 355s #process_node 355s when processing lvar node 355s when the variable is not yet declared 355s does not raise error 355s when processing an empty regex 355s does not raise an error 355s when processing a regex with regopt 355s does not raise an error 355s when processing a regexp with a line break at the start of capture parenthesis 355s does not raise an error 355s 355s RuboCop::Cop::Layout::EmptyLinesAroundBlockBody 355s when EnforcedStyle is empty_lines for do end block 355s ignores block with an empty body 355s is not fooled by single line blocks 355s registers an offense for block body not starting or ending with a blank 355s when EnforcedStyle is empty_lines for { } block 355s ignores block with an empty body 355s registers an offense for block body not starting or ending with a blank 355s is not fooled by single line blocks 355s when EnforcedStyle is no_empty_lines for do end block 355s registers an offense for block body starting with a blank 355s is not fooled by single line blocks 355s accepts block body starting with a line with spaces 355s registers an offense for block body starting with a blank passed to a multi-line method call 355s registers an offense for block body ending with a blank 355s Ruby 2.7 355s registers an offense for block body ending with a blank 355s when EnforcedStyle is no_empty_lines for { } block 355s accepts block body starting with a line with spaces 355s registers an offense for block body ending with a blank 355s registers an offense for block body starting with a blank 355s registers an offense for block body starting with a blank passed to a multi-line method call 355s is not fooled by single line blocks 355s Ruby 2.7 355s registers an offense for block body ending with a blank 355s 355s RuboCop::Cop::Style::Dir 355s when using `#dirname` and `#realpath` 355s registers an offense 355s registers an offense with ::File 355s when using `#expand_path` and `#dirname` 355s registers an offense with ::File 355s registers an offense 355s 355s RuboCop::Cop::InternalAffairs::UndefinedConfig 355s registers an offense when the cop inherits `RuboCop::Cop::Base` 355s ignores `cop_config` in non-cop subclasses 355s works when the base class is `Cop` instead of `Base` 355s registers an offense when the cop inherits `::RuboCop::Cop::Base` 355s does not register an offense if using `cop_config` outside of a cop class 355s registers an offense when the cop inherits `Cop::Base` 355s can handle an empty file 355s registers an offense when the cop has no configuration at all 355s does not register an offense for implicit configuration keys 355s works with deeper nested cop names 355s ignores `cop_config` in non-cop classes 355s registers an offense when the cop is not within the `RuboCop::Cop` namespace 355s element lookup 355s does not register an offense for defined configuration keys 355s registers an offense for missing configuration keys 355s fetch 355s registers an offense for missing configuration keys 355s does not register an offense for defined configuration keys 355s with a default value 355s registers an offense for missing configuration keys 355s does not register an offense for defined configuration keys 355s 355s RuboCop::Cop::Style::ColonMethodDefinition 355s accepts a class method defined using . 355s using self 355s registers an offense for a class method defined using :: 355s using the class name 355s registers an offense for a class method defined using :: 355s 355s RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective 355s registers an offense for disabling all cops 355s registers an offense for disabled cop within source code 355s registers an offense for enabled cop within source code 355s with AllowedCops 355s when an mix of cops are disabled 355s registers an offense and corrects 355s when using leading source comment 355s does not register an offense 355s when an allowed cop is disabled 355s does not register an offense 355s when an non-allowed cop is disabled 355s registers an offense and corrects 355s 355s RuboCop::Cop::Layout::SpaceBeforeSemicolon 355s registers an offense and corrects space before semicolon 355s does not register an offense for no space before semicolons 355s registers an offense and corrects more than one space before a semicolon 355s inside block braces 355s when EnforcedStyle for SpaceInsideBlockBraces is space 355s accepts a space between an opening brace and a semicolon 355s behaves like common behavior 355s accepts no space between an opening brace and a semicolon 355s when EnforcedStyle for SpaceInsideBlockBraces is no_space 355s registers an offense and corrects a space between an opening brace and a semicolon 355s behaves like common behavior 355s accepts no space between an opening brace and a semicolon 355s heredocs 355s registers an offense and corrects 355s 355s RuboCop::Cop::InternalAffairs::NumblockHandler 355s does not register an offense for cops with on_numblock alias 355s does not register an offense for cops with on_numblock method 355s registers an offense for cops with forgotten numblock handlers 355s does not register an offense for cops with on_numblock alias_method 355s 355s RuboCop::Cop::Security::CompoundHash 355s does not register an offense when delegating to a single object 355s registers an offense when using XOR and bitshifts 355s registers an offense when using XOR operator in the implementation of the hash method 355s registers an offense when using multiplication in the implementation of the hash method 355s registers an offense when using bitshift and OR 355s registers an offense when using XOR operator in the implementation of the hash method, even if intermediate variable is used 355s registers an offense if .hash is called on any elements of a hashed array 355s registers an offense when using XOR involving super 355s registers an offense when using addition in the implementation of the hash method 355s does not register an offense when delegating to Array#hash 355s registers an offense when using XOR between an array hash and a class 355s registers an offense when using multiplication assignment operator in the implementation of the hash method 355s registers an offense when using XOR assignment operator in the implementation of the hash method 355s registers an offense when using addition assignment operator in the implementation of the hash method 355s registers an offense when using XOR operator in the implementation of a dynamic hash singleton method 355s registers an offense when using XOR operator in the implementation of a dynamic hash method 355s registers an offense when using XOR operator in the implementation of the hash method, even without sub-calls to hash 355s registers an offense when delegating to Array#hash for a single value 355s registers an offense when using XOR operator in the implementation of the hash singleton method 355s registers an offense for complex usage 355s 355s RuboCop::Cop::Layout::ExtraSpacing 355s when AllowForAlignment is true 355s accepts space between key and value in a hash with hash rockets 355s ignores whitespace inside a string 355s ignores trailing whitespace 355s registers an offense and corrects extra spacing before a unary plus in an argument list 355s registers an offense and corrects extra spacing in class inheritance 355s registers an offense and corrects extra space before a float 355s registers an offense and corrects double extra spacing in variable assignment 355s accepts aligned values of an implicit hash literal 355s ignores whitespace at the beginning of the line 355s registers an offense and corrects alignment with token not preceded by space 355s with extra spacing for alignment purposes 355s such as aligning long assignment expressions that include line breaks 355s allows it 355s such as aligning trailing comments 355s allows it 355s such as lining up different kinds of assignments 355s allows it 355s such as lining up assignments with empty lines and comments in between 355s allows it 355s such as aligning with the same character 355s allows it 355s such as aligning tokens with empty line between 355s allows it 355s such as aligning comments on non-adjacent lines 355s allows it 355s such as aligning = on lines where there are trailing comments 355s allows it 355s such as lining up assignments 355s allows it 355s when spaces are present in a single-line hash literal 355s registers an offense and corrects hashes with hash rockets 355s registers an offense and corrects hashes with symbol keys 355s when ForceEqualSignAlignment is true 356s registers an offense and corrects consecutive aref assignments which are not aligned 356s register offenses and correct complex nested assignments 356s does not register an offense if assignments are aligned 356s does not register an offense when optarg equals is not aligned with assignment equals sign 356s register offenses and correct consecutive attribute assignments which are not aligned 356s aligns the first assignment with the following assignment 356s registers an offense and corrects consecutive assignments that are not aligned 356s does not register an offense if assignments are separated by blanks 356s register offenses and correct consecutive operator assignments which are not aligned 356s does not register offenses for multiple complex nested assignments 356s does not register alignment errors on outdented lines 356s when AllowBeforeTrailingComments is 356s false 356s does not trigger on only one space before comment 356s regsiters offense 356s true 356s allows it 356s doesn't interfere with AllowForAlignment 356s being true 356s such as aligning long assignment expressions that include line breaks 356s allows it 356s such as aligning = on lines where there are trailing comments 356s allows it 356s such as aligning with the same character 356s allows it 356s such as aligning trailing comments 356s allows it 356s such as aligning tokens with empty line between 356s allows it 356s such as aligning comments on non-adjacent lines 356s allows it 356s such as lining up different kinds of assignments 356s allows it 356s such as lining up assignments 356s allows it 356s such as lining up assignments with empty lines and comments in between 356s allows it 356s being false 356s such as aligning tokens with empty line between 356s does not register an offense 356s such as lining up different kinds of assignments 356s registers offense(s) 356s such as aligning comments on non-adjacent lines 356s registers offense(s) 356s such as aligning = on lines where there are trailing comments 356s registers offense(s) 356s such as aligning with the same character 356s registers offense(s) 356s such as aligning trailing comments 356s does not register an offense 356s such as lining up assignments with empty lines and comments in between 356s registers offense(s) 356s such as aligning long assignment expressions that include line breaks 356s registers offense(s) 356s such as lining up assignments 356s registers offense(s) 356s when AllowForAlignment is false 356s accepts space between key and value in a hash with hash rockets 356s registers an offense and corrects extra spacing before a unary plus in an argument list 356s registers an offense and corrects extra space before a float 356s ignores whitespace inside a string 356s accepts aligned values of an implicit hash literal 356s ignores trailing whitespace 356s registers an offense and corrects alignment with token not preceded by space 356s registers an offense and corrects extra spacing in class inheritance 356s ignores whitespace at the beginning of the line 356s registers an offense and corrects double extra spacing in variable assignment 356s when spaces are present in a single-line hash literal 356s registers an offense and corrects hashes with symbol keys 356s registers an offense and corrects hashes with hash rockets 356s with extra spacing for alignment purposes 356s such as lining up different kinds of assignments 356s registers offense(s) 356s such as aligning = on lines where there are trailing comments 356s registers offense(s) 356s such as aligning with the same character 356s registers offense(s) 356s such as aligning trailing comments 356s registers offense(s) 356s such as lining up assignments with empty lines and comments in between 356s registers offense(s) 356s such as aligning long assignment expressions that include line breaks 356s registers offense(s) 356s such as aligning tokens with empty line between 356s registers offense(s) 356s such as lining up assignments 356s registers offense(s) 356s such as aligning comments on non-adjacent lines 356s registers offense(s) 356s 356s RuboCop::Cop::Gemspec::OrderedDependencies 356s When using a local variable in an argument of dependent gem 356s does not register any offenses 356s behaves like ordered dependency 356s when add_dependency 356s when dependency is separated by multiline comment 356s with TreatCommentsAsGroupSeparators: true 356s accepts 356s with TreatCommentsAsGroupSeparators: false 356s registers an offense 356s When gems are alphabetically sorted 356s does not register any offenses 356s when gems are not alphabetically sorted 356s registers an offense 356s when each individual group of line is sorted 356s does not register any offenses 356s behaves like ordered dependency 356s when add_runtime_dependency 356s When gems are alphabetically sorted 356s does not register any offenses 356s when each individual group of line is sorted 356s does not register any offenses 356s when gems are not alphabetically sorted 356s registers an offense 356s when dependency is separated by multiline comment 356s with TreatCommentsAsGroupSeparators: false 356s registers an offense 356s with TreatCommentsAsGroupSeparators: true 356s accepts 356s behaves like ordered dependency 356s when add_development_dependency 356s when each individual group of line is sorted 356s does not register any offenses 356s When gems are alphabetically sorted 356s does not register any offenses 356s when gems are not alphabetically sorted 356s registers an offense 356s when dependency is separated by multiline comment 356s with TreatCommentsAsGroupSeparators: true 356s accepts 356s with TreatCommentsAsGroupSeparators: false 356s registers an offense 356s when different dependencies are consecutive 356s does not register any offenses 356s When using method call to gem names 356s does not register any offenses 356s 356s RuboCop::Cop::Style::RaiseArgs 356s when enforced style is compact 356s accepts a raise with msg argument 356s accepts a raise with an exception argument 356s accepts exception constructor with keyword arguments and message argument 356s with a raise with 2 args 356s reports an offense 356s when used in a logical or expression 356s registers an offense and autocorrects 356s when used in a ternary expression 356s registers an offense and autocorrects 356s with a raise with exception instantiation and message arguments 356s reports an offense 356s when used in a logical and expression 356s registers an offense and autocorrects 356s with correct + opposite 356s reports an offense 356s reports multiple offenses 356s with a raise with 3 args 356s reports an offense 356s with a raise with 2 args and exception object is assigned to a local variable 356s reports an offense 356s when enforced style is exploded 356s accepts exception constructor with keyword arguments 356s accepts a raise with `new` method without receiver 356s accepts a raise with 3 args 356s ignores a raise with an exception argument 356s accepts a raise with 2 args 356s accepts a raise with msg argument 356s accepts a raise with splatted arguments 356s accepts a raise when exception object is assigned to a local variable 356s accepts exception constructor with more than 1 argument 356s with opposite + correct 356s reports multiple offenses 356s reports an offense for opposite + correct 356s with a raise with exception object 356s when used in a ternary expression 356s registers an offense and autocorrects 356s when used in a logical or expression 356s registers an offense and autocorrects 356s when used in a logical and expression 356s registers an offense and autocorrects 356s with one argument 356s reports an offense 356s with no arguments 356s reports an offense 356s when exception type is in AllowedCompactTypes 356s accepts exception constructor with no arguments 356s with more than one argument 356s accepts exception constructor 356s with one argument 356s accepts exception constructor 356s when an exception object is assigned to a local variable 356s autocorrects to exploded style 356s 356s RuboCop::Cop::Style::AutoResourceCleanup 356s does not register an offense for File.open with block-pass 356s does not register an offense for File.open with block 356s registers an offense for File.open without block 356s does not register an offense for File.open with immediate close 356s 356s RuboCop::Cop::Layout::SpaceInsideArrayPercentLiteral 356s accepts non array percent literals 356s for w type and ["(", ")"] delimiters 356s accepts literals with escaped and additional spaces 356s registers an offense for unnecessary spaces 356s accepts literals with escaped spaces 356s accepts multi-line literals 356s accepts literals without additional spaces 356s accepts multi-line literals within a method 356s accepts newlines and additional following alignment spaces 356s registers an offense for multiple spaces between items 356s for I type and ["[", "]"] delimiters 356s accepts literals with escaped spaces 356s accepts multi-line literals 356s accepts multi-line literals within a method 356s registers an offense for multiple spaces between items 356s registers an offense for unnecessary spaces 356s accepts literals with escaped and additional spaces 356s accepts literals without additional spaces 356s accepts newlines and additional following alignment spaces 356s for w type and ["[", "]"] delimiters 356s registers an offense for unnecessary spaces 356s accepts newlines and additional following alignment spaces 356s registers an offense for multiple spaces between items 356s accepts multi-line literals within a method 356s accepts literals with escaped spaces 356s accepts multi-line literals 356s accepts literals without additional spaces 356s accepts literals with escaped and additional spaces 356s for I type and ["!", "!"] delimiters 356s registers an offense for unnecessary spaces 356s accepts multi-line literals 356s accepts literals with escaped spaces 356s accepts literals with escaped and additional spaces 356s registers an offense for multiple spaces between items 356s accepts literals without additional spaces 356s accepts newlines and additional following alignment spaces 356s accepts multi-line literals within a method 356s for W type and ["{", "}"] delimiters 356s accepts newlines and additional following alignment spaces 356s accepts literals with escaped and additional spaces 356s accepts literals with escaped spaces 356s accepts multi-line literals 356s registers an offense for multiple spaces between items 356s accepts multi-line literals within a method 356s registers an offense for unnecessary spaces 356s accepts literals without additional spaces 356s for w type and ["!", "!"] delimiters 356s accepts literals with escaped and additional spaces 356s accepts multi-line literals within a method 356s accepts literals without additional spaces 356s registers an offense for unnecessary spaces 356s accepts literals with escaped spaces 356s registers an offense for multiple spaces between items 356s accepts multi-line literals 356s accepts newlines and additional following alignment spaces 356s for W type and ["!", "!"] delimiters 356s accepts literals with escaped spaces 356s accepts literals without additional spaces 356s registers an offense for unnecessary spaces 356s registers an offense for multiple spaces between items 356s accepts newlines and additional following alignment spaces 356s accepts multi-line literals within a method 356s accepts multi-line literals 356s accepts literals with escaped and additional spaces 356s for i type and ["(", ")"] delimiters 356s accepts multi-line literals within a method 356s registers an offense for unnecessary spaces 356s accepts literals with escaped spaces 356s accepts newlines and additional following alignment spaces 356s accepts multi-line literals 356s accepts literals with escaped and additional spaces 356s accepts literals without additional spaces 356s registers an offense for multiple spaces between items 356s for i type and ["!", "!"] delimiters 356s registers an offense for unnecessary spaces 356s accepts multi-line literals within a method 356s accepts multi-line literals 356s accepts literals with escaped and additional spaces 356s accepts literals with escaped spaces 356s accepts literals without additional spaces 356s registers an offense for multiple spaces between items 356s accepts newlines and additional following alignment spaces 356s for i type and ["{", "}"] delimiters 356s registers an offense for multiple spaces between items 356s accepts multi-line literals within a method 356s registers an offense for unnecessary spaces 356s accepts multi-line literals 356s accepts literals without additional spaces 356s accepts newlines and additional following alignment spaces 356s accepts literals with escaped and additional spaces 356s accepts literals with escaped spaces 356s for i type and ["[", "]"] delimiters 356s accepts newlines and additional following alignment spaces 356s accepts multi-line literals within a method 356s accepts literals with escaped and additional spaces 356s registers an offense for unnecessary spaces 356s registers an offense for multiple spaces between items 356s accepts literals with escaped spaces 356s accepts multi-line literals 356s accepts literals without additional spaces 356s for I type and ["{", "}"] delimiters 356s registers an offense for multiple spaces between items 356s accepts literals with escaped spaces 356s accepts literals without additional spaces 356s accepts multi-line literals within a method 356s accepts newlines and additional following alignment spaces 356s registers an offense for unnecessary spaces 356s accepts multi-line literals 356s accepts literals with escaped and additional spaces 356s for I type and ["(", ")"] delimiters 356s accepts multi-line literals 356s accepts newlines and additional following alignment spaces 356s accepts literals without additional spaces 356s registers an offense for unnecessary spaces 356s accepts multi-line literals within a method 356s accepts literals with escaped and additional spaces 356s registers an offense for multiple spaces between items 356s accepts literals with escaped spaces 356s for W type and ["[", "]"] delimiters 356s accepts literals with escaped and additional spaces 356s accepts multi-line literals 356s registers an offense for unnecessary spaces 356s accepts literals with escaped spaces 356s accepts literals without additional spaces 356s registers an offense for multiple spaces between items 356s accepts multi-line literals within a method 356s accepts newlines and additional following alignment spaces 356s for w type and ["{", "}"] delimiters 356s accepts literals without additional spaces 356s accepts literals with escaped and additional spaces 356s accepts multi-line literals within a method 356s accepts literals with escaped spaces 356s accepts multi-line literals 356s registers an offense for unnecessary spaces 356s registers an offense for multiple spaces between items 356s accepts newlines and additional following alignment spaces 356s for W type and ["(", ")"] delimiters 356s accepts newlines and additional following alignment spaces 356s accepts literals with escaped spaces 356s accepts multi-line literals within a method 356s registers an offense for multiple spaces between items 356s accepts multi-line literals 356s registers an offense for unnecessary spaces 356s accepts literals with escaped and additional spaces 356s accepts literals without additional spaces 356s 356s RuboCop::Cop::Style::TrailingBodyOnMethodDefinition 356s does not register offense with trailing body on method end 357s registers when body starts on def line & continues one more line 357s removes semicolon from method definition but not body when autocorrecting 357s accepts a method with one line of body 357s autocorrects with comment after body 357s autocorrects body with method definition with args not in parens 357s accepts a method with multiple lines of body 357s registers when body starts on def line & continues many more lines 357s registers an offense when body trails after method definition 357s when method is not on first line of processed_source 357s autocorrects offense 357s Ruby 3.0 or higher 357s does not register offense when endless method definition body is after newline in opening parenthesis 357s 357s RuboCop::Cop::Style::NestedParenthesizedCalls 357s on a non-parenthesized method call 357s doesn't register an offense 357s on a method call with no arguments 357s doesn't register an offense 357s on a nested, parenthesized method call 357s doesn't register an offense 357s on a call with no arguments, nested in a parenthesized one 357s doesn't register an offense 357s on a permitted method 357s doesn't register an offense 357s on a call to a setter method 357s doesn't register an offense 357s on an aref, nested in a parenthesized method call 357s doesn't register an offense 357s on a deeply nested argument 357s doesn't register an offense 357s backslash newline in method call 357s registers an offense 357s on a non-parenthesized call nested in a parenthesized one 357s with a single argument to the nested call 357s registers an offense 357s when using safe navigation operator 357s registers an offense 357s with multiple arguments to the nested call 357s registers an offense 357s 357s RuboCop::Cop::Lint::EmptyInPattern 357s when a `in` body is missing 357s registers an offense for missing `in` body followed by `else` 357s registers an offense for missing `in` ... `then` body 357s registers an offense for a missing `in` body 357s registers an offense for missing `in` body with a comment followed by `else` 357s registers an offense for missing `in` ... then `body` followed by `else` 357s registers an offense for missing `in` body with a comment 357s when `AllowComments: false` 357s registers an offense for empty `in` body with a comment 357s when `AllowComments: true` 357s registers an offense for empty `in` when comment is in another branch 357s accepts an empty `in` body with a comment 357s when a `in` body is present 357s accepts `case` with `in` bodies 357s accepts `case` with `in` ... `then` statements 357s accepts `case` with `in` ... `then` statements and else clause 357s accepts `case` with `in` bodies and `else` clause 357s 357s RuboCop::Cop::Lint::TrailingCommaInAttributeDeclaration 357s does not register an offense when not using trailing comma 357s registers an offense when using trailing comma 357s 357s RuboCop::Cop::Style::Encoding 357s registers an offense and corrects the magic comment follows another magic comment 357s does not register an offense when no encoding present 357s registers an offense when encoding present and UTF-8 357s does not register an offense on a different magic comment type 357s registers an offense and corrects if there are multiple encoding magic comments 357s does not register an offense when encoding present but not UTF-8 357s registers an offense when encoding present on 2nd line after shebang 357s does not register an offense when encoding is in the wrong place 357s does not register an offense when encoding is not at the top of the file 357s emacs comment 357s registers an offense for encoding 357s only removes encoding if there are other editor comments 357s vim comments 357s registers an offense and corrects 357s 357s RuboCop::Cop::Lint::AmbiguousRegexpLiteral 357s Ruby >= 3.0 357s with `match_with_lvasgn` node 357s with different parentheses 357s does not register an offense 357s without parentheses 357s registers an offense and corrects 357s with parentheses 357s does not register an offense 357s with parentheses 357s accepts 357s without parentheses 357s registers an offense and corrects when multiple arguments 357s registers an offense and corrects when sending method to regexp with argument 357s registers an offense and corrects when sending method to regexp without argument 357s registers an offense and corrects when nesting 357s registers an offense and corrects when using block argument 357s registers an offense and corrects when using regexp without method call in a nested structure 357s registers an offense and corrects when sending method chain to regexp 357s registers an offense and corrects when using nested method arguments without parentheses 357s registers an offense and corrects when sending method without receiver takes a regexp argument 357s registers an offense and corrects when sending method inside parens without receiver takes a regexp argument 357s registers an offense and corrects when single argument 357s Ruby <= 2.7 357s with `match_with_lvasgn` node 357s without parentheses 357s registers an offense and corrects 357s with parentheses 357s does not register an offense 357s with different parentheses 357s does not register an offense 357s without parentheses 357s registers an offense and corrects when using block argument 357s registers an offense and corrects when sending method to regexp without argument 357s registers an offense and corrects when using regexp without method call in a nested structure 357s registers an offense and corrects when using nested method arguments without parentheses 357s registers an offense and corrects when sending method to regexp with argument 357s registers an offense and corrects when sending method chain to regexp 357s registers an offense and corrects when sending method without receiver takes a regexp argument 357s registers an offense and corrects when multiple arguments 357s registers an offense and corrects when sending method inside parens without receiver takes a regexp argument 357s registers an offense and corrects when nesting 357s registers an offense and corrects when single argument 357s with parentheses 357s accepts 357s 357s RuboCop::Cop::Lint::FloatOutOfRange 357s does not register an offense for 0.0 357s does not register an offense for tiny little itty bitty floats 357s does not register an offense for respectably sized floats 357s on floats so close to zero that nobody can tell the difference 357s registers an offense 357s on whopping big floats which tip the scales 357s registers an offense 357s 357s RuboCop::Cop::Style::PercentLiteralDelimiters 357s `default` override 357s allows individual preferred delimiters to override `default` 357s allows all preferred delimiters to be set with one key 357s `%q` string 357s registers an offense for other delimiters 357s does not register an offense for other delimiters when containing preferred delimiter characters 357s does not register an offense for preferred delimiters 357s `%I` interpolated symbol array 357s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 357s does not register an offense for preferred delimiters 357s registers an offense for other delimiters 357s `%x` interpolated system call 357s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 357s registers an offense for other delimiters 357s does not register an offense for other delimiters when containing preferred delimiter characters 357s does not register an offense for preferred delimiters 357s `%` interpolated string 357s registers an offense for a string with no content 357s registers an offense for other delimiters 357s registers an offense when the source contains invalid characters 357s does not register an offense for preferred delimiters 357s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 357s does not register an offense for other delimiters when containing preferred delimiter characters 357s `%W` interpolated string array 357s registers an offense for other delimiters 357s does not register an offense for preferred delimiters 357s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 357s does not register an offense for other delimiters when containing preferred delimiter characters 357s autocorrect 357s preserves line breaks when fixing a multiline array 357s preserves indentation when correcting a multiline array 357s preserves irregular indentation when correcting a multiline array 357s fixes a string array in a scope 357s behaves like escape characters 357s corrects %i with \n in it 357s corrects %i with \t in it 357s behaves like escape characters 357s corrects %W with \t in it 357s corrects %W with \n in it 357s behaves like escape characters 357s corrects %x with \t in it 357s corrects %x with \n in it 357s behaves like escape characters 357s corrects % with \t in it 357s corrects % with \n in it 357s behaves like escape characters 357s corrects %s with \t in it 357s corrects %s with \n in it 357s behaves like escape characters 357s corrects %w with \t in it 357s corrects %w with \n in it 357s behaves like escape characters 357s corrects %Q with \n in it 357s corrects %Q with \t in it 357s behaves like escape characters 357s corrects %r with \t in it 357s corrects %r with \n in it 357s behaves like escape characters 357s corrects %q with \t in it 357s corrects %q with \n in it 357s `%s` symbol 357s does not register an offense for preferred delimiters 357s registers an offense for other delimiters 357s `%Q` interpolated string 357s registers an offense for other delimiters 357s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 357s does not register an offense for other delimiters when containing preferred delimiter characters 357s does not register an offense for preferred delimiters 357s `%r` interpolated regular expression 357s registers an offense for a regular expression with option 357s registers an offense for other delimiters 357s does not register an offense for preferred delimiters 357s does not register an offense for other delimiters when containing preferred delimiter characters 357s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 357s `%w` string array 357s does not register an offense for preferred delimiters with only a closing delimiter 357s registers an offense for other delimiters 357s does not register an offense for preferred delimiters with a pairing delimiters 357s does not register an offense for preferred delimiters with not a pairing delimiter 357s does not register an offense for preferred delimiters 357s does not register an offense for other delimiters when containing preferred delimiter characters 357s `%i` symbol array 357s does not register an offense for preferred delimiters 357s registers an offense for other delimiters 357s does not register an offense for non-preferred delimiters enclosing escaped delimiters 357s invalid cop config 357s raises an error when invalid configuration is specified 357s 357s RuboCop::Cop::Style::IfInsideElse 357s catches an if node nested inside an else 357s catches an if..else nested inside an else 357s ignores nested ternary expressions 357s catches an if..elsif..else nested inside an else 357s ignores if inside unless 357s isn't offended by if..elsif..else 357s catches an `if..else` nested inside an `else` and nested inside `if` branch code is empty 357s isn't offended if there is a statement preceding the if node 357s handles a nested multiline `if...then...elsif...else...end` 357s catches a modifier if nested inside an else after elsif 357s handles a nested `if...then...end` 357s ignores ternary inside if..else 357s handles a nested `if...then...elsif...else...end` 357s isn't offended if there is a statement following the if node 357s ignores unless inside else 357s handles a nested `if...then...elsif...end` 357s handles a nested `if...then...else...end` 357s when AllowIfModifier is false 357s catches a modifier if nested inside an else 357s when AllowIfModifier is true 357s accepts a modifier if nested inside an else 357s 357s RuboCop::Cop::Style::StringLiterals 357s when configured with a bad value 357s fails 357s configured with double quotes preferred 357s accepts double quotes 357s accepts escaped single quote in string with escaped non-' character 357s accepts single quotes in string with escaped non-' character 357s accepts heredocs 357s registers offense for single quotes when double quotes would be equivalent 357s registers offense for escaped single quote in single quotes 357s does not accept multiple escaped single quotes in single quotes 357s accepts ' in a %w 357s flags single quotes with plain # (not #@var or #{interpolation} or #$global 357s can handle a built-in constant parsed as string 357s accepts single quotes at the start of regexp literals 357s accepts single quotes when they are needed 357s accepts % quotes 357s accepts single quoted string with backslash 357s registers offense for opposite + correct 357s accepts single quotes in interpolation 357s accepts %q and %Q quotes 357s configured with single quotes preferred 357s accepts \\\n in a string 357s registers offense for correct + opposite 357s accepts double quotes at the start of regexp literals 357s accepts double quotes when control characters are used 357s accepts double quotes with some other special symbols 357s accepts double quotes in interpolation 357s registers an offense for words with non-ascii chars 357s accepts double quotes when interpolating an instance variable 357s accepts double quotes when single quotes are used 357s accepts double quotes when new line is used 357s accepts single quotes 357s registers an offense for "\"" 357s accepts double quotes when interpolating a global variable 357s accepts double quotes when interpolating & quotes in multiple lines 357s accepts double quotes when unicode control sequence is used 357s accepts " in a %w 357s registers offense for double quotes when single quotes suffice 357s accepts single quotes in interpolation 357s detects unneeded double quotes within concatenated string 357s accepts %q and %Q quotes 357s accepts double quotes when interpolating a class variable 357s accepts heredocs 357s accepts % quotes 357s can handle a built-in constant parsed as string 357s can handle character literals 357s registers an offense for "\" 357s does not register an offense for words with non-ascii chars and other control sequences 357s when ConsistentQuotesInMultiline is true 357s and EnforcedStyle is single_quotes 357s accepts for double quotes with an escaped special character 357s doesn't register offense for double quotes with interpolation 357s registers an offense for unneeded double quotes in continuation 357s accepts continued strings using all single quotes 357s doesn't choke on heredocs with inconsistent indentation 357s doesn't register offense for double quotes with embedded single 357s registers an offense for mixed quote styles in a continued string 357s accepts for double quotes with an escaped normal character 357s registers an offense for strings with line breaks in them 357s and EnforcedStyle is double_quotes 357s accepts continued strings using all double quotes 357s doesn't register offense for single quotes with embedded double 357s registers an offense for unneeded single quotes in continuation 357s registers an offense for mixed quote styles in a continued string 357s 357s RuboCop::Cop::Style::CommentAnnotation 357s with RequireColon configuration set to false 357s accepts a keyword that is somewhere in a sentence 357s accepts upper case keyword with colon, space and note 357s accepts a keyword that is just the beginning of a sentence 357s accepts upper case keyword alone 357s accepts a comment that is obviously a code example 357s upper case keyword with colon but no note 357s registers an offense without autocorrection 357s with colon 357s registers an offense and removes colon 357s with configured keyword 357s registers an offense for containing a colon after the word 357s upper case keyword with space but no note 357s registers an offense without autocorrection 357s offenses in consecutive inline comments 357s registers each of them 357s multiline comment 357s only registers an offense on the first line 357s lower case keyword 357s registers an offense and upcases 357s when a keyword is not in the configuration 357s accepts the word with colon 357s with default RequireColon configuration (colon + space) 357s accepts a comment that is obviously a code example 357s accepts upper case keyword alone 357s accepts a keyword that is just the beginning of a sentence 357s accepts a keyword that is somewhere in a sentence 357s accepts upper case keyword with colon, space and note 357s with configured keyword 357s registers an offense for a missing colon after the word 357s missing space after colon 357s registers an offense and adds space 357s missing colon 357s registers an offense and adds colon 357s upper case keyword with colon but no note 357s registers an offense without autocorrection 357s when a keyword is not in the configuration 357s accepts the word without colon 357s upper case keyword with space but no note 357s registers an offense without autocorrection 357s offenses in consecutive inline comments 357s registers each of them 357s capitalized keyword 357s registers an offense and upcases 357s lower case keyword 357s registers an offense and upcases 357s with multiword keywords 357s registers an offense for each matching keyword 357s multiline comment 357s only registers an offense on the first line 357s 357s RuboCop::Cop::Style::RedundantSelfAssignmentBranch 357s does not register an offense when not self-assigning redundant branches 357s does not register an offense when self-assigning redundant else branch and multiline else branch 357s does not register an offense when multi assignment 357s does not register an offense when using `elsif` and self-assigning the value of `then` branch 357s does not register an offense when self-assigning redundant else branch and multiline if branch 357s does not register an offense when self-assigning redundant else ternary branch for ivar 357s registers and corrects an offense when self-assigning redundant else branch and empty if branch 357s does not register an offense when self-assigning redundant else ternary branch for cvar 357s does not register an offense when self-assigning redundant else ternary branch for gvar 357s registers and corrects an offense when self-assigning redundant else branch 357s does not register an offense when using only if branch 357s registers and corrects an offense when self-assigning redundant if branch 357s does not register an offense when using `elsif` and self-assigning the value of `else` branch 357s registers and corrects an offense when self-assigning redundant else ternary branch 357s does not register an offense when using `elsif` and self-assigning the value of `elsif` branch 357s registers and corrects an offense when self-assigning redundant if ternary branch 357s does not register an offense when lhs is not variable 357s registers and corrects an offense when self-assigning redundant else branch and empty else branch 357s 357s RuboCop::Cop::Style::GlobalStdStream 357s does not register an offense when assigning std stream const to std stream gvar 357s registers an offense and corrects when using std stream as const 357s does not register an offense when using non std stream const 357s does not register an offense when assigning other const to std stream gvar 357s 357s RuboCop::Cop::Style::KeywordParametersOrder 357s registers an offense and corrects when multiple `kwoptarg`s are interleaved with `kwarg`sand last argument is `kwrestarg` and argument parentheses omitted 357s registers an offense and corrects when multiple `kwoptarg`s are interleaved with `kwarg`sand last argument is `blockarg` and argument parentheses omitted 357s registers an offense and corrects when multiple `kwoptarg`s are interleaved with `kwarg`s 357s registers an offense and corrects when `kwoptarg` is before `kwarg` 357s registers an offense and corrects when multiple `kwoptarg` are before `kwarg` and argument parentheses omitted 357s does not register an offense when there are no `kwoptarg`s before `kwarg`s 357s registers an offense and corrects when `kwoptarg` is before `kwarg` and argument parentheses omitted 357s when using block keyword parameters 357s does not register an offense when there are no `kwoptarg`s before `kwarg`s 357s registers an offense and corrects when `kwoptarg` is before `kwarg` 357s 357s RuboCop::Cop::Layout::EmptyLineAfterMultilineCondition 357s registers an offense when no new line after modifier `if` with multiline condition 357s does not register an offense when new line after `elsif` with multiline condition 357s registers an offense when no new line after `while` with multiline condition 357s does not register an offense when new line after `while` with multiline condition 357s does not register an offense for `rescue` with singleline exceptions 357s does not register an offense for `when` with singleline condition 357s registers an offense when no new line after `if` with multiline condition 357s registers an offense when no new line after `until` with multiline condition 357s does not register an offense when new line after `when` with multiline condition 357s registers an offense when no new line after modifier `while` with multiline condition 357s does not register an offense when new line after `if` with multiline condition 357s does not register an offense for `while` with single line condition 357s does not register an offense when `if` at the top level 357s does not register an offense when modifier `while` with multiline conditionis the last child of its parent 357s does not register an offense for `if` with single line condition 357s does not register an offense when new line after `rescue` with multiline exceptions 357s does not register an offense when modifier `if` with multiline conditionis the last child of its parent 357s registers an offense when no new line after `elsif` with multiline condition 357s registers an offense when no new line after `when` with multiline condition 357s does not register an offense when new line after modifier `while` with multiline condition 357s registers an offense when no new line after `rescue` with multiline exceptions 357s does not register an offense when new line after modifier `if` with multiline condition 357s 357s RuboCop::TargetFinder 357s #find(..., :all_file_types) 357s returns absolute paths 357s does not find hidden files 357s when input is passed on stdin 357s includes the file 357s when some paths are specified in the configuration Exclude and they are explicitly passed as arguments 357s when it's forced to adhere file exclusion configuration 357s excludes them 357s normally 357s does not exclude them 357s when some non-known Ruby files are specified in the configuration Include and they are explicitly passed as arguments 357s includes them 357s when files with a ruby extension are passed 357s picks all the ruby files 357s when local AllCops/Include lists two patterns 357s picks all the ruby files 357s when a subdirectory AllCops/Include only lists one pattern 357s picks all the ruby files 357s when a non-ruby file is passed 357s picks the file 357s when a directory path is passed 357s finds files under the specified directory 357s when some non-known Ruby files are specified in the configuration Include and they are not explicitly passed as arguments 357s includes them 357s when a pattern is passed 357s finds files which match the pattern 357s when same paths are passed 357s does not return duplicated file paths 357s when no argument is passed 357s finds files under the current directory 357s when a hidden directory path is passed 357s finds files under the specified directory 357s when files with ruby interpreters are passed 357s picks all the ruby files 357s when a file with a ruby filename is passed 357s picks all the ruby files 357s #target_files_in_dir 357s does not pick files with no extension and no ruby shebang 357s picks files with extension .rb 357s does not pick files specified to be excluded in config 357s picks files specified to be included in config 357s picks ruby executable files with no extension 357s does not pick directories 357s when an exception is raised while reading file 357s and debug mode is enabled 357s outputs error message 357s and debug mode is disabled 357s outputs nothing 357s w/ --fail-fast option 357s works with the expected number of .rb files 357s #find(..., :only_recognized_file_types) 357s returns absolute paths 357s does not find hidden files 357s when no argument is passed 357s finds files under the current directory 357s when some paths are specified in the configuration Exclude and they are explicitly passed as arguments 357s normally 357s does not exclude them 357s when it's forced to adhere file exclusion configuration 357s excludes them 357s when a hidden directory path is passed 357s finds files under the specified directory 357s when some non-known Ruby files are specified in the configuration Include and they are not explicitly passed as arguments 357s includes them 357s when a file with a ruby filename is passed 357s picks all the ruby files 357s when some non-known Ruby files are specified in the configuration Include and they are explicitly passed as arguments 357s includes them 357s when a non-ruby file is passed 357s doesn't pick the file 357s when a directory path is passed 357s finds files under the specified directory 357s when files with a ruby extension are passed 357s picks all the ruby files 357s when local AllCops/Include lists two patterns 357s picks two files 357s when a subdirectory AllCops/Include only lists one pattern 358s picks two files 358s when same paths are passed 358s does not return duplicated file paths 358s when files with ruby interpreters are passed 358s picks all the ruby files 358s when a hidden directory path is passed 358s finds files under the specified directory 358s when input is passed on stdin 358s includes the file 358s when a pattern is passed 358s finds files which match the pattern 358s #find_files 358s works also if a folder is named "**" 358s can exclude symlinks as well as directories 358s works also if a folder is named "," 358s does not search excluded top level directories 358s works also if a folder is named "{}" 358s resolves symlinks when looking for excluded directories 358s prevents infinite loops when traversing symlinks 358s 358s RuboCop::Cop::InternalAffairs::ExampleHeredocDelimiter 358s when unexpected heredoc delimiter is used in single-line heredoc 358s registers an offense 358s when unexpected heredoc delimiter is used at non RuboCop specific expectation 358s does not register an offense 358s when unexpected heredoc delimiter is used in multi-line heredoc 358s registers an offense 358s when unexpected heredoc delimiter is used but heredoc body contains an expected delimiter line 358s does not register an offense 358s when expected heredoc delimiter is used at RuboCop specific expectation 358s does not register an offense 358s 358s RuboCop::Cop::Layout::MultilineMethodCallBraceLayout 358s ignores calls without arguments 358s ignores single-line calls 358s ignores implicit calls 358s ignores calls with a multiline empty brace 358s ignores calls with an empty brace 358s behaves like multiline literal brace layout 358s same_line style 358s opening brace on same line as first element 358s allows closing brace on same line from last element 358s allows closing brace on same line as multi-line element 358s autocorrects closing brace on different line as last element 358s detects closing brace on different line from multiline element 358s with a chained call on the closing brace 358s but no comment after the last element 358s autocorrects the closing brace 358s and a comment after the last element 358s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 358s opening brace on separate line from first element 358s detects closing brace on different line from last element 358s allows closing brace on same line as last multiline element 358s allows closing brace on same line as last element 358s new_line style 358s opening brace on separate line from first element 358s detects closing brace on same line as last element 358s allows closing brace on separate line from last multiline element 358s allows closing brace on separate line from last element 358s opening brace on same line as first element 358s detects closing brace on same line as last multiline element 358s allows closing brace on different line from last element 358s autocorrects closing brace on same line as last element 358s allows closing brace on different line from multi-line element 358s heredoc 358s ignores heredocs that could share a last line 358s detects heredoc structures that are safe to add to 358s symmetrical style 358s opening brace on same line as first element 358s autocorrects closing brace on different line from last element 358s allows closing brace on same line as last element 358s allows closing brace on same line as last multiline element 358s detects closing brace on different line from last element 358s with a chained call on the closing brace 358s but no comment after the last element 358s autocorrects the closing brace 358s and a comment after the last element 358s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 358s opening brace on separate line from first element 358s detects closing brace on same line as last element 358s allows closing brace on separate line from last element 358s allows closing brace on separate line from last multiline element 358s when EnforcedStyle is new_line 358s still ignores single-line calls 358s ignores single-line calls with multi-line receiver 358s ignores single-line calls with multi-line receiver with leading dot 358s when comment present before closing brace 358s corrects closing brace without crashing 358s behaves like multiline literal brace layout trailing comma 358s same_line style 358s opening brace on same line as first element 358s last element has a trailing comma 358s autocorrects closing brace on different line as last element 358s symmetrical style 358s opening brace on same line as first element 358s last element has a trailing comma 358s autocorrects closing brace on different line from last element 358s 358s RuboCop::Cop::Naming::ConstantName 358s allows screaming snake case in multiple const assignment 358s checks qualified const names 358s registers 1 offense if rhs is offending const assignment 358s does not check names if rhs is a method call with conditional assign 358s allows screaming snake case with POSIX upper case characters 358s registers an offense for non-POSIX upper case in const name 358s registers an offense for camel case in const name 358s does not check names if rhs is a `Class.new` 358s registers offenses for camel case in multiple const assignment 358s does not check names if rhs is a method call with block 358s does not check names if rhs is a `Struct.new` 358s registers an offense for camel case in const namewhen using frozen object assignment 358s does not check names if rhs is a `Class.new` with conditional assign 358s does not check if rhs is another constant 358s registers an offense for camel case in const namewhen using frozen range assignment 358s allows screaming snake case in const name 358s does not check names if rhs is a method call 358s does not check names if rhs is a `Struct.new` with conditional assign 358s does not check if rhs is a non-offensive const assignment 358s registers an offense for snake case in const name 358s when a rhs is a conditional expression 358s when conditional branches contain only string values 358s registers an offense 358s when conditional branches contain a value other than a constant 358s does not check names 358s when conditional branches contain only constants 358s does not check names 358s 358s RuboCop::Cop::Gemspec::RequireMFA 358s with rubygems_mfa_required: false 358s registers an offense and corrects 358s when the specification has a metadata hash but no rubygems_mfa_required key 358s registers an offense and corrects 358s when there are other metadata keys 358s and `rubygems_mfa_required` is included 358s does not register an offense 358s and `rubygems_mfa_required` is not included 358s registers an offense and corrects 358s with rubygems_mfa_required: true 358s does not register an offense 358s with rubygems_mfa_required: false by key access 358s registers an offense and corrects 358s when the specification has an non-hash metadata 358s registers an offense but does not correct 358s when the specification is blank 358s registers an offense and corrects 358s when the gemspec is blank 358s does not register an offense 358s when metadata is set by key assignment 358s and `rubygems_mfa_required` is not included 358s registers an offense 358s and `rubygems_mfa_required` is included 358s does not register an offense 358s 358s RuboCop::Cop::Style::NegatedUnless 358s does not blow up for empty unless condition 358s does not blow up for empty if condition 358s does not blow up for ternary ops 358s does not blow up on a negated ternary operator 358s with “prefix” style 358s does not register an offense for postfix 358s registers an offense for prefix 358s with “both” style 358s accepts an unless/else with negative condition 358s accepts an unless where the condition is doubly negated 358s registers an offense for unless with "not" condition 358s autocorrects by replacing parenthesized unless not with if 358s registers an offense for unless with exclamation point condition 358s accepts an unless where only part of the condition is negated 358s with “postfix” style 358s registers an offense for postfix 358s does not register an offense for prefix 358s 358s RuboCop::Cop::Style::NestedFileDirname 358s Ruby >= 3.1 358s does not register an offense when using non nested `File.dirname(path)` 358s registers and corrects an offense when using `File.dirname(path)` nested three times 358s does not register an offense when using `File.dirname(path, 2)` 358s registers and corrects an offense when using `File.dirname(path)` nested two times 358s Ruby <= 3.0 358s does not register an offense when using `File.dirname(path)` nested two times 358s 358s RuboCop::Cop::Lint::IneffectiveAccessModifier 358s when there is an intervening instance method 358s still registers an offense 358s when no access modifier is used 358s doesn't register an offense 358s when `protected` is applied to a class method 358s registers an offense 358s when `private_class_method` is used 358s when `private_class_method` does not contain the method 358s registers an offense 358s when `private_class_method` contains all private method names 358s doesn't register an offense 358s when `private` is applied to a class method 358s registers an offense 358s when a `class << self` block is used 358s doesn't register an offense 358s when there is `begin` before a method definition 358s does not register an offense 358s 358s RuboCop::Formatter::SimpleTextFormatter 358s #report_summary 358s when 2 offenses are corrected and 2 offenses autocorrectable 358s handles pluralization correctly 358s when a file inspected and no offenses detected 358s handles pluralization correctly 358s when no files inspected 358s handles pluralization correctly 358s when an offense is corrected 358s prints about correction 358s when 2 offenses detected and 2 offenses autocorrectable 358s handles pluralization correctly 358s when a offense detected and a offense autocorrectable 358s handles pluralization correctly 358s when 2 offenses are corrected 358s handles pluralization correctly 358s when a offense detected 358s handles pluralization correctly 358s when 2 offenses detected 358s handles pluralization correctly 358s #report_file 358s behaves like report for severity 358s when the offense is correctable 358s prints message as-is 358s when the offense is automatically corrected 358s prints [Corrected] along with message 358s when the offense is marked as todo 358s prints [Todo] along with message 358s the file is under the current working directory 358s prints as relative path 358s when the offense is not corrected 358s prints message as-is 358s the file is outside of the current working directory 358s prints as absolute path 358s behaves like report for severity 358s when the offense is correctable 358s prints message as-is 358s when the offense is not corrected 358s prints message as-is 358s when the offense is marked as todo 358s prints [Todo] along with message 358s when the offense is automatically corrected 358s prints [Corrected] along with message 358s the file is under the current working directory 358s prints as relative path 358s the file is outside of the current working directory 358s prints as absolute path 358s behaves like report for severity 358s when the offense is not corrected 358s prints message as-is 358s when the offense is correctable 358s prints message as-is 358s when the offense is automatically corrected 358s prints [Corrected] along with message 358s the file is under the current working directory 358s prints as relative path 358s when the offense is marked as todo 358s prints [Todo] along with message 358s the file is outside of the current working directory 358s prints as absolute path 358s behaves like report for severity 358s when the offense is not corrected 358s prints message as-is 358s the file is under the current working directory 358s prints as relative path 358s when the offense is correctable 358s prints message as-is 358s when the offense is marked as todo 358s prints [Todo] along with message 358s when the offense is automatically corrected 358s prints [Corrected] along with message 358s the file is outside of the current working directory 358s prints as absolute path 358s behaves like report for severity 358s when the offense is marked as todo 358s prints [Todo] along with message 358s the file is under the current working directory 358s prints as relative path 358s when the offense is automatically corrected 358s prints [Corrected] along with message 358s when the offense is correctable 358s prints message as-is 358s when the offense is not corrected 358s prints message as-is 358s the file is outside of the current working directory 358s prints as absolute path 358s behaves like report for severity 358s when the offense is not corrected 358s prints message as-is 358s when the offense is correctable 358s prints message as-is 358s the file is outside of the current working directory 358s prints as absolute path 358s when the offense is automatically corrected 358s prints [Corrected] along with message 358s the file is under the current working directory 358s prints as relative path 358s when the offense is marked as todo 358s prints [Todo] along with message 358s 358s RuboCop::Cop::Layout::DefEndAlignment 358s when EnforcedStyleAlignWith is start_of_line 358s accepts matching def ... end 358s registers an offense for mismatched foo def test end and autocorrects 358s registers an offense for mismatched def Test.test end and autocorrects 358s accepts matching defs ... end 358s registers an offense for mismatched def test end and autocorrects 358s accepts matching def ... end 358s accepts matching foo def ... end 358s accepts matching foo bar def ... end 358s when using refinements and `private def` 358s does not register an offense 358s correct + opposite 358s registers an offense 358s when including an anonymous module containing `private def` 358s does not register an offense 358s when EnforcedStyleAlignWith is def 358s accepts matching defs ... end 358s accepts matching foo def ... end 358s registers an offense for mismatched def Test.test end and autocorrects 358s registers an offense for mismatched def test end and autocorrects 358s registers an offense for mismatched foo def test end and autocorrects 358s accepts matching def ... end 358s correct + opposite 358s registers an offense 358s 358s RuboCop::Cop::Lint::RescueType 358s accepts rescuing nothing within a method definition 358s accepts rescuing nothing 358s accepts rescue modifier 358s accepts rescuing a single exception 358s behaves like offenses 358s def rescue ensure 358s rescuing from 0.0 358s registers an offense and autocorrects 358s def rescue 358s rescuing from 0.0 358s registers an offense and autocorrects 358s begin rescue 358s rescuing from 0.0 358s registers an offense and autocorrects 358s rescuing from 0.0 after another exception 358s registers an offense and autocorrects 358s rescuing from 0.0 before another exception 358s registers an offense and autocorrects 358s begin rescue ensure 358s rescuing from 0.0 358s registers an offense and autocorrects 358s behaves like offenses 358s begin rescue ensure 358s rescuing from 0 358s registers an offense and autocorrects 358s def rescue 358s rescuing from 0 358s registers an offense and autocorrects 358s begin rescue 358s rescuing from 0 before another exception 358s registers an offense and autocorrects 358s rescuing from 0 after another exception 358s registers an offense and autocorrects 358s rescuing from 0 358s registers an offense and autocorrects 358s def rescue ensure 358s rescuing from 0 358s registers an offense and autocorrects 358s behaves like offenses 358s begin rescue ensure 358s rescuing from nil 358s registers an offense and autocorrects 358s def rescue 358s rescuing from nil 358s registers an offense and autocorrects 358s def rescue ensure 358s rescuing from nil 358s registers an offense and autocorrects 358s begin rescue 358s rescuing from nil before another exception 358s registers an offense and autocorrects 358s rescuing from nil after another exception 358s registers an offense and autocorrects 358s rescuing from nil 358s registers an offense and autocorrects 358s behaves like offenses 358s begin rescue 358s rescuing from :symbol 358s registers an offense and autocorrects 358s rescuing from :symbol after another exception 358s registers an offense and autocorrects 358s rescuing from :symbol before another exception 358s registers an offense and autocorrects 358s def rescue 358s rescuing from :symbol 358s registers an offense and autocorrects 358s def rescue ensure 358s rescuing from :symbol 358s registers an offense and autocorrects 358s begin rescue ensure 358s rescuing from :symbol 358s registers an offense and autocorrects 358s behaves like offenses 358s begin rescue ensure 358s rescuing from 'string' 358s registers an offense and autocorrects 358s def rescue ensure 358s rescuing from 'string' 358s registers an offense and autocorrects 358s begin rescue 358s rescuing from 'string' 358s registers an offense and autocorrects 358s rescuing from 'string' after another exception 358s registers an offense and autocorrects 358s rescuing from 'string' before another exception 358s registers an offense and autocorrects 358s def rescue 358s rescuing from 'string' 358s registers an offense and autocorrects 358s behaves like offenses 358s begin rescue 358s rescuing from [] after another exception 358s registers an offense and autocorrects 358s rescuing from [] before another exception 358s registers an offense and autocorrects 358s rescuing from [] 358s registers an offense and autocorrects 358s def rescue ensure 358s rescuing from [] 358s registers an offense and autocorrects 358s begin rescue ensure 358s rescuing from [] 358s registers an offense and autocorrects 358s def rescue 358s rescuing from [] 358s registers an offense and autocorrects 358s behaves like offenses 358s def rescue ensure 358s rescuing from {} 358s registers an offense and autocorrects 358s begin rescue 358s rescuing from {} after another exception 358s registers an offense and autocorrects 358s rescuing from {} 358s registers an offense and autocorrects 358s rescuing from {} before another exception 358s registers an offense and autocorrects 358s def rescue 358s rescuing from {} 358s registers an offense and autocorrects 358s begin rescue ensure 358s rescuing from {} 358s registers an offense and autocorrects 358s behaves like offenses 358s begin rescue 358s rescuing from "#{string}" after another exception 358s registers an offense and autocorrects 358s rescuing from "#{string}" before another exception 358s registers an offense and autocorrects 358s rescuing from "#{string}" 358s registers an offense and autocorrects 358s def rescue ensure 358s rescuing from "#{string}" 358s registers an offense and autocorrects 358s def rescue 358s rescuing from "#{string}" 358s registers an offense and autocorrects 358s begin rescue ensure 358s rescuing from "#{string}" 358s registers an offense and autocorrects 358s 358s RuboCop::Cop::Style::StderrPuts 358s registers no offense when using `STDERR.puts` with no arguments 358s registers no offense when using `$stderr.puts` with no arguments 358s registers an offense when using `STDERR.puts('hello')` 358s registers an offense when using `$stderr.puts('hello')` 358s registers an offense when using `::STDERR.puts('hello')` 358s 358s RuboCop::Cop::Style::NilLambda 358s Proc.new 358s registers an offense when returning nil with `next` 358s properly corrects single line 358s registers an offense when returning nil with `break` 358s does not remove block params or change spacing 358s registers an offense when returning nil implicitly 358s does not register an offense when doing more than returning nil 358s registers an offense when returning nil with `return` 358s does not register an offense when not returning nil 358s stabby lambda 358s registers an offense when returning nil with `next` 358s properly corrects multiline 358s registers an offense when returning nil with `return` 358s registers an offense when returning nil implicitly 358s does not register an offense when doing more than returning nil 358s does not register an offense when not returning nil 358s registers an offense when returning nil with `break` 358s block lambda 358s does not register an offense when not returning nil 358s registers an offense when returning nil with `return` 358s properly corrects single line 358s does not remove block params or change spacing 358s registers an offense when returning nil with `next` 358s registers an offense when returning nil implicitly 358s registers an offense when returning nil with `break` 358s does not register an offense when doing more than returning nil 358s proc 358s does not remove block params or change spacing 358s registers an offense when returning nil implicitly 358s does not register an offense when not returning nil 358s does not register an offense when doing more than returning nil 358s properly corrects single line 358s registers an offense when returning nil with `next` 358s registers an offense when returning nil with `return` 358s registers an offense when returning nil with `break` 358s 358s RuboCop::Cop::Layout::FirstHashElementIndentation 358s when hash is right hand side in assignment 358s accepts several pairs per line 358s accepts correctly indented first pair 358s registers an offense and corrects incorrectly indented first pair 358s accepts single line hash 358s accepts an empty hash 358s accepts a first pair on the same line as the left brace 358s when indentation width is overridden for this cop 358s accepts correctly indented first pair 358s registers an offense and corrects incorrectly indented first pair 358s when hash is operand 358s accepts correctly indented first pair 358s registers an offense and corrects incorrectly indented } 358s registers an offense and corrects incorrectly indented first pair 358s when the HashAlignment style is separator for => 358s registers an offense and corrects incorrectly indented } 358s registers an offense and corrects incorrectly indented first pair with => 358s accepts correctly indented first pair 358s when hash is argument to setter 358s registers an offense and corrects incorrectly indented first pair 358s accepts correctly indented first pair 358s when EnforcedStyle is align_braces 358s accepts several pairs per line 358s registers an offense and corrects incorrectly indented } 358s registers an offense for incorrectly indented hash that is the value of a single pair hash 358s accepts an empty hash 358s accepts a first pair on the same line as the left brace 358s accepts single line hash 358s accepts correctly indented first pair 358s registers an offense for a hash that is a value of a multi pairs hashwhen the indent of its elements is not based on the hash key 358s when 'special_inside_parentheses' style is used 358s registers an offense and corrects incorrect indentation 358s when 'consistent' style is used 358s registers an offense and corrects incorrect indentation 358s when the HashAlignment style is separator for : 358s registers an offense and corrects incorrectly indented } 358s accepts correctly indented first pair 358s registers an offense and corrects incorrectly indented first pair with : 358s when hash is method argument 358s and argument are not surrounded by parentheses 358s accepts single line hash with braces 358s registers an offense for the first inner hash member not based on the start of line when the outer hash pair has no following siblings 358s registers an offense for a hash that is a value of a multi pairs hashwhen the indent of its elements is not based on the hash key 358s accepts braceless hash 358s accepts indent based on the left brace when the outer hash key and the left brace is not on the same line 358s accepts a correctly indented multi-line hash with braces 358s registers an offense for incorrectly indented multi-line hash with braces 358s accepts indent based on the start of the line where the left brace iswhen the right brace and its following pair is on the same line 358s and arguments are surrounded by parentheses 358s and EnforcedStyle is special_inside_parentheses 358s accepts indent based on the preceding left parenthesiswhen the right brace and its following pair is on the same line 358s registers an offense for a hash that is a value of a multi pairs hashwhen the indent of its elements is not based on the hash key 358s accepts special indentation for second argument 358s registers an offense and corrects 'align_braces' indentation 358s registers an offense and corrects 'consistent' indentation 358s accepts indent based on the left brace when the outer hash key and the left brace is not on the same line 358s registers an offense for incorrectly indented hash that is the value of a single pair hash 358s accepts special indentation for first argument 358s accepts normal indentation for hash within hash 358s when using safe navigation operator 358s registers an offense and corrects 'consistent' indentation 358s and EnforcedStyle is consistent 358s registers an offense and corrects incorrect indentation 358s accepts indent based on the left brace when the outer hash key and the left brace is not on the same line 358s accepts indent based on the start of the line where the left brace iswhen the right brace and its following pair is on the same line 358s accepts normal indentation for first argument 358s registers an offense for incorrectly indented hash that is the value of a single pair hash 358s accepts normal indentation for second argument 358s registers an offense for a hash that is a value of a multi pairs hashwhen the indent of its elements is not based on the hash key 358s 358s RuboCop::Cop::Style::MultilineBlockChain 358s accepts a chain of calls followed by a multi-line block 358s accepts a chain of blocks spanning one line 358s accepts a multi-line block chained with calls on one line 358s with multi-line block chaining 358s accepts a chain where the first block is single-line 358s registers an offense for a slightly more complicated case 358s registers two offenses for a chain of three blocks 358s registers an offense for a chain where the second block is single-line 358s registers an offense for a simple case 358s Ruby 2.7 358s registers an offense for a slightly more complicated case 358s 358s RuboCop::Cop::Style::RedundantRegexpCharacterClass 358s with escaped square brackets surrounding a single character 358s does not register an offense 358s with a character class containing multiple unicode code-points 358s does not register an offense and corrects 358s with a character class containing a single negated unicode character property 358s registers an offense and corrects 358s with a character class containing an escaped-# 358s registers an offense and corrects 358s with a negated character class with a single element 358s does not register an offense 358s with consecutive escaped square brackets inside a character class 358s does not register an offense 358s with a character class containing a space 358s with an unnecessary-character-class after a comment 358s registers an offense and corrects 358s when not using free-spaced mode 358s registers an offense and corrects 358s when using free-spaced mode 358s with a single space character class 358s does not register an offense with /ix 358s does not register an offense with only /x 358s does not register an offense with /iux 358s with a commented single-element character class 358s does not register an offense 358s with a character class containing a negated posix bracket expression 358s does not register an offense 358s with a character class with first element an escaped ] 358s does not register an offense 358s with a character class containing an escaped [ 358s registers an offense and corrects 358s with a character class containing a single character before `+` quantifier 358s registers an offense and corrects 358s with a character class containing a posix bracket expression 358s does not register an offense 358s with consecutive escaped square brackets 358s does not register an offense 358s with a character class containing a space meta-character 358s registers an offense and corrects 358s with a character class containing a single character inside a group 358s registers an offense and corrects 358s with a character class containing an unescaped-# 358s registers an offense and corrects 358s with a character class containing a single unicode character property 358s registers an offense and corrects 358s with %r{} regexp 358s with a character class containing a single character before `+` quantifier 358s registers an offense and corrects 358s with a character class containing a single character inside a group 358s registers an offense and corrects 358s with a character class containing a single character 358s registers an offense and corrects 358s with a character class containing a single character before `{n,m}` quantifier 358s registers an offense and corrects 358s with multiple character classes containing single characters 358s registers an offense and corrects 358s with a character class containing escaped character requiring escape outside 358s registers an offense and corrects 358s with a character class containing a single range 358s does not register an offense 358s with a character class containing a single unicode code-point 358s registers an offense and corrects 358s with a character class containing a single character 358s registers an offense and corrects 358s with an array index inside an interpolation 358s does not register an offense 358s with a character class containing set intersection 358s does not register an offense 358s with an interpolated unnecessary-character-class regexp 358s registers an offense and corrects 358s with a character class containing a single character before `{n,m}` quantifier 358s registers an offense and corrects 358s with a character class containing a character requiring escape outside 358s does not register an offense 358s with multiple character classes containing single characters 358s registers an offense and corrects 358s with a character class containing an interpolation 358s does not register an offense 358s with a character class containing two characters 358s does not register an offense 358s with a redundant character class after an interpolation 358s registers an offense and corrects 358s with a multi-line interpolation 358s ignores offenses in the interpolated expression 358s with a regexp containing invalid g escape 358s registers an offense and corrects 358s with a character class containing an escaped-0 358s does not register an offense 358s with a character class containing an escaped-b 358s does not register an offense 358s with a character class containing an escaped ] 358s registers an offense and corrects 358s with a character class containing a negated-space meta-character 358s registers an offense and corrects 358s 358s RuboCop::Cop::Layout::FirstMethodArgumentLineBreak 358s registers an offense and corrects hash arg spanning multiple lines 358s ignores kwargs listed on a single line when the arguments are used in `super` 358s ignores methods without arguments 358s ignores arguments without parens 358s registers an offense and corrects hash arg without a line break before the first pair 358s ignores arguments listed on a single line 358s args listed on the first line 358s registers an offense and corrects using `super` 358s registers an offense and corrects 358s registers an offense and corrects using safe navigation operator 358s 358s RuboCop::RemoteConfig 358s .inherit_from_remote 358s when the remote includes file starting with `./` 358s returns remote includes URI 358s .file 358s downloads the file if the file does not exist 358s does not download the file if cache lifetime has not been reached 358s downloads the file if cache lifetime has been reached 358s when the remote URL responds with 500 358s raises error 358s when remote URL is configured with token auth 358s downloads the file if the file does not exist 358s does not download the file if cache lifetime has not been reached 358s downloads the file if cache lifetime has been reached 358s when the remote URL responds with 404 358s raises error 358s when the network is inaccessible 358s reuses the existing cached file 358s when remote URL is configured with basic auth 358s downloads the file if the file does not exist 358s downloads the file if cache lifetime has been reached 358s does not download the file if cache lifetime has not been reached 358s when the remote URL responds with 404 358s raises error 358s when the remote URL responds with 500 358s raises error 358s when the remote URL responds with not modified 358s reuses the existing cached file 358s when the remote URL responds with redirect 358s follows the redirect and downloads the file 358s 358s RuboCop::Cop::Lint::LambdaWithoutLiteralBlock 359s registers and corrects an offense when using lambda with a proc variable block argument 359s registers and corrects an offense when using lambda with `&Proc.new {}` block argument 359s does not register an offense when using `lambda.call` 359s registers and corrects an offense when using lambda with `&proc {}` block argument 359s does not register an offense when using lambda with a literal block 359s does not register an offense when using lambda with a symbol proc 359s 359s RuboCop::Cop::Lint::SafeNavigationConsistency 359s registers an offense and corrects using safe navigation on the right of || 359s registers an offense and corrects using safe navigation inside of separated conditions 359s allows safe navigation when different variables are used 359s registers an offense and corrects using safe navigation in conditions on the right hand side 359s registers a single offense and corrects when safe navigation is used multiple times 359s registers and corrects multiple offenses 359s registers an offense and corrects when there is code before or after the condition 359s registers an offense and corrects using unsafe navigation with both && and || 359s allows calls to methods that nil responds to 359s registers an offense but does not correct non dot method calls 359s registers an offense and corrects unsafe navigation that appears before safe navigation 359s registers an offense and corrects using unsafe navigation with grouped conditions 359s registers an offense and corrects using unsafe navigation and the safe navigation appears in a group 359s registers an offense and corrects assignment 359s registers an offense and corrects using safe navigation on the right of && 359s allows || without safe navigation 359s registers an offense and corrects using safe navigation on the left of || 359s registers an offense and corrects using safe navigation on the left of && 359s allows && without safe navigation 359s 359s RuboCop::Cop::Layout::HashAlignment 359s accepts several pairs per line 359s accepts single line hash 359s register no offense for superclass call without args 359s accepts pairs that don't start a line 359s register no offense for yield without args 359s with default configuration 359s registers an offense and corrects zero or multiple spaces 359s registers an offense and corrects separator alignment 359s registers an offense and corrects table alignment 359s registers an offense and corrects multiline value starts in wrong place 359s registers an offense and corrects mixed hash styles 359s registers an offense and corrects misaligned hash keys 359s does not register an offense when value starts on next line 359s accepts left-aligned hash keys with single spaces 359s registers an offense and corrects misaligned mixed multiline hash keys 359s registers an offense and corrects alignment when using double splat in braces 359s registers an offense and corrects alignment when using double splat in an explicit hash 359s with implicit hash as last argument 359s registers an offense and corrects misaligned hash keys 359s accepts an empty hash 359s accepts aligned hash keys 359s registers an offense and corrects right alignment of keys 359s with table alignment configuration 359s registers an offense for misaligned hash values 359s accepts single line hash 359s registers an offense and corrects for misaligned hash keys 359s accepts several pairs per line 359s accepts a multiline array of single line hashes 359s accepts aligned hash keys and values 359s accepts hashes that use different separators and double splats 359s accepts an empty hash 359s registers an offense and corrects misaligned hash rockets 359s accepts a symbol only hash followed by a keyword splat 359s accepts hashes that use different separators 359s accepts a keyword splat only hash 359s accepts pairs that don't start a line 359s when using hash value omission 359s accepts several pairs per line 359s accepts single line hash 359s accepts pairs that don't start a line 359s when using hash value omission 359s accepts aligned hash keys and values 359s with multiple preferred(key and table) alignment configuration 359s accepts aligned hash keys, by both 359s registers an offense and corrects misaligned hash values 359s registers an offense and corrects misaligned hash values, prefer key when least offenses 359s registers an offense and corrects misaligned hash values, works separate for each hash 359s registers an offense and corrects misaligned hash keys with mixed hash style 359s accepts aligned hash keys, by keys 359s accepts aligned hash keys with mixed hash style 359s accepts aligned hash keys, by table 359s registers an offense and corrects misaligned hash values, prefer table when least offenses 359s accepts an empty hash 359s table and key config 359s registers an offense and corrects misaligned hash values, prefer table because it is specified first 359s with `EnforcedHashRocketStyle`: `table` 359s and aligned keys but a double splat argument after 359s does not register an offense on the `kwsplat` 359s and a misaligned double splat argument 359s registers an offense and corrects 359s and misaligned keys 359s registers an offense and corrects 359s and a double splat argument after a hash key 359s registers an offense on the misaligned key and corrects 359s when the only item is a kwsplat 359s does not register an offense 359s always inspect last argument hash 359s registers an offense and corrects misaligned keys in implicit hash for yield 359s registers offense and corrects misaligned keys in implicit hash 359s registers offense and corrects misaligned keys in explicit hash 359s registers an offense and corrects misaligned keys in implicit hash for super 359s registers an offense and corrects misaligned keys in explicit hash for super 359s registers an offense and corrects misaligned keys in explicit hash for yield 359s when using hash value omission 359s registers offense and corrects misaligned keys in implicit hash 359s registers offense and corrects misaligned keys in explicit hash 359s with invalid configuration 359s fails 359s with `EnforcedColonStyle`: `table` 359s when the only item is a kwsplat 359s does not register an offense 359s and aligned keys but a double splat argument after 359s does not register an offense on the `kwsplat` 359s when using hash value omission 359s and aligned keys 359s does not register an offense and corrects 359s and a double splat argument after a hash key 359s registers an offense on the misaligned key and corrects 359s and a misaligned double splat argument 359s registers an offense and corrects 359s and misaligned keys 359s registers an offense and corrects 359s always ignore last argument hash 359s accepts misaligned keys in implicit hash for super 359s accepts misaligned keys in explicit hash for super 359s accepts misaligned keys in explicit hash for yield 359s accepts misaligned keys in implicit hash 359s accepts misaligned keys in implicit hash for yield 359s accepts misaligned keys in explicit hash 359s when using hash value omission 359s accepts several pairs per line 359s accepts pairs that don't start a line 359s accepts single line hash 359s when `EnforcedStyle: with_fixed_indentation` of `ArgumentAlignment` 359s does not register an offense for an empty hash literal 359s does not register an offense using aligned hash literal 359s registers and corrects an offense when using misaligned keyword arguments 359s does not register an offense using aligned hash argument for `proc.()` 359s register and corrects an offense 359s when using hash value omission 359s does not register and corrects an offense when using aligned keyword arguments 359s register and corrects an offense 359s with table+separator alignment configuration 359s accepts a single method argument entry with colon 359s ignore implicit last argument hash 359s accepts misaligned keys in implicit hash for yield 359s accepts misaligned keys in implicit hash 359s accepts misaligned keys in implicit hash for super 359s registers an offense and corrects misaligned keys in explicit hash for super 359s registers an offense and corrects misaligned keys in explicit hash 359s registers an offense and corrects misaligned keys in explicit hash for yield 359s ignore explicit last argument hash 359s accepts misaligned keys in explicit hash 359s registers an offense and corrects misaligned keys in implicit hash for yield 359s accepts misaligned keys in explicit hash for super 359s registers an offense and corrects misaligned keys in implicit hash 359s accepts misaligned keys in explicit hash for yield 359s registers an offense and corrects misaligned keys in implicit hash for super 359s when using hash value omission 359s accepts misaligned keys in explicit hash 359s registers an offense and corrects misaligned keys in implicit hash 359s with separator alignment configuration 359s accepts hashes with different separators 359s accepts single line hash 359s accepts pairs that don't start a line 359s registers an offense and corrects misaligned hash values 359s accepts several pairs per line 359s doesn't break code by moving long keys too far left 359s accepts aligned hash keys 359s registers an offense and corrects misaligned hash rockets 359s accepts an empty hash 359s registers an offense and corrects mixed indentation and spacing 359s when using hash value omission 359s accepts pairs that don't start a line 359s accepts several pairs per line 359s accepts single line hash 359s when using hash value omission 359s accepts aligned hash keys 359s registers an offense and corrects mixed indentation and spacing 359s with different settings for => and : 359s accepts aligned entries 359s registers offenses and correct misaligned entries 359s 359s RuboCop::Cop::Style::ClassMethods 359s does not register an offense for methods using self 359s does not register an offense outside class/module bodies 359s registers an offense for methods using a module name 359s registers an offense for methods using a class name 359s does not register an offense for other top-level singleton methods 359s 359s RuboCop::Cop::Style::MissingElse 359s EmptyElse enabled and set to warn on empty 359s given an if-statement 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s given a case statement 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s given an unless-statement 359s with no else-clause 359s registers an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s >= Ruby 2.7 359s does not register an offense 359s EmptyElse enabled and set to warn on nil 359s given a case statement 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s given an if-statement 359s with no else-clause 359s registers an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s given an unless-statement 359s with an else-clause with side-effects 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s >= Ruby 2.7 359s does not register an offense 359s UnlessElse enabled 359s given a case statement 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s given an unless-statement 359s with no else-clause 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s given an if-statement 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s >= Ruby 2.7 359s does not register an offense 359s configured to warn only on empty case 359s given an if-statement 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with no else-clause 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s given a case statement 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s >= Ruby 2.7 359s does not register an offense 359s given an unless-statement 359s with no else-clause 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s UnlessElse disabled 359s given an if-statement 359s with a completely empty else-clause 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s given a case statement 359s with an else-clause with side-effects 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s given an unless-statement 359s with an else-clause with side-effects 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s >= Ruby 2.7 359s does not register an offense 359s configured to warn only on empty if 359s given an unless-statement 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with no else-clause 359s registers an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s given an if-statement 359s with no else-clause 359s registers an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause with side-effects 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s >= Ruby 2.7 359s does not register an offense 359s given a case statement 359s with an else-clause with side-effects 359s doesn't register an offense 359s with no else-clause 359s doesn't register an offense 359s with a completely empty else-clause 359s doesn't register an offense 359s with an else-clause containing only the literal nil 359s doesn't register an offense 359s 359s RuboCop::Cop::InternalAffairs::SingleLineComparison 359s registers and corrects an offense when comparing `first_line` with `last_line` 359s registers and corrects an offense when comparing `loc.last_line` with `loc.line` 359s registers and corrects an offense when comparing `source_range.last_line` with `source_range.first_line` 359s registers and corrects an offense when negative comparing `last_line` with `first_line` 359s registers and corrects an offense when comparing `source_range.first_line` with `source_range.last_line` 359s registers and corrects an offense when comparing `loc.first_line` with `loc.last_line` 359s registers and corrects an offense when negative comparing `first_line` with `last_line` 359s does not register an offense when the receivers are not a match 359s does not register an offense when comparing the same line 359s registers and corrects an offense when comparing `loc.line` with `loc.last_line` 359s registers and corrects an offense when comparing `loc.last_line` with `loc.first_line` 359s registers and corrects an offense when comparing `last_line` with `first_line` 359s 359s RuboCop::Cop::Style::NumberedParametersLimit 359s with Ruby >= 2.7 359s does not register an offense for a numblock with fewer than `Max` parameters 359s does not register an offense for a numblock with exactly `Max` parameters 359s sets Max properly for auto-gen-config 359s does not register an offense for a normal block with too many parameters 359s when Max is 1 359s uses the right offense message 359s when configuring Max 359s does not register an offense when there are not too many numbered params 359s when there are more than `Max` numbered parameters 359s registers an offense for a single line `numblock` 359s registers an offense for a multiline `numblock` 359s 359s RuboCop::Cop::Style::TrailingUnderscoreVariable 359s configured to allow named underscore variables 359s does not register an offense for an underscore variable preceded by a named splat underscore variable 359s does not register an offense when there are no underscores 359s does not register an offense for a named variable preceded by a names splat underscore variable 359s does not register an offense for an underscore preceded by a splat variable and another underscore 359s registers an offense for nested assignments with trailing underscores 359s does not register an offense for an underscore preceded by a splat variable anywhere in the argument chain 359s does not register an offense for a named underscore variable preceded by a splat variable 359s registers an offense when underscore is the only variable in parallel assignment 359s registers an offense for multiple underscore variables preceded by a splat underscore variable 359s registers an offense when the last variable of parallel assignment is an underscore 359s does not register an offense for complex nested assignments without trailing underscores 359s does not register an offense for an underscore preceded by a splat variable 359s does not register an offense for underscores at the beginning 359s registers an offense for complex nested assignments with trailing underscores 359s registers an offense for splat underscore as the last variable 359s registers an offense when underscore is the second to last variable and blank is the last variable 359s does not register an offense for multiple underscore variables preceded by a named splat underscore variable 359s does not register an offense for multiple named underscores preceded by a splat variable 359s registers an offense for an underscore as the last param when there is also an underscore as the first param 359s does not register an offense for named variables that start with an underscore 359s does not register an offense for multiple underscores preceded by a splat variable 359s does not register an offense for nested assignments without trailing underscores 359s does not register an offense for a named splat underscore as the last variable 359s registers an offense when multiple underscores are used as the last variables of parallel assignment 359s autocorrect 359s with parentheses 359s removes assignment part when every assignment is to `_` 359s removes assignment part when it is the only variable 359s leaves parentheses but removes trailing underscores 359s leaves parentheses but removes trailing underscores and commas 359s configured to not allow named underscore variables 359s registers an offense for nested assignments with trailing underscores 359s does not register an offense for a named underscore variable preceded by a splat variable 359s does not register an offense for complex nested assignments without trailing underscores 359s registers an offense for multiple underscore variables preceded by a splat underscore variable 359s registers an offense for named variables that start with an underscore 359s does not register an offense for an underscore preceded by a splat variable and another underscore 359s does not register an offense for a named underscore preceded by a splat variable 359s registers an offense for an underscore as the last param when there is also an underscore as the first param 359s does not register an offense for an underscore preceded by a splat variable 359s registers an offense for a named splat underscore as the last variable 359s registers an offense for an underscore variable preceded by a named splat underscore variable 359s registers an offense when the last variable of parallel assignment is an underscore 359s registers an offense for an underscore preceded by a named splat underscore 359s does not register an offense for a named variable preceded by a names splat underscore variable 359s does not register an offense when there are no underscores 359s does not register an offense for underscores at the beginning 359s does not register an offense for multiple named underscores preceded by a splat variable 359s registers an offense when underscore is the second to last variable and blank is the last variable 359s registers an offense when underscore is the only variable in parallel assignment 359s registers an offense for splat underscore as the last variable 359s does not register an offense for nested assignments without trailing underscores 359s registers an offense for multiple underscore variables preceded by a named splat underscore variable 359s does not register an offense for multiple underscores preceded by a splat variable 359s registers an offense when multiple underscores are used as the last variables of parallel assignment 359s does not register an offense for an underscore preceded by a splat variable anywhere in the argument chain 359s registers an offense for complex nested assignments with trailing underscores 359s autocorrect 359s with parentheses 359s leaves parentheses but removes trailing underscores 359s removes assignment part when every assignment is to `_` 359s removes assignment part when it is the only variable 359s leaves parentheses but removes trailing underscores and commas 359s 359s RuboCop::Cop::Style::DefWithParentheses 359s accepts def without arguments 359s reports an offense for def with empty parens 359s accepts def with arg and parens 359s accepts empty parentheses in one liners 359s reports an offense for class def with empty parens 359s Ruby >= 3.0 359s reports an offense for endless method definition with empty parens 359s 359s RuboCop::Cop::Bundler::GemFilename 359s with default configuration (EnforcedStyle => `Gemfile`) 359s with gems.locked file path 359s registers an offense 359s with Gemfile.lock file path 359s does not register an offense 359s with non-root Gemfile.lock file path 359s does not register an offense 359s with Gemfile file path 359s does not register an offense 359s with non-root Gemfile file path 359s does not register an offense 359s with non-root gems.locked file path 359s registers an offense 359s with gems.rb file path 359s registers an offense 359s with non-root gems.rb file path 359s registers an offense 359s with EnforcedStyle set to `gems.rb` 359s with Gemfile.lock file path 359s registers an offense 359s with gems.rb file path 359s does not register an offense 359s with non-root Gemfile.lock file path 359s registers an offense 359s with Gemfile file path 359s registers an offense 359s with non-root Gemfile file path 359s registers an offense 359s with non-root gems.rb file path 359s does not register an offense 359s with non-root gems.locked file path 359s does not register an offense 359s 359s RuboCop::Cop::Style::OperatorMethodCall 359s registers an offense when chaining `foo.bar.>>(baz).round(2)` 359s registers an offense when chaining `foo.bar.|(baz).round(2)` 359s does not register an offense when using `foo == bar` 359s registers an offense when using `foo.**(bar)` 359s registers an offense when using `foo.% bar` 359s registers an offense when chaining `foo.bar.-(baz).round(2)` 359s registers an offense when chaining `foo.bar.%(baz).round(2)` 359s does not register an offense when using `foo + bar` 359s registers an offense when using `foo.=== bar` 359s registers an offense when using `foo.~ bar` 359s registers an offense when chaining `foo.bar.<<(baz).round(2)` 359s registers an offense when chaining `foo.bar.=~(baz).round(2)` 359s does not register an offense when using `foo & bar` 359s registers an offense when using `foo.| bar` 359s registers an offense when using `foo.> bar` 360s registers an offense when using `foo.! bar` 360s does not register an offense when using `foo / bar` 360s does not register an offense when using `foo ~ bar` 360s does not register an offense when using `foo >> bar` 360s registers an offense when chaining `foo.bar.<(baz).round(2)` 360s registers an offense when using `foo.>> bar` 360s registers an offense when chaining `foo.bar./(baz).round(2)` 360s registers an offense when chaining `foo.bar.===(baz).round(2)` 360s registers an offense when chaining `foo.bar.>(baz).round(2)` 360s registers an offense when using `foo.>= bar` 360s registers an offense when using `foo./(bar)` 360s does not register an offense when using `foo.~@bar` 360s registers an offense when using `foo.===(bar)` 360s does not register an offense when using `foo.-@bar` 360s registers an offense when using `foo./ bar` 360s registers an offense when using `foo.%(bar)` 360s registers an offense when chaining `foo.bar.==(baz).round(2)` 360s registers an offense when using `foo.~(bar)` 360s registers an offense when using `foo.< bar` 360s registers an offense when using `foo.!~ bar` 360s does not register an offense when using `foo.!@bar` 360s does not register an offense when using `foo !~ bar` 360s does not register an offense when using `foo << bar` 360s registers an offense when chaining `foo.bar.*(baz).round(2)` 360s registers an offense when using `foo.=~(bar)` 360s does not register an offense when using `foo === bar` 360s registers an offense when using `foo.!= bar` 360s registers an offense when chaining `foo.bar.^(baz).round(2)` 360s does not register an offense when using `foo | bar` 360s registers an offense when using `foo.<=(bar)` 360s does not register an offense when using `foo > bar` 360s registers an offense when chaining `foo.bar.**(baz).round(2)` 360s registers an offense when using `foo.<(bar)` 360s does not register an offense when using `foo != bar` 360s does not register an offense when using `foo.`bar` 360s does not register an offense when using `foo ! bar` 360s registers an offense when chaining `foo.bar.<=>(baz).round(2)` 360s registers an offense when using `foo.!~(bar)` 360s registers an offense when using `foo.- bar` 360s registers an offense when using `foo.!=(bar)` 360s does not register an offense when using `foo >= bar` 360s registers an offense when chaining `foo.bar.<=(baz).round(2)` 360s registers an offense when using `foo.<=> bar` 360s registers an offense when using `foo.&(bar)` 360s registers an offense when using `foo.-(bar)` 360s registers an offense when chaining `foo.bar.!=(baz).round(2)` 360s registers an offense when chaining `foo.bar.+(baz).round(2)` 360s does not register an offense when using `foo < bar` 360s registers an offense when chaining `foo.bar.>=(baz).round(2)` 360s registers an offense when using `foo.|(bar)` 360s registers an offense when using `foo.* bar` 360s does not register an offense when using `foo.+@bar` 360s registers an offense when chaining `foo.bar.&(baz).round(2)` 360s registers an offense when using `foo.& bar` 360s registers an offense when using `foo.+ bar` 360s does not register an offense when using `foo * bar` 360s does not register an offense when using `obj.!` 360s registers an offense when using `foo.=~ bar` 360s registers an offense when using `foo.==(bar)` 360s does not register an offense when using `foo =~ bar` 360s registers an offense when using `foo.^ bar` 360s registers an offense when using `foo.** bar` 360s registers an offense when using `foo.<=>(bar)` 360s does not register an offense when using `foo ** bar` 360s does not register an offense when using `foo <=> bar` 360s registers an offense when using `foo.>>(bar)` 360s does not register an offense when using `foo - bar` 360s does not register an offense when using `foo <= bar` 360s registers an offense when using `foo.<= bar` 360s does not register an offense when using `foo ^ bar` 360s registers an offense when using `foo.<< bar` 360s does not register an offense when using `Foo.+(bar)` 360s registers an offense when chaining `foo.bar.~(baz).round(2)` 360s registers an offense when chaining `foo.bar.!~(baz).round(2)` 360s does not register an offense when using `foo.+@bar.to_s` 360s does not register an offense when using `foo % bar` 360s registers an offense when using `foo.!(bar)` 360s registers an offense when using `foo.>=(bar)` 360s registers an offense when using `foo.<<(bar)` 360s registers an offense when using `foo.^(bar)` 360s registers an offense when using `foo.+(bar)` 360s registers an offense when using `foo.>(bar)` 360s registers an offense when using `foo.== bar` 360s registers an offense when using `foo.*(bar)` 360s registers an offense when chaining `foo.bar.!(baz).round(2)` 360s 360s RuboCop::Cop::Layout::SpaceAfterComma 360s block argument commas without space 360s behaves like trailing comma 360s accepts the last comma 360s behaves like ends with an item 360s registers an offense and does autocorrection 360s inside hash braces 360s when EnforcedStyle for SpaceInsideBlockBraces is no_space 360s accepts no space between a comma and a closing brace 360s behaves like common behavior 360s accepts a space between a comma and a closing brace 360s when EnforcedStyle for SpaceInsideBlockBraces is space 360s registers an offense for no space between a comma and a closing brace 360s behaves like common behavior 360s accepts a space between a comma and a closing brace 360s method call arg commas without space 360s behaves like ends with an item 360s registers an offense and does autocorrection 360s array index commas without space 360s behaves like trailing comma 360s accepts the last comma 360s behaves like ends with an item 360s registers an offense and does autocorrection 360s 360s RuboCop::Cop::Lint::NestedPercentLiteral 360s registers no offense for percents in the middle of literals 360s registers offense for multiply nested percent literals 360s registers no offense for percent modifier character in isolation 360s registers offense for nested percent literals 360s registers no offense for empty array 360s registers no offense for nestings under percent 360s registers no offense for array 360s registers offense for repeated nested percent literals 360s when handling invalid UTF8 byte sequence 360s registers no offense for array 360s registers offense for nested percent literal 360s 360s RuboCop::Cop::Style::QuotedSymbols 360s configured with `double_quotes` 360s behaves like enforce double quotes 360s accepts double quotes with line breaks 360s accepts double quotes with interpolation 360s registers an offense for single quotes 360s accepts single quotes with line breaks 360s accepts single quotes with double quotes 360s registers an offense and corrects for an escaped quote within single quotes 360s accepts double quotes 360s accepts double quotes when interpolating a class variable 360s accepts double quotes when interpolating a global variable 360s accepts unquoted symbols 360s accepts double quotes when interpolating an instance variable 360s accepts double quoted symbol with an escaped quote 360s accepts double quotes with escape sequences 360s registers an offense and corrects escape characters properly 360s accepts double quotes with single quotes 360s hash with hashrocket style 360s corrects wrong quotes 360s accepts properly quoted symbols 360s configured with `single_quotes` 360s behaves like enforce single quotes 360s accepts double quotes with interpolation 360s accepts double quotes with line breaks 360s accepts single quotes 360s accepts single quotes with line breaks 360s registers an offense and corrects for an escaped quote within double quotes 360s accepts double quotes with some other special symbols 360s accepts double quotes with escape sequences 360s accepts double quotes when interpolating an instance variable 360s registers an offense and corrects for double quotes in hash keys 360s accepts unquoted symbols 360s accepts single quotes with double quotes 360s accepts double quotes when interpolating a class variable 360s accepts double quotes when unicode control sequence is used 360s registers an offense and corrects for double quotes without interpolation 360s accepts double quotes when control characters are used 360s accepts double quotes when interpolating a global variable 360s accepts single quoted symbol with an escaped quote 360s accepts double quotes with single quotes 360s registers an offense and corrects escape characters properly 360s hash with hashrocket style 360s corrects wrong quotes 360s accepts properly quoted symbols 360s configured with `same_as_string_literals` 360s when Style/StringLiterals is configured with double_quotes 360s behaves like enforce double quotes 360s accepts double quotes with interpolation 360s accepts double quotes when interpolating an instance variable 360s accepts double quotes with single quotes 360s accepts double quotes 360s accepts double quotes when interpolating a global variable 360s accepts single quotes with line breaks 360s registers an offense for single quotes 360s accepts double quoted symbol with an escaped quote 360s accepts double quotes when interpolating a class variable 360s accepts double quotes with escape sequences 360s accepts single quotes with double quotes 360s accepts double quotes with line breaks 360s accepts unquoted symbols 360s registers an offense and corrects for an escaped quote within single quotes 360s registers an offense and corrects escape characters properly 360s hash with hashrocket style 360s accepts properly quoted symbols 360s corrects wrong quotes 360s when Style/StringLiterals is configured with single_quotes 360s behaves like enforce single quotes 360s accepts single quotes with double quotes 360s accepts single quoted symbol with an escaped quote 360s registers an offense and corrects for double quotes without interpolation 360s registers an offense and corrects escape characters properly 360s accepts unquoted symbols 360s registers an offense and corrects for an escaped quote within double quotes 360s accepts double quotes with single quotes 360s accepts double quotes with escape sequences 360s accepts single quotes 360s accepts single quotes with line breaks 360s accepts double quotes with interpolation 360s accepts double quotes with line breaks 360s accepts double quotes with some other special symbols 360s registers an offense and corrects for double quotes in hash keys 360s accepts double quotes when interpolating an instance variable 360s accepts double quotes when interpolating a global variable 360s accepts double quotes when control characters are used 360s accepts double quotes when unicode control sequence is used 360s accepts double quotes when interpolating a class variable 360s hash with hashrocket style 360s accepts properly quoted symbols 360s corrects wrong quotes 360s when Style/StringLiterals is disabled 360s behaves like enforce single quotes 360s accepts double quotes when control characters are used 360s accepts double quotes when interpolating a class variable 360s registers an offense and corrects for double quotes without interpolation 360s accepts unquoted symbols 360s accepts double quotes when interpolating a global variable 360s accepts single quotes with double quotes 360s accepts double quotes when unicode control sequence is used 360s accepts double quotes with line breaks 360s accepts double quotes when interpolating an instance variable 360s accepts double quotes with some other special symbols 360s registers an offense and corrects escape characters properly 360s accepts double quotes with interpolation 360s accepts double quotes with escape sequences 360s accepts single quoted symbol with an escaped quote 360s registers an offense and corrects for double quotes in hash keys 360s accepts single quotes 360s accepts double quotes with single quotes 360s accepts single quotes with line breaks 360s registers an offense and corrects for an escaped quote within double quotes 360s hash with hashrocket style 360s accepts properly quoted symbols 360s corrects wrong quotes 360s 360s RuboCop::CLI --auto-gen-config 360s --auto-gen-config 361s can generate a todo list 361s generates Exclude if no EnforcedStyle solves all offenses 361s generates EnforcedStyle parameter if it solves all offenses 361s does not include a timestamp when --no-auto-gen-timestamp is used 361s generates Exclude instead of Max when --auto-gen-only-exclude is used 361s can be called when there are no files to inspection 361s honors rubocop:disable comments 362s overwrites an existing todo file 362s includes --auto-gen-only-exclude in the command comment when given 362s generates a todo list that removes the reports 362s does not include offense counts when --no-offense-counts is used 362s can generate Exclude properties with a given limit 363s does not generate configuration for the Syntax cop 363s when .rubocop.yml does not exist 363s bases other cops' configuration on the code base's current maximum line length 363s when .rubocop.yml inherits only from .rubocop_todo.yml in an array 363s bases other cops' configuration on the code base's current maximum line length 363s when .rubocop.yml inherits from another file 363s bases other cops' configuration on the code base's current maximum line length 363s when .rubocop.yml inherits from another file and .rubocop_todo.yml 363s bases other cops' configuration on the code base's current maximum line length 363s when duplicated default configuration parameter 364s parameters are displayed without duplication 364s when .rubocop.yml is empty 364s bases other cops' configuration on the code base's current maximum line length 364s when .rubocop.yml inherits only from .rubocop_todo.yml 364s bases other cops' configuration on the code base's current maximum line length 364s when --config is used 365s can generate a todo list if default .rubocop.yml exists 365s can generate a todo list 365s when --no-exclude-limit is given 365s always prefers Exclude to Enabled 365s when hash value omission enabled 365s generates Exclude if it solves all offenses 365s when existing config file has a YAML document start header 366s inserts `inherit_from` key after hearder 366s console output 366s displays report summary but no offenses 366s when working in a subdirectory 366s can generate a todo list 366s when .rubocop.yml doesn't inherit 366s bases other cops' configuration on the code base's current maximum line length 366s when cop is not safe to autocorrect 366s can generate a todo list, with the appropriate flag 366s when inheriting from a URL 366s when there is a single entry 367s can generate a todo list 367s when there are multiple entries 367s can generate a todo list 367s for existing configuration with Exclude 367s leaves out Excludes that appear in .rubocop.yml but are merged for the cop 368s generates Excludes that appear in .rubocop.yml 368s leaves out Excludes that appear in .rubocop.yml but are merged globally 368s when working with a cop who do not support autocorrection 369s can generate a todo list 369s when different styles appear in different files 369s disables cop if --exclude-limit is exceeded 369s generates Exclude list if --exclude-limit is not exceeded 369s when .rubocop.yml inherits from two other files 369s bases other cops' configuration on the code base's current maximum line length 369s with Layout/LineLength:Max overridden 369s when .rubocop.yml has Layout/LineLength:Max less than code base max 369s bases other cops' configuration on the overridden LineLength:Max 369s when .rubocop.yml has Layout/LineLength disabled 370s skips the cop from both phases of the run 370s when .rubocop.yml has Layout/LineLength:Max more than code base max 370s bases other cops' configuration on the overridden LineLength:Max 370s 370s RuboCop::Formatter::ProgressFormatter 370s #file_finished 370s when any offenses are detected 370s calls #report_as_with_mark 370s when no offenses are detected 370s calls #report_as_with_mark 370s #report_file_as_mark 370s when a refactor convention offense is detected 370s prints "C" 370s when different severity offenses are detected 370s prints highest level mark 370s when a refactor severity offense is detected 370s prints "R" 370s when no offenses are detected 370s prints "." 370s #finished 370s calls #report_summary 370s when any offenses are detected 370s reports all detected offenses for all failed files 370s when no offenses are detected 370s does not report offenses 370s 370s RuboCop::Cop::Lint::FloatComparison 370s does not register an offense when comparing with float using epsilon 370s does not register an offense when comparing with float method that can return numeric and returns integer 370s registers an offense when comparing with float 370s registers an offense when comparing with arightmetic operator on floats 370s registers an offense when comparing with float returning method 370s registers an offense when comparing with float method that can return numeric and returns float 370s registers an offense when comparing with method on float receiver 370s 370s RuboCop::Cop::Bundler::InsecureProtocolSource 370s registers an offense when using `source :gemcutter` 370s registers an offense when using `source :rubygems` 370s registers an offense when using `source :rubyforge` 370s does not register an offense when using `source 'https://rubygems.org'` 370s when `AllowHttpProtocol: false` 370s registers an offense when using `source 'http://rubygems.org'` 370s when `AllowHttpProtocol: true` 370s does not register an offense when using `source 'http://rubygems.org'` 370s 370s RuboCop::Cop::Lint::EmptyInterpolation 370s finds interpolations in string-like contexts 370s accepts non-empty interpolation 370s registers an offense and corrects #{} in interpolation 370s registers an offense and corrects #{ } in interpolation 370s 370s RuboCop::Cop::Style::StringChars 370s registers and corrects an offense when using `split(//)` 370s does not register an offense when using `chars` 370s registers and corrects an offense when using `split('')` 370s does not register an offense when using `split` 370s does not register an offense when using `split(/ /)` 370s registers and corrects an offense when using `split("")` 370s registers and corrects an offense when using `split` without parentheses 370s 370s RuboCop::Cop::Lint::RedundantWithObject 370s registers an offense and corrects when using `ary.each_with_object { |v| v }` 370s registers an offense and corrects when using ary.each_with_object([]) do-end block 370s registers an offense and corrects when using ary.each_with_object do-end block without parentheses 370s an object is used as a block argument 370s registers an offense and corrects when using `ary.each.with_object([]) { |v| v }` 370s Ruby 2.7 370s registers an offense and corrects when using `ary.each.with_object([]) { _1 }` 370s registers an offense and corrects when using `ary.each_with_object { _1 }` 370s when missing argument to `each_with_object` 370s does not register an offense when block has 2 arguments 370s does not register an offense when block has 1 argument 370s 370s RuboCop::Cop::Style::DocumentDynamicEvalDefinition 370s does not register an offense when using eval-type method with string interpolation with comment docs 370s does not register an offense when using eval-type method with interpolated string that is not heredoc with comment doc 370s registers an offense when using eval-type method with string interpolation without comment docs 370s does not register an offense when using eval-type method without string interpolation 370s registers an offense when using eval-type method with interpolated string that is not heredoc without comment doc 370s block comment in heredoc 370s does not evaluate comments if there is no interpolation 370s does not register an offense when using multiple methods with split comments 370s does not register an offense when using multiple methods 370s does not register an offense for a matching block comment 370s registers an offense if the comment does not match the method 370s does not register an offense when using other text 370s does not register an offense when using inline comments 370s block comment outside heredoc 370s does not register an offense when using inline comments 370s does not register an offense when using multiple methods 370s does not register an offense for a matching block comment before the heredoc 370s does not register an offense for a matching block comment after the heredoc 370s does not register an offense when using other text 370s registers an offense if the comment does not match the method 370s 370s RuboCop::Cop::Style::MultipleComparison 370s registers an offense and corrects when `a` is compared three times 370s does not register an offense when comparing two sides of the disjunction is unrelated 370s does not register an offense for comparing multiple literal strings 370s registers an offense and corrects when `a` is compared three times on the right hand side 370s does not register an offense for Array#include? 370s does not register an offense for comparing lvars when a string is on the lefthand side 370s does not register an offense for a == b || b == a 370s registers an offense and corrects when `a` is compared twice in `if` and `elsif` conditions 370s does not register an offense for comparing an lvar 370s registers an offense and corrects when `a` is compared three times, once on the righthand side 370s registers an offense and corrects when `a` is compared twice 370s does not register an offense for a duplicated condition 370s does not register an offense for comparing multiple int literals 370s registers an offense and corrects when multiple comparison is not part of a conditional 370s does not register an offense for comparing lvars 370s when `AllowMethodComparison: true` 370s does not register an offense when using multiple method calls 370s when `AllowMethodComparison: false` 370s registers an offense and corrects when using multiple method calls 370s 370s RuboCop::Cop::Naming::HeredocDelimiterNaming 370s with a non-interpolated heredoc 370s when using double quoted delimiters 370s does not register an offense with a meaningful delimiter 370s registers an offense with a non-meaningful delimiter 370s when using non-word delimiters 370s registers an offense 370s when using back tick delimiters 370s registers an offense with a non-meaningful delimiter 370s does not register an offense with a meaningful delimiter 370s when using single quoted delimiters 370s does not register an offense with a meaningful delimiter 370s registers an offense with a non-meaningful delimiter 370s when the delimiter contains non-letter characters 370s does not register an offense when delimiter contains a number 370s does not register an offense when delimiter contains an underscore 370s with a naked heredoc 370s does not register an offense with a meaningful delimiter 370s registers an offense with a non-meaningful delimiter 370s with multiple heredocs starting on the same line 370s registers an offense with a leading non-meaningful delimiter 370s does not register an offense with meaningful delimiters 370s registers an offense with a trailing non-meaningful delimiter 370s with an interpolated heredoc 370s registers an offense with a non-meaningful delimiter 370s does not register an offense with a meaningful delimiter 370s with a squiggly heredoc 370s registers an offense with a non-meaningful delimiter 370s does not register an offense with a meaningful delimiter 370s 370s RuboCop::Cop::Style::ArrayJoin 370s autocorrects '*' to 'join' when setting to a variable 370s does not register an offense for ambiguous cases 370s registers an offense for an array followed by string 370s autocorrects '*' to 'join' when there are no spaces 370s does not register an offense for numbers 370s 370s RuboCop::Cop::Style::SymbolProc 370s does not register an offense when receiver is a hash literal and using `reject` with a block 370s does not register an offense when receiver is a hash literal and using `select` with a block 370s accepts block with no arguments 370s registers an offense when receiver is a hash literal and using `min` with a block 370s accepts block with more than 1 expression in body 370s registers an offense when receiver is a hash literal and using `max` with a block 370s accepts empty block body 370s registers an offense for a block with parameterless method call on param 370s autocorrects multiple aliases with symbols as proc 370s accepts block with splat params 370s accepts block with adding a comma after the sole argument 370s accepts block with a block argument 370s registers an offense for a block when method in body is unary -/+ 370s registers an offense when receiver is an array literal and using `select` with a block 370s does not register an offense when receiver is a array literal and using `max` with a block 370s accepts ::Proc.new with 1 argument 370s accepts a block with an unused argument with an method call 370s registers an offense when receiver is an array literal and using `reject` with a block 370s does not register an offense when receiver is a array literal and using `min` with a block 370s registers an offense for safe navigation operator 370s accepts lambda with 1 argument 370s registers an offense when receiver is some value and using `select` with a block 370s accepts block with more than 1 arguments 370s accepts a block with an unused argument with an lvar 370s does not crash with a bare method call 370s autocorrects correctly when there are no arguments in parentheses 370s accepts Proc.new with 1 argument 370s autocorrects correctly when args have a trailing comma 370s registers an offense when receiver is some value and using `reject` with a block 370s accepts proc with 1 argument 370s accepts block when method in body is not called on block arg 370s when AllowedMethods is enabled 370s accepts ignored method 370s AllowComments: true 370s accepts block with parameterless method call on param and contains a comment 370s registers an offense for a block with parameterless method call on paramand not contains a comment 370s when the method has arguments 370s registers an offense 370s when `super` has no arguments 370s registers an offense 370s when `AllowMethodsWithArguments: true` 370s when `super` has arguments 370s does not register an offense 370s when method has arguments 370s does not register an offense 370s when method has no arguments 370s registers an offense 370s when AllowedPatterns is enabled 370s accepts ignored method 370s when `AllowMethodsWithArguments: false` 370s when `super` has arguments 370s registers an offense 370s when method has arguments 370s registers an offense 370s numblocks 370s registers an offense when receiver is an hash literal and using `min` with a numblock 370s accepts block with only second numbered parameter 370s accepts block with multiple numbered parameters 370s does not register an offense when receiver is a hash literal and using `reject` with a numblock 370s does not register an offense when receiver is a array literal and using `max` with a numblock 370s registers an offense when receiver is an array literal and using `select` with a numblock 370s registers an offense when receiver is some value and using `reject` with a numblock 370s does not register an offense when receiver is a hash literal and using `select` with a numblock 370s registers an offense for a block with a numbered parameter 370s does not register an offense when receiver is a array literal and using `min` with a numblock 370s accepts Proc.new with 1 numbered parameter 370s accepts ::Proc.new with 1 numbered parameter 370s registers an offense when receiver is an array literal and using `reject` with a numblock 370s accepts lambda with 1 numbered parameter 370s registers an offense when receiver is some value and using `select` with a numblock 370s accepts proc with 1 numbered parameter 370s registers an offense when receiver is an hash literal and using `max` with a numblock 370s 370s RuboCop::Cop::Layout::IndentationStyle 370s when EnforcedStyle is tabs 370s registers and corrects an offense for a line indented with space 370s accepts a line which begins with tab in a multiline heredoc 371s registers offenses before __END__ but not after 371s accepts a line which begins with tab in a string 371s accepts a line a tab other than indentation 371s accepts a line with tabs between string literals 371s registers and corrects an offense for a line indented with fractional number ofindentation groups by rounding down 371s registers an offense for a line indented with mixed whitespace 371s accepts a line which begins with tab in a heredoc 371s registers and corrects an offense for a line with tab in a string indented with space 371s registers and corrects an offense for a line indented with multiple spaces 371s accepts a line with tab in a string 371s custom indentation width 371s uses the configured number of spaces to replace with a tab 371s when EnforcedStyle is spaces 371s registers and corrects an offense for a line indented with mixed whitespaces 371s accepts a line which begins with tab in a multiline heredoc 371s accepts a line with tab in a string 371s accepts a line which begins with tab in a string 371s accepts a line with a tab between string literals 371s accepts a line with a tab other than indentation 371s accepts a line which begins with tab in a heredoc 371s registers offenses before __END__ but not after 371s registers and corrects an offense for a line indented with multiple tabs 371s registers and corrects an offense for a line indented with tab 371s registers and corrects an offense for a line with tab in a string indented with tab 371s custom indentation width 371s uses the configured number of spaces to replace a tab 371s 371s RuboCop::Cop::Style::MultilineIfThen 371s does not get confused by a nested postfix unless 371s registers an offense for then in multiline elsif 371s does not get confused by a then in a when 371s does not get confused by empty elsif branch 371s accepts table style if/then/elsif/ends 371s does not get confused by a postfix unless 371s registers an offense for then in multiline unless 371s does not raise an error for an implicit match unless 371s does not get confused by a commented-out then 371s does not raise an error for an implicit match if 371s registers an offense for then in multiline if 371s 371s RuboCop::Cop::Naming::MethodParameterName 371s registers offense for offensive default parameter 371s does not register offense for valid default parameters 371s registers offense when parameter contains uppercase characters 371s can register multiple offenses in one method definition 371s registers offense for offensive keyword parameters 371s does not register offense for empty kwrestarg 371s registers offense when parameter ends in number on class method 371s does not register offense for valid parameter names on self.method 371s does not register offense for empty restarg 371s registers offense when parameter ends in number 371s registers offense when parameter is less than minimum length 371s does not register offense for valid keyword parameters 371s does not register for method without parameters 371s does not register offense for valid parameter names 371s registers offense when parameter with prefix is less than minimum length 371s with AllowedNames 371s registers unlisted offensive names 371s accepts underscore param names 371s accepts specified block param names 371s accepts param names prefixed with underscore 371s with AllowNamesEndingInNumbers 371s accept parameters that end in numbers 371s with ForbiddenNames 371s accepts parameter that uses a forbidden name's letters 371s registers offense for parameter listed as forbidden 371s when using argument forwarding 371s does not register an offense 371s 371s RuboCop::Cop::Naming::MethodName 371s accepts for non-ascii characters 371s when configured for camelCase 371s accepts class emitter method in a class 371s registers an offense for snake case name in attr. 371s registers an offense for mixed snake case and camel case in attr. 371s registers an offense for capitalized camel case 371s registers an offense for correct + opposite 371s registers an offense for singleton upper case method without corresponding class 371s accepts unary operator definitions 371s accepts operator definitions 371s accepts camel case in instance method name 371s accepts class emitter method in a class, even when it is defined inside another method 371s registers an offense for camel case methods names in attr. 371s registers an offense for capitalized camel case name in attr. 371s registers an offense for mixed snake case and camel case 371s accepts one line methods 371s accepts camel case in singleton method name 371s accepts camel case names in attr. 371s accepts class emitter method in a module 371s registers an offense for snake case in names 371s registers an offense for mixed snake case and camel case in attr. 371s accepts class emitter method in a module, even when it is defined inside another method 371s registers an offense for singleton snake_case method within class 371s when specifying `AllowedPatterns` 371s does not register an offense for camel case method name matching `AllowedPatterns` 371s does not register an offense for camel case method name in attr. 371s does not register an offense for snake case method name in attr. 371s does not register an offense for snake case method name matching `AllowedPatterns` 371s when configured for snake_case 371s registers an offense for singleton camelCase method within class 371s registers an offense for capitalized camel case 371s registers an offense for camel case in singleton method name 371s registers an offense for singleton upper case method without corresponding class 371s registers an offense for capitalized camel case name in attr. 371s accepts class emitter method in a module 371s registers an offense for mixed snake case and camel case in attr. 371s accepts one line methods 371s registers an offense for camel case methods names in attr. 371s accepts class emitter method in a class 371s registers an offense for mixed snake case and camel case 371s registers an offense for camel case method names in attr. 371s accepts snake case in names 371s accepts snake case in attr. 371s registers an offense for opposite + correct 371s registers an offense for camel case in instance method name 371s accepts class emitter method in a module, even when it is defined inside another method 371s accepts operator definitions 371s accepts class emitter method in a class, even when it is defined inside another method 371s accepts unary operator definitions 371s registers an offense for mixed snake case and camel case in attr. 371s when specifying `AllowedPatterns` 371s does not register an offense for camel case method name in attr. 371s does not register an offense for camel case method name matching `AllowedPatterns` 371s does not register an offense for snake case method name in attr. 371s does not register an offense for snake case method name matching `AllowedPatterns` 371s 371s RuboCop::Cop::Layout::EndAlignment 371s accepts matching if ... end 371s registers an offense for mismatched puts 1; unless test end and autocorrects 371s registers an offense for mismatched while test end and autocorrects 371s registers an offense for mismatched module Test end and autocorrects 371s can handle modifier if 371s accepts matching class ... end 371s accepts matching puts 1; while ... end 371s accepts matching puts 1; until ... end 371s registers an offense for mismatched puts 1; if test end and autocorrects 371s accepts matching while ... end 371s accepts matching case ... end 371s accepts matching puts 1; unless ... end 371s accepts matching puts 1; case ... end 371s registers an offense for mismatched puts 1; until test end and autocorrects 371s can handle ternary if 371s accepts matching puts 1; if ... end 371s registers an offense for mismatched puts 1; class Test end and autocorrects 371s accepts matching puts 1; class ... end 371s accepts matching unless ... end 371s registers an offense for mismatched case a when b end and autocorrects 371s registers an offense for mismatched module Test end and autocorrects 371s registers an offense for mismatched puts 1; while test end and autocorrects 371s accepts matching puts 1; module ... end 371s registers an offense for mismatched if test end and autocorrects 371s registers an offense for mismatched puts 1; case a when b end and autocorrects 371s registers an offense for mismatched until test end and autocorrects 371s registers an offense for mismatched unless test end and autocorrects 371s accepts matching until ... end 371s registers an offense for mismatched puts 1; class Test end and autocorrects 371s accepts matching module ... end 371s accepts matching class ... end 371s case as argument 371s when EnforcedStyleAlignWith is start_of_line 371s registers an offense for mismatched test case a when b end and autocorrects 371s accepts matching test case a when b ... end 371s when EnforcedStyleAlignWith is keyword 371s registers an offense for mismatched test case a when b end and autocorrects 371s accepts matching test case ... end 371s when EnforcedStyleAlignWith is variable 371s registers an offense for mismatched test case a when b end and autocorrects 371s accepts matching test case ... end 371s when end is preceded by something else than whitespace 371s does not register an offense 371s when EnforcedStyleAlignWith is start_of_line 371s accepts matching puts 1; if ... end 371s registers an offense for mismatched puts 1; module Test end and autocorrects 371s registers an offense for mismatched var = case a when b end and autocorrects 371s accepts matching var = if ... end 371s registers an offense for mismatched puts(if test end) and autocorrects 371s registers an offense for mismatched unless test end and autocorrects 371s registers an offense for mismatched var << unless test end and autocorrects 371s accepts matching puts 1; until ... end 371s registers an offense for mismatched case a when b end and autocorrects 371s registers an offense for mismatched var = while test end and autocorrects 371s accepts matching var = if ... end 371s registers an offense for mismatched puts 1; case a when b end and autocorrects 371s accepts matching var = case ... end 371s accepts matching var = until ... end 371s registers an offense for mismatched var = unless test end and autocorrects 371s registers an offense for mismatched module Test end and autocorrects 371s accepts matching var = unless ... end 371s registers an offense for mismatched puts 1; class Test end and autocorrects 371s registers an offense for mismatched var = if test end and autocorrects 371s registers an offense for mismatched var << case a when b end and autocorrects 371s accepts matching puts 1; module ... end 371s accepts matching var << while ... end 371s registers an offense for mismatched class Test end and autocorrects 371s registers an offense for mismatched var << if test end and autocorrects 371s registers an offense for mismatched var = if test end and autocorrects 371s registers an offense for mismatched puts 1; until test end and autocorrects 371s registers an offense for mismatched puts 1; unless test end and autocorrects 371s accepts matching var = while ... end 371s registers an offense for mismatched puts 1; if test end and autocorrects 371s registers an offense for mismatched puts 1; while test end and autocorrects 371s accepts matching puts 1; class ... end 371s registers an offense for mismatched var << until test end and autocorrects 371s registers an offense for mismatched var = until test end and autocorrects 371s accepts matching puts 1; case ... end 371s registers an offense for mismatched var << while test end and autocorrects 371s registers an offense for mismatched until test end and autocorrects 371s registers an offense for mismatched while test end and autocorrects 371s registers an offense for mismatched if test end and autocorrects 371s accepts matching puts 1; unless ... end 371s accepts matching puts 1; while ... end 371s when EnforcedStyleAlignWith is variable 371s accepts matching unless ... end 371s accepts matching puts 1; case ... end 371s registers an offense for mismatched puts 1; class Test end and autocorrects 371s registers an offense for mismatched module Test end and autocorrects 371s registers an offense for mismatched puts 1; case a when b end and autocorrects 371s registers an offense for mismatched puts 1; while test end and autocorrects 371s registers an offense for mismatched class Test end and autocorrects 371s accepts matching puts 1; unless ... end 371s accepts matching until ... end 371s accepts matching case ... end 371s register an offense when using a conditional statement in a method argument and `end` is not aligned 371s registers an offense for mismatched puts 1; if test end and autocorrects 371s accepts matching puts 1; if ... end 371s register an offense when using `+` operator method and `end` is not aligned 371s accepts matching puts 1; module ... end 371s register an offense when using `-` operator method and `end` is not aligned 371s registers an offense for mismatched case a when b end and autocorrects 371s registers an offense for mismatched until test end and autocorrects 371s registers an offense for mismatched puts 1; unless test end and autocorrects 371s registers an offense for mismatched while test end and autocorrects 371s accepts matching while ... end 371s registers an offense for mismatched unless test end and autocorrects 371s accepts matching if ... end 371s accepts matching puts 1; class ... end 371s registers an offense for mismatched puts 1; module Test end and autocorrects 371s registers an offense for mismatched puts 1; until test end and autocorrects 371s accepts matching class ... end 371s accepts matching module ... end 371s accepts matching puts 1; while ... end 371s registers an offense for mismatched if test end and autocorrects 371s accepts matching puts 1; until ... end 371s regarding assignment 371s when EnforcedStyleAlignWith is variable 371s accepts matching var = if ... end 371s registers an offense for mismatched var << if test end and autocorrects 371s registers an offense for mismatched h[k] << if test end and autocorrects 371s accepts matching var = until ... end 371s registers an offense for mismatched @@var << if test end and autocorrects 371s registers an offense for mismatched var = if test end and autocorrects 371s accepts matching CNST = if ... end 371s registers an offense for mismatched @var << if test end and autocorrects 371s registers an offense for mismatched $var = if test end and autocorrects 371s registers an offense for mismatched var = unless test end and autocorrects 371s accepts matching var = if ... end 371s accepts matching var += if ... end 371s registers an offense for mismatched var = case a when b end and autocorrects 371s registers an offense for mismatched var = while test end and autocorrects 371s registers an offense for mismatched CNST = if test end and autocorrects 371s accepts matching var = case ... end 371s registers an offense for mismatched var += if test end and autocorrects 371s registers an offense for mismatched h.k = if test end and autocorrects 371s registers an offense for mismatched var ||= if test end and autocorrects 371s registers an offense for mismatched var[x] = while test end and autocorrects 371s accepts matching var &&= if ... end 371s registers an offense for mismatched var &&= if test end and autocorrects 371s accepts matching h.k = if ... end 371s accepts matching $var = if ... end 371s registers an offense for mismatched @var = if test end and autocorrects 371s accepts matching var = until ... end 371s registers an offense for mismatched var << unless test end and autocorrects 371s accepts matching @var = if ... end 371s registers an offense for mismatched var << case a when b end and autocorrects 371s registers an offense for mismatched var = until test do_something end and autocorrects 371s registers an offense for mismatched @@var = if test end and autocorrects 371s registers an offense for mismatched var = until test end.j and autocorrects 371s accepts matching var = until ... end 371s registers an offense for mismatched var = if test end and autocorrects 371s accepts matching var ||= if ... end 371s registers an offense for mismatched a, b = if test end and autocorrects 371s registers an offense for mismatched h[k] = if test end and autocorrects 371s accepts matching var = while ... end 371s registers an offense for mismatched $var << if test end and autocorrects 371s accepts matching @@var = if ... end 371s registers an offense for mismatched CNST << if test end and autocorrects 371s accepts matching var = unless ... end 371s accepts matching a, b = if ... end 371s registers an offense for mismatched var << until test end and autocorrects 371s registers an offense for mismatched var = unless test end and autocorrects 371s registers an offense for mismatched var = until test end and autocorrects 371s accepts matching h[k] = if ... end 371s registers an offense for mismatched var = # comment while test end and autocorrects 371s accepts matching var << if ... end 371s when EnforcedStyleAlignWith is keyword 372s registers an offense for mismatched var = unless test end and autocorrects 372s registers an offense for mismatched var = if test end and autocorrects 372s accepts matching var = unless ... end 372s accepts matching var = case ... end 372s registers an offense for mismatched var = until test end and autocorrects 372s accepts matching var = while ... end 372s accepts matching var[0] = case ... end 372s accepts matching var = until ... end 372s accepts matching var = if ... end 372s registers an offense for mismatched var << until test end and autocorrects 372s registers an offense for mismatched var = while test end and autocorrects 372s correct + opposite 372s registers an offense and corrects 372s 372s RuboCop::Cop::Metrics::Utils::AbcSizeCalculator 372s #calculate 372s with ||= on a constant 372s is expected to eq "<1, 0, 1>" 372s with .foo = 372s is expected to eq "<1, 2, 0>" 372s with &.foo 372s is expected to eq "<0, 4, 2>" 372s with repeated lvar receivers 372s is expected to eq "<3, 5, 3>" 372s same but with 7 arguments 372s is expected to eq "<9, 3, 0>" 372s with &&= 372s is expected to eq "<2, 0, 1>" 372s with a for 372s is expected to eq "<2, 1, 1>" 372s method with arguments 372s is expected to eq "<4, 0, 0>" 372s elsif vs else if 372s elsif 372s is expected to eq "<0, 5, 3>" 372s else if 372s is expected to eq "<0, 5, 4>" 372s if and arithmetic operations 372s is expected to eq "<2, 8, 4>" 372s with a known iterating block 372s is expected to eq "<2, 4, 2>" 372s with unused assignments 372s is expected to eq "<2, 1, 0>" 372s with a yield 372s is expected to eq "<0, 1, 0>" 372s when discounting repeated calls 372s when some calls have arguments 372s is expected to eq "<1, 7, 0>" 372s when root receiver is a var 372s is expected to eq "<3, 9, 0>" 372s when root receiver is self/nil 372s is expected to eq "<2, 9, 1>" 372s multiple calls with return 372s is expected to eq "<0, 3, 0>" 372s with += for setters 372s is expected to eq "<1, 2, 0>" 372s with ||= 372s is expected to eq "<2, 0, 1>" 372s when counting repeated calls 372s is expected to eq "<1, 4, 0>" 372s with += 372s is expected to eq "<2, 0, 0>" 372s with []= 372s is expected to eq "<2, 1, 0>" 372s same with extra condition 372s is expected to eq "<2, 9, 5>" 372s assignment with ternary operator 372s is expected to eq "<2, 6, 2>" 372s with a block 372s is expected to eq "<2, 3, 0>" 372s multiple assignment with method setters 372s is expected to eq "<3, 5, 0>" 372s equivalent to multiple assignment with method setters 372s is expected to eq "<3, 5, 0>" 372s multiple assignment 372s is expected to eq "<3, 1, 0>" 372s 372s RuboCop::Cop::Style::RedundantFetchBlock 372s with SafeForConstants: true 372s does not register an offense when using `#fetch` with interpolated Symbol in the block 372s does not register an offense when using `#fetch` with argument fallback 372s registers an offense and corrects when using `#fetch` with empty block 372s registers an offense and corrects when using `#fetch` with Integer in the block 372s registers an offense and corrects when using `#fetch` with Symbol in the block 372s does not register an offense when using `#fetch` with String in the block and strings are not frozen 372s does not register an offense when using `#fetch` with an argument in the block 372s does not register an offense when using `#fetch` with `Rails.cache` 372s registers an offense and corrects when using `#fetch` with Rational in the block 372s registers an offense and corrects when using `#fetch` with Complex in the block 372s registers an offense and corrects when using `#fetch` with String in the block and strings are frozen 372s registers an offense and corrects when using `#fetch` with Float in the block 372s registers an offense and corrects when using `#fetch` with constant in the block 372s with SafeForConstants: false 372s does not register an offense when using `#fetch` with constant in the block 372s 372s RuboCop::Cop::Style::IfUnlessModifierOfIfUnless 372s provides a good error message 372s nested conditionals 372s accepts 372s conditional with modifier 372s registers an offense and corrects 372s conditional with modifier in body 372s accepts 372s `unless` / `else` with modifier 372s registers an offense and corrects 372s ternary with modifier 372s registers an offense and corrects 372s 372s RuboCop::Server::CLI 372s when using `--stop-server` option 372s returns exit status 0 and display a warning message 372s when using multiple server options 372s returns exit status 2 and display an error message 372s when using `--server` option 372s returns exit status 0 and display an information message 372s when using exclusive `--start-server` option 372s returns exit status 2 and display an error message 372s when using server option with `--cache-root=path` option 372s returns exit status 0 and display an information message 372s when using exclusive `--restart-server` option 372s returns exit status 2 and display an error message 372s when not using any server options 372s returns exit status 0 372s when using server option with `--cache-root path` option 372s returns exit status 0 and display an error message 372s when using exclusive `--server-status` option 372s returns exit status 2 and display an error message 372s when not using any server options and specifying `--server` in `RUBOCOP_OPTS` environment variable 372s returns exit status 0 and display an information message 372s when using exclusive `--stop-server` option 372s returns exit status 2 and display an error message 372s when using `--restart-server` option 373s returns exit status 0 and display an information and a warning messages 373s when not using any server options and specifying `--server` in .rubocop file 373s returns exit status 0 and display an information message 373s when using `--start-server` option 373s returns exit status 0 and display an information message 373s when using `--no-server` option 373s returns exit status 0 373s when using `--server-status` option 373s returns exit status 0 and display an information message 373s 373s RuboCop::Cop::Style::MultilineTernaryOperator 373s register an offense and corrects when returning a multiline ternary operator expression with method call 373s register an offense and corrects when returning a multiline ternary operator expression with `next` 373s registers an offense and corrects when condition is multiline and using hash key assignment 373s registers an offense and corrects when condition is multiline 373s accepts a single line ternary operator expression 373s registers an offense and corrects when the false branch is on a separate line and assigning a return value 373s registers an offense and corrects when everything is on a separate line 373s registers an offense and corrects when condition is multiline and using assignment method 373s registers an offense and corrects when the false branch is on a separate line 373s register an offense and corrects when returning a multiline ternary operator expression with `break` 373s register an offense and corrects when returning a multiline ternary operator expression with `return` 373s registers offense and corrects when the if branch and the else branch are on a separate line from the condition 373s 373s RuboCop::Cop::Layout::BlockEndNewline 373s accepts a one-liner 373s registers an offense and corrects when a multiline block ends with a hash 373s registers an offense and corrects when multiline block `}` is not on its own line and using multiple heredoc arguments 373s registers an offense and corrects when multiline block `}` is not on its own line and using method chain 373s registers an offense and corrects when multiline block `}` is not on its own line 373s registers an offense and corrects when multiline block `}` is not on its own line and using heredoc argument with method chain 373s registers an offense and corrects when multiline block end is not on its own line 373s registers an offense and corrects when multiline block `}` is not on its own line and using multiple heredoc argument method chain 373s registers an offense and corrects when a multiline block ends with a method call with hash arguments 373s accepts multiline blocks with newlines before the end 373s registers an offense and corrects when multiline block `}` is not on its own line and using heredoc argument 373s registers an offense and corrects when `}` of multiline block without processing is not on its own line 373s Ruby 2.7 373s registers an offense and corrects when multiline block `}` is not on its own line and using heredoc argument 373s registers an offense and corrects when multiline block `}` is not on its own line and using method chain 373s 373s RuboCop::Cop::Style::RedundantReturn 373s reports an offense for def ending with return with splat argument 373s reports an offense for defs with only a return 373s autocorrects by removing redundant returns 373s does not blow up on empty method body 373s reports an offense for defs ending with return 373s reports an offense for def with only a return 373s reports an offense for def ending with return 373s does not blow up on empty if body 373s accepts return in a non-final position 373s when return has no arguments 373s behaves like common behavior 373s registers an offense for return() and autocorrects replacing return() with nil 373s behaves like common behavior 373s registers an offense for return and autocorrects replacing return with nil 373s when multi-value returns are allowed 373s accepts defs with only a return 373s accepts def with only a return 373s accepts def ending with return 373s accepts defs ending with return 373s when return is inside a when-branch 373s registers an offense and autocorrects 373s when return is inside begin-end body 373s registers an offense and autocorrects 373s when case nodes are empty 373s accepts empty when nodes 373s when rescue and return blocks present 373s registers an offense and autocorrects when inside function or rescue block 373s registers an offense and autocorrects when rescue has else clause 373s when multi-value returns are not allowed 373s reports an offense for defs ending with return 373s reports an offense for def ending with return 373s reports an offense for def with only a return 373s autocorrects by removing return when using an explicit hash 373s reports an offense for defs with only a return 373s reports an offense when multiple return values have a parenthesized return value 373s autocorrects by making an implicit hash explicit 373s when return is inside an if-branch 373s registers an offense and autocorrects 373s 373s RuboCop::Cop::Layout::LineContinuationLeadingSpace 373s EnforcedStyle: trailing 373s puts the offense message in correct position also on indented line 373s registers offense in the right location when 1st line is not the string 373s registers an offense when 2nd line has multiple leading spaces 373s marks the correct range when string is a block method argument 373s registers an offense when 2nd line has one leading space 373s registers offenses when 2nd and 3rd line has leading spaces 373s marks the correct range when string is a positional method argument 373s interpolated strings 374s registers no offense for correctly formatted multiline interpolation 374s registers an offense for incorrectly formatted multiline interpolated string 374s registers no offense on interpolated string alone 374s registers offenses when 2nd line has leading spaces and 1st line is interpolated 374s registers no offense on doubly interpolated string alone 374s registers no offense for correctly formatted multiline interpolated string 374s registers offenses when 2nd line has leading spaces and 2nd line is interpolated 374s EnforcedStyle: leading 374s registers an offense when 1st line has one trailing space 374s registers an offense when 1st line has multiple trailing spaces 374s marks the correct range when string is a positional method argument 374s registers offenses when 1st and 2nd line has trailing spaces 374s registers offense in the right location when 1st line is not the string 374s puts the offense message in correct position also on indented line 374s marks the correct range when string is a block method argument 374s interpolated strings 374s registers offenses when 1st line has trailing spaces and 2nd line is interpolated 374s registers no offense on interpolated string alone 374s registers an offense for incorrectly formatted multiline interpolated string 374s registers no offense for correctly formatted multiline interpolated string 374s registers offenses when 1st line has leading spaces and 1st line is interpolated 374s registers no offense on doubly interpolated string alone 374s registers no offense for correctly formatted multiline interpolation 374s 374s RuboCop::Cop::Style::HashSyntax 374s configured to accept both shorthand and explicit use of hash literal value 374s Ruby <= 3.0 374s does not register an offense when hash key and hash value are the same 374s Ruby >= 3.1 374s does not register an offense when hash key and hash value are the same 374s does not register an offense when hash key and hash value are partially the same 374s does not register an offense when hash key and hash value are not the same 374s does not register an offense when hash values are omitted 374s configured to enforce hash rockets style 374s registers an offense for mixed syntax 374s registers an offense for 1.9 style in method calls 374s accepts an empty hash 374s accepts hash rockets in method calls 374s registers offense for Ruby 1.9 style 374s accepts hash rockets in a hash literal 374s UseHashRocketsWithSymbolValues has no impact 374s does not register an offense when there is a symbol value 374s configured to disallow mixing of implicit and explicit hash literal value 374s Ruby <= 3.0 374s does not register an offense when all hash key and hash values are the same 374s Ruby >= 3.1 374s does not register an offense when all hash values are present, but no values can be omitted 374s does not register an offense when all hash values are present, but only some values can be omitted 374s does not register an offense when all hash values are omitted 374s registers an offense when all hash values are present, but can all be omitted 374s registers an offense when some hash values are omitted but they cannot all be omitted 374s registers an offense when some hash values are omitted but they can all be omitted 374s configured to enforce ruby 1.9 style with no mixed keys 374s UseHashRocketsWithSymbolValues disabled 374s accepts new syntax in method calls 374s accepts new syntax in a hash literal 374s registers an offense for mixed syntax when new is possible 374s accepts an empty hash 374s registers an offense when keys have special symbols in them 374s registers an offense for hash rockets in method calls 374s registers an offense when keys have whitespaces in them 374s accepts hash rockets when keys have different types 374s accepts new syntax when keys are interpolated string 374s registers offense for hash rocket syntax when new is possible 374s registers an offense when keys have different types and styles 374s registers an offense when keys start with a digit 374s ruby < 2.2 374s registers an offense when keys start with a digit and mix styles 374s accepts hash rockets when keys start with a digit 374s registers an offense when keys have special symbols and mix styles 374s registers an offense when keys have whitespaces and mix styles 374s accepts hash rockets when keys have special symbols in them 374s accepts hash rockets when keys have whitespaces in them 374s UseHashRocketsWithSymbolValues enabled 374s accepts new syntax in method calls 374s registers an offense when keys have special symbols in them 374s accepts hash rockets when keys have different types 374s registers an offense when keys have whitespaces in them 374s registers an offense when any element has a symbol value in method calls 374s accepts new syntax when keys are interpolated string 374s accepts new syntax in a hash literal 374s accepts an empty hash 374s registers an offense when any element uses a symbol for the value 374s registers an offense for mixed syntax when new is possible 374s autocorrects to hash rockets when all elements have symbol value 374s registers an offense when keys have different types and styles 374s registers an offense for hash rockets in method calls 374s registers offense for hash rocket syntax when new is possible 374s registers an offense when keys start with a digit 374s ruby < 2.2 374s registers an offense when keys start with a digit and mix styles 374s accepts hash rockets when keys have special symbols in them 374s registers an offense when keys have whitespaces and mix styles 374s accepts hash rockets when keys have whitespaces in them 374s accepts hash rockets when keys start with a digit 374s registers an offense when keys have special symbols and mix styles 374s configured to enforce explicit hash value syntax style 374s Ruby <= 3.0 374s does not register an offense when hash key and hash value are the same 374s Ruby >= 3.1 374s does not register an offense when hash key and hash value are the same 374s registers and corrects an offense when hash values are omitted 374s registers and corrects an offense when hash key and hash value are partially the same 374s does not register an offense when hash key and hash value are not the same 374s configured to enforce no mixed keys 374s accepts hash rockets when keys start with a digit 374s accepts old hash rockets style 374s accepts new syntax in method calls 374s accepts the hash rocket syntax when new is possible 374s accepts hash rockets when keys have special symbols in them 374s registers an offense when keys have different types and styles 374s accepts an empty hash 374s accepts hash rockets in method calls 374s accepts new syntax in a hash literal 374s accepts hash rockets when keys have different types 374s registers an offense when keys have special symbols and mix styles 374s registers an offense for mixed syntax when new is possible 374s autocorrects mixed key hashes 374s registers an offense when keys have whitespaces and mix styles 374s accepts new hash style 374s registers an offense when keys start with a digit and mix styles 374s accepts hash rockets when keys have whitespaces in them 374s configured to enforce ruby19 style 374s with SpaceAroundOperators enabled 374s preserves quotes during autocorrection 374s accepts hash rockets when symbol characters are not supported 374s registers offense for hash rocket syntax when new is possible 374s accepts new syntax in a hash literal 374s accepts hash rockets when symbol keys end with = 374s registers offense when keys start with an uppercase letter 374s registers an offense when symbol keys have strings in them 374s registers an offense for mixed syntax when new is possible 374s accepts hash rockets when keys have different types 374s autocorrects a missing space when hash is used as argument 374s accepts new syntax in method calls 374s registers an offense for hash rockets in method calls 374s accepts an empty hash 374s autocorrects even if it interferes with SpaceAroundOperators 374s if PreferHashRocketsForNonAlnumEndingSymbols is false 374s registers an offense for hash rockets when symbols end with ! 374s registers an offense for hash rockets when symbols end with ? 374s if PreferHashRocketsForNonAlnumEndingSymbols is true 374s accepts hash rockets when symbols end with ? 374s accepts hash rockets when symbols end with ! 374s ruby < 2.2 374s accepts hash rockets when symbol keys have string in them 374s when using a return value uses `return` 374s registers an offense and corrects when not enclosed in parentheses 374s registers an offense and corrects when enclosed in parentheses 374s configured to use hash rockets when symbol values are found 374s registers an offense when using hash rockets and no elements have a symbol value 374s registers an offense when any element has a symbol value in method calls 374s registers an offense for hashes with elements on multiple lines 374s accepts hash in ruby19 style with no symbol values 374s autocorrects to hash rockets when all elements have symbol value 374s accepts an empty hash 374s registers an offense when any element uses a symbol for the value 374s accepts ruby19 syntax when no elements have symbol values in method calls 374s accepts ruby19 syntax when no elements have symbol values 374s accepts both hash rockets and ruby19 syntax in the same code 374s with SpaceAroundOperators disabled 374s autocorrects even if there is no space around => 374s configured to enforce shorthand syntax style 374s Ruby <= 3.0 374s does not register an offense when hash key and hash value are the same 374s Ruby >= 3.1 374s does not register an offense when hash key and hash value are partially the same 374s does not register an offense when with parentheses call expr follows 374s does not register an offense when method call hash key and hash value are the same 374s does not register an offense when call expr with argument and a block follows 374s does not register an offense when without parentheses call expr follows 374s registers and corrects an offense when hash key and hash value are the same 374s does not register an offense when symbol hash key and hash value (lvar) are not the same 374s does not register an offense when symbol hash key and string hash value are the same 374s does not register an offense when one line `until` condition follows (without parentheses) 374s does not register an offense when call expr without arguments and with a block follows 374s does not register an offense when hash key and hash value are not the same 374s registers an offense when one line `until` condition follows (with parentheses) 374s does not register an offense when without parentheses call expr follows after nested method call 374s registers and corrects an offense when hash key and hash value are partially the same 374s does not register an offense when `return` with one line `if` condition follows (without parentheses) 374s does not register an offense when one line `if` condition follows (without parentheses) 374s registers and corrects an offense when hash key and hash value are the same and it in the method body 374s does not register an offense when hash values are omitted 374s registers an offense when one line `if` condition follows (with parentheses) 374s does not register an offense when lvar hash key and hash value are the same 374s does not register an offense when with parentheses call expr follows assignment expr 374s registers and corrects an offense when hash key and hash value are the same and it in the method bodyand an expression follows 374s registers an offense when hash key and hash value are not the same and method with `[]` is called 374s registers and corrects an offense when `Hash[foo: foo]` 374s registers and corrects an offense when hash key and hash value (lvar) are the same 374s does not register an offense when hash key and hash value are the same but the value ends `!` 374s registers and corrects an offense when `Hash[foo: foo]` and an expression follows 374s does not register an offense when hash pattern matching 374s does not register an offense when hash key and hash value are the same but the value ends `?` 374s when hash roket syntax 374s does not register an offense 374s 374s RuboCop::Cop::Style::InfiniteLoop 374s registers an offense for a while loop with 2.0 as condition 374s accepts Kernel#loop 374s registers an offense for a until loop with false as condition 374s accepts modifier while true if loop {} would change semantics 374s registers an offense for a while loop with [1] as condition 374s registers an offense for a until loop with nil as condition 374s registers an offense for a while loop with {} as condition 374s registers an offense for while true if loop {} would work because it is an instance variable being assigned 374s registers an offense for while true or until false if loop {} would work because of an earlier assignment 374s registers an offense for a while loop with 1 as condition 374s registers an offense for until false if loop {} would work because the assigned variable is not used afterwards 374s registers an offense for until false if loop {} would work because of previous assignment in a while loop 374s accepts while true if loop {} would change semantics 374s registers an offense for modifier until false if loop {} would not change semantics 374s behaves like autocorrector 374s autocorrects single line modifier until with and 374s autocorrects single line modifier until 374s autocorrects the usage of until without do 374s autocorrects begin-end-until with one statement 374s autocorrects begin-end-until with two statements 374s autocorrects the usage of until with do 374s with non-default indentation width 374s autocorrects multi-line modifier until and indents correctly 374s behaves like autocorrector 374s autocorrects begin-end-while with two statements 374s autocorrects the usage of while without do 374s autocorrects begin-end-while with one statement 374s autocorrects the usage of while with do 374s autocorrects single line modifier while 374s autocorrects single line modifier while with and 374s with non-default indentation width 374s autocorrects multi-line modifier while and indents correctly 374s 374s RuboCop::Cop::Lint::PercentStringArray 374s with invalid byte sequence in UTF-8 374s add an offense and corrects when tokens contain quotes 374s accepts if tokens contain invalid byte sequence only 374s detecting quotes or commas in a %w/%W string 374s adds an offense and corrects when tokens contain quotes and are comma separated 374s accepts likely false positive %W(#{a} b) 374s adds an offense and corrects when tokens contain both types of quotes 374s adds an offense and corrects when there are no quotes but one comma 374s adds an offense and corrects when one token is quoted but there are no commas 374s adds an offense and corrects when one token is quoted but there are no commas 374s accepts likely false positive %w(#{a} b) 374s accepts likely false positive :"#{a}" 374s adds an offense and corrects when tokens contain both types of quotes 374s adds an offense and corrects when there are no quotes but one comma 374s accepts likely false positive %W(' ") 374s accepts tokens without quotes or commas 374s adds an offense and corrects when tokens contain quotes and are comma separated 374s accepts likely false positive %w(' ") 374s accepts likely false positive :"#{a}" 374s accepts likely false positive %W(' " ! = # ,) 374s accepts tokens without quotes or commas 374s accepts likely false positive %w(' " ! = # ,) 374s with binary encoded source 374s adds an offense and corrects when tokens contain quotes 374s accepts if tokens contain no quotes 374s 374s RuboCop::Cop::Lint::UselessAssignment 374s when a variable is assigned in 2 identical if branches 375s doesn't think 1 of the 2 assignments is useless 375s when a keyword splat method argument is not used 375s accepts 375s when a variable is reassigned with binary operator assignment while assigning to itself in rhs then referenced 375s registers an offense for the assignment in rhs 375s when a variable is assigned in single branch if and unreferenced 375s registers an offense 375s when a variable is assigned with ||= at the last expression of the scope 375s registers an offense 375s when a named capture is unreferenced in top level 375s registers an offense 375s similar name suggestion 375s when there's a similar name but it's in inner scope 375s does not suggest any name 375s when there's a similar variable-like method invocation 375s suggests the method name 375s when there's a similar method invocation with arguments 375s does not suggest any name 375s when there's a similar method invocation with explicit receiver 375s does not suggest any name 375s when there are only less similar names 375s does not suggest any name 375s when there's a similar variable 375s suggests the variable name 375s when a variable is assigned and unreferenced in a class subclassing another class stored in local variable 375s registers an offense 375s when a method argument is reassigned and zero arity super is called 375s accepts 375s when a variable is assigned and unreferenced in a singleton method defined with self keyword 375s registers an offense 375s when a variable is shadowed by a block argument and unreferenced 375s registers an offense 375s when a variable is assigned in main body of begin, rescue and else then referenced after the begin 375s accepts 375s when a variable is assigned and unreferenced in a singleton class 375s registers an offense 375s when a variable is reassigned with binary operator assignment and referenced 375s accepts 375s when a variable is reassigned at the end of loop body and would be referenced in loop condition 375s accepts 375s when a variable is assigned with ||= before the last expression of the scope 375s registers an offense 375s when a variable is reassigned with logical operator assignment and referenced 375s accepts 375s when a variable is assigned multiple times but unreferenced 375s registers offenses for each assignment 375s when there's an unreferenced reassignment in a if branch while the variable is referenced in the paired elsif branch 375s registers an offense for the reassignment in the if branch 375s when a variable is reassigned with multiple assignment while referencing itself in rhs and referenced 375s accepts 375s when a variable is reassigned in a loop 375s while loop 375s accepts 375s until loop 375s accepts 375s for loop 375s accepts 375s post while loop 375s accepts 375s post until loop 375s accepts 375s when a variable is reassigned multiple times in ensure with rescue then referenced after the begin 375s registers an offense 375s when a variable is assigned and unreferenced in top level 375s registers an offense 375s when a variable is assigned in main body of begin, rescue and else and reassigned in ensure then referenced after the begin 375s registers offenses for each assignment before ensure 375s when a block method argument is not used 375s accepts 375s when a named capture is unreferenced in other than top level 375s registers an offense 375s when a variable is reassigned in single branch if and referenced in the branch 375s registers an offense for the unreferenced assignment 375s when a variable is assigned on each side of && and referenced after the && 375s accepts 375s when a unreferenced variable is reassigned on the right side of && and referenced after the && 375s accepts 375s when a variable is reassigned in single branch if and referenced after the branching 375s accepts 375s when a local variable is unreferenced and zero arity super is called 375s registers an offense 375s when a variable is reassigned and unreferenced in a if branch while the variable is referenced in the paired else branch 375s registers an offense for the reassignment in the if branch 375s when there's an unreferenced reassignment in a if branch while the variable is referenced in a case branch in the paired else branch 375s registers an offense for the reassignment in the if branch 375s when a block argument is not used 375s accepts 375s when a variable is assigned and unreferenced in a module 375s registers an offense 375s when a variable is reassigned multiple times in rescue and referenced after the begin 375s registers an offense 375s when a variable is assigned and unreferenced in a class 375s registers an offense 375s when a variable is reassigned multiple times in rescue with ensure then referenced after the begin 375s registers an offense 375s when a variable is assigned in loop body and referenced in post until condition 375s accepts 375s when an anonymous keyword splat method argument is defined 375s accepts 375s when a variable is reassigned multiple times in main body of begin then referenced in ensure 375s accepts 375s when a rescued error variable is wrongly tried to be referenced in another rescue body 375s registers an offense 375s when a referenced variable is reassigned but not re-referenced 375s registers an offense for the non-re-referenced assignment 375s when a splat method argument is not used 375s accepts 375s when there's an unreferenced assignment in top level if branch while the variable is referenced in the paired else branch 375s registers an offense for the assignment in the if branch 375s when a variable is assigned in each branch of if and referenced in the else branch 375s registers an offense for the assignment in the if branch 375s when a variable is assigned and referenced when defining a module 375s does not register an offense 375s when a variable is assigned in begin and referenced outside 375s accepts 375s when a block local variable is assigned and unreferenced 375s registers offenses for the assignment 375s when a variable is assigned with multiple assignment and unreferenced 375s registers an offense 375s when a variable is assigned in loop body and unreferenced 375s registers an offense 375s when a variable is reassigned multiple times in main body of begin then referenced after the begin 375s accepts 375s when a setter is invoked with operator assignment in loop body 375s accepts 375s when a optional keyword method argument is not used 375s accepts 375s when a variable is assigned and unreferenced in a singleton method defined with variable name 375s registers an offense 375s when a variable is assigned in loop body and referenced in post while condition 375s accepts 375s when an assignment in a if branch is referenced in another if branch 375s accepts 375s when a keyword splat method argument is used 375s accepts 375s when a unreferenced variable is reassigned in same branch and referenced after the branching 375s registers an offense for the unreferenced assignment 375s when a variable is assigned in main body of begin with rescue but unreferenced 375s registers an offense 375s when a variable is assigned in branch of modifier if that references the variable in its conditional clauseand unreferenced 375s registers an offense 375s when a variable is assigned in each branch of if and referenced after the branching 375s accepts 375s inside a `case-match` node 375s does not register an offense when the variable is used 375s when a unreferenced variable is reassigned on the left side of && and referenced after the && 375s registers an offense for the unreferenced assignment 375s when a method argument is reassigned but not passed to super 375s registers an offense 375s when a referenced variable is reassigned in a block 375s accepts 375s when a referenced variable is reassigned but not re-referenced in a method defined in loop 375s registers an offense 375s when a variable is assigned while being passed to a method taking block 375s and the variable is used 375s accepts 375s and the variable is not used 375s registers an offense 375s when a variable is assigned and unreferenced in a method 375s registers an offense 375s when a named capture is referenced 375s accepts 375s when a variable is reassigned at the end of loop body and would be referenced in next iteration 375s accepts 375s when a variable is assigned first with ||= and referenced 375s accepts 375s when a variable is reassigned in loop body but won't be referenced either next iteration or loop condition 375s registers an offense (PENDING: Requires an advanced logic that checks whether the return value of an operator assignment is used or not.) 375s when a variable is reassigned while referencing itself in rhs and referenced 375s accepts 375s when a variable is assigned and assigned again in a modifier condition 375s accepts with parentheses 375s accepts without parentheses 375s when an unreferenced variable is reassigned and re-referenced 375s registers an offense for the unreferenced assignment 375s when a variable that has same name as outer scope variable is not referenced in a method defined in loop 375s registers an offense 375s when a variable is referenced in rhs of named capture expression 375s accepts 375s when a method argument is not used 375s accepts 375s when a variable is not used and the name starts with _ 375s accepts 375s when a variable is reassigned multiple times in main body of begin then referenced in rescue 375s accepts 375s when a block local variable is declared but not assigned 375s accepts 375s when a variable is assigned and passed to a method followed by method taking block 375s accepts 375s when an optional method argument is not used 375s accepts 375s when there is only one AST node and it is unused variable 375s registers an offense 375s when a variable is assigned with operator assignment in top level 375s registers an offense 375s when a variable is assigned with operator assignment in rescue and would be referenced with retry 375s accepts 375s when a variable is assigned in branch of modifier if that references the variable in its conditional clauseand referenced after the branching 375s accepts 375s when an unreferenced variable is reassigned in a block 375s accepts 375s when a variable is assigned at the end of rescue and would be referenced with retry 375s accepts 375s 375s RuboCop::Cop::Layout::SpaceInsideParens 375s when EnforcedStyle is no_space 375s accepts parentheses in block parameter list 375s registers an offense for spaces inside parens 375s accepts parentheses with line break 375s accepts parentheses with no spaces 375s accepts parentheses with comment and line break 375s registers an offense for space around heredoc start 375s when EnforcedStyle is space 375s registers an offense for no space around heredoc start 375s registers an offense for space inside empty parens 375s accepts empty parentheses without spaces 375s registers an offense for no spaces inside parens 375s registers an offense in block parameter list with no spaces 375s accepts parentheses with line break 375s accepts parentheses with comment and line break 375s accepts parentheses with spaces 375s when EnforcedStyle is compact 375s accepts two consecutive left parentheses 375s accepts parentheses with spaces 375s registers an offense in block parameter list with no spaces 375s accepts parentheses with line break 375s accepts three consecutive right parentheses 375s accepts two consecutive right parentheses 375s registers an offense for no space around heredoc start 375s accepts parentheses with comment and line break 375s registers multiple offense for a missing and extra space between consecutive brackets 375s registers an offense for space inside empty parens 375s registers an offense for space between consecutive brackets 375s accepts empty parentheses without spaces 375s registers an offense for no spaces inside parens 375s accepts three consecutive left parentheses 375s 375s RuboCop::Cop::Layout::MultilineMethodParameterLineBreaks 375s when one parameter on same line 375s does not add any offenses 375s when there are multiple parameters on the first line 375s registers an offense and corrects starting from the 2nd argument 375s when second parameter starts on same line as end of first 375s registers an offense and corrects 375s when there are no parameters 375s does not add any offenses 375s when many parameters including hash are on multiple lines, three on same line 375s registers an offense and corrects 375s when many parameter are on multiple lines, two on same line 375s registers an offense and corrects 375s when parameter's default value starts on same line but ends on different line 375s registers an offense and corrects 375s when many parameters are on multiple lines, three on same line 375s registers an offense and corrects 375s when two parameters are on next line 375s does not add any offenses 375s 375s RuboCop::Cop::Layout::BeginEndAlignment 375s registers an offense for mismatched begin end and autocorrects 375s accepts matching puts 1; begin ... end 375s accepts matching begin ... end 375s when EnforcedStyleAlignWith is start_of_line 375s registers an offense for mismatched begin end and autocorrects 375s registers an offense for mismatched var << begin end and autocorrects 375s accepts matching puts 1; begin ... end 375s accepts matching var = begin ... end 375s 375s RuboCop::Cop::Style::ConditionalAssignment 375s SingleLineConditionsOnly true 375s registers an offense for assignment to case when then else 375s allows a method call in the subject of a ternary operator 375s registers an offense for assignment to an if then else 375s registers an offense for assignment using a method that ends with an equal sign 375s registers an offense for assignment using []= 375s corrects assignment when without `else` branch 375s corrects assignment to a namespaced constant 375s behaves like multiline all assignment types allow 375s any assignment to a multiline case when 375s any assignment to a multiline unless else 375s any assignment to a multiline if else 375s behaves like all assignment types 375s registers an offense for any assignment to unless else 375s registers an offense for any assignment to ternary 375s registers an offense any assignment to case when 375s does not crash when used inside rescue 375s registers an offense any assignment to if else 375s allows any assignment to if without else 375s behaves like multiline all assignment types allow 375s any assignment to a multiline if else 375s any assignment to a multiline case when 375s any assignment to a multiline unless else 375s behaves like all variable types 375s registers an offense assigning any variable type to if else 375s registers an offense assigning any variable type to ternary 375s registers an offense assigning any variable type to if elsewith multiple assignment 375s does not crash for rescue assignment 375s registers an offense assigning any variable type to unless else 375s registers an offense for assigning any variable type to case when 375s allows assignment to if without else 375s registers an offense assigning any variable type to if elsif else 375s >= Ruby 2.7 375s registers an offense for assigning any variable type to case in 375s behaves like all assignment types 375s registers an offense any assignment to case when 375s allows any assignment to if without else 375s registers an offense for any assignment to ternary 375s registers an offense for any assignment to unless else 375s does not crash when used inside rescue 375s registers an offense any assignment to if else 375s behaves like multiline all assignment types allow 375s any assignment to a multiline unless else 375s any assignment to a multiline case when 375s any assignment to a multiline if else 375s for loop 375s ignores pseudo assignments in a for loop 375s behaves like multiline all variable types allow 375s assigning any variable type to a multiline unless else 375s assigning any variable type to a multiline case when 375s assigning any variable type to a multiline if else 375s assigning any variable type to an if else with multiline in one branch 375s assigning any variable type to a multiline if elsif else 375s behaves like all assignment types 375s registers an offense any assignment to if else 375s registers an offense for any assignment to ternary 375s does not crash when used inside rescue 375s allows any assignment to if without else 375s registers an offense for any assignment to unless else 375s registers an offense any assignment to case when 375s behaves like single line condition autocorrect 375s corrects assignment to an if elsif else with multiple elsifs 375s corrects assignment to a case when else condition 375s corrects assignment to an unless else condition 375s corrects assignment to a ternary operator 375s corrects assignment to an if elsif else condition 375s corrects assignment to an if else condition 375s corrects assignment to a case when else with multiple whens 375s behaves like all assignment types 375s registers an offense any assignment to case when 375s registers an offense any assignment to if else 375s registers an offense for any assignment to unless else 375s registers an offense for any assignment to ternary 375s allows any assignment to if without else 375s does not crash when used inside rescue 375s behaves like multiline all assignment types allow 375s any assignment to a multiline case when 375s any assignment to a multiline unless else 375s any assignment to a multiline if else 375s behaves like all assignment types 375s does not crash when used inside rescue 375s registers an offense any assignment to case when 375s registers an offense any assignment to if else 375s registers an offense for any assignment to unless else 375s registers an offense for any assignment to ternary 375s allows any assignment to if without else 375s behaves like multiline all assignment types allow 375s any assignment to a multiline unless else 375s any assignment to a multiline if else 375s any assignment to a multiline case when 375s behaves like multiline all assignment types allow 375s any assignment to a multiline if else 375s any assignment to a multiline case when 375s any assignment to a multiline unless else 375s behaves like multiline all assignment types allow 375s any assignment to a multiline case when 375s any assignment to a multiline if else 375s any assignment to a multiline unless else 375s behaves like multiline all assignment types allow 375s any assignment to a multiline if else 375s any assignment to a multiline case when 375s any assignment to a multiline unless else 375s behaves like multiline all assignment types allow 375s any assignment to a multiline case when 375s any assignment to a multiline unless else 375s any assignment to a multiline if else 375s behaves like multiline all assignment types allow 375s any assignment to a multiline case when 375s any assignment to a multiline if else 375s any assignment to a multiline unless else 375s behaves like multiline all variable types allow 375s assigning any variable type to a multiline unless else 375s assigning any variable type to an if else with multiline in one branch 375s assigning any variable type to a multiline case when 375s assigning any variable type to a multiline if else 375s assigning any variable type to a multiline if elsif else 375s behaves like multiline all assignment types allow 375s any assignment to a multiline if else 375s any assignment to a multiline case when 375s any assignment to a multiline unless else 375s behaves like all assignment types 375s registers an offense any assignment to case when 375s allows any assignment to if without else 375s registers an offense any assignment to if else 375s registers an offense for any assignment to unless else 375s registers an offense for any assignment to ternary 375s does not crash when used inside rescue 375s behaves like all assignment types 375s does not crash when used inside rescue 375s registers an offense any assignment to if else 375s registers an offense for any assignment to ternary 375s registers an offense for any assignment to unless else 375s allows any assignment to if without else 375s registers an offense any assignment to case when 375s behaves like multiline all assignment types allow 375s any assignment to a multiline unless else 375s any assignment to a multiline case when 375s any assignment to a multiline if else 375s behaves like multiline all variable types allow 375s assigning any variable type to an if else with multiline in one branch 375s assigning any variable type to a multiline if elsif else 375s assigning any variable type to a multiline unless else 375s assigning any variable type to a multiline if else 375s assigning any variable type to a multiline case when 375s behaves like all assignment types 375s allows any assignment to if without else 375s registers an offense for any assignment to ternary 375s registers an offense any assignment to if else 375s does not crash when used inside rescue 375s registers an offense for any assignment to unless else 375s registers an offense any assignment to case when 375s behaves like all assignment types 375s registers an offense any assignment to case when 375s does not crash when used inside rescue 375s allows any assignment to if without else 375s registers an offense for any assignment to unless else 375s registers an offense any assignment to if else 375s registers an offense for any assignment to ternary 375s behaves like all assignment types 375s registers an offense any assignment to if else 375s allows any assignment to if without else 375s does not crash when used inside rescue 375s registers an offense for any assignment to ternary 375s registers an offense any assignment to case when 375s registers an offense for any assignment to unless else 375s behaves like multiline all variable types allow 375s assigning any variable type to an if else with multiline in one branch 375s assigning any variable type to a multiline case when 375s assigning any variable type to a multiline if elsif else 375s assigning any variable type to a multiline unless else 375s assigning any variable type to a multiline if else 375s behaves like multiline all variable types allow 375s assigning any variable type to a multiline unless else 375s assigning any variable type to a multiline if else 375s assigning any variable type to a multiline case when 375s assigning any variable type to an if else with multiline in one branch 375s assigning any variable type to a multiline if elsif else 375s behaves like all assignment types 375s registers an offense for any assignment to ternary 375s registers an offense any assignment to if else 375s registers an offense any assignment to case when 375s does not crash when used inside rescue 375s allows any assignment to if without else 375s registers an offense for any assignment to unless else 375s behaves like all assignment types 375s registers an offense any assignment to if else 375s registers an offense any assignment to case when 375s registers an offense for any assignment to ternary 375s allows any assignment to if without else 375s does not crash when used inside rescue 375s registers an offense for any assignment to unless else 375s behaves like all variable types 375s registers an offense assigning any variable type to if else 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to if elsif else 376s registers an offense assigning any variable type to ternary 376s registers an offense for assigning any variable type to case when 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s allows assignment to if without else 376s registers an offense assigning any variable type to unless else 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like multiline all assignment types allow 376s any assignment to a multiline unless else 376s any assignment to a multiline case when 376s any assignment to a multiline if else 376s behaves like all assignment types 376s registers an offense any assignment to case when 376s registers an offense any assignment to if else 376s does not crash when used inside rescue 376s allows any assignment to if without else 376s registers an offense for any assignment to unless else 376s registers an offense for any assignment to ternary 376s behaves like multiline all assignment types allow 376s any assignment to a multiline if else 376s any assignment to a multiline case when 376s any assignment to a multiline unless else 376s behaves like multiline all assignment types allow 376s any assignment to a multiline unless else 376s any assignment to a multiline case when 376s any assignment to a multiline if else 376s behaves like multiline all assignment types allow 376s any assignment to a multiline case when 376s any assignment to a multiline unless else 376s any assignment to a multiline if else 376s behaves like all variable types 376s registers an offense assigning any variable type to if elsif else 376s registers an offense for assigning any variable type to case when 376s registers an offense assigning any variable type to ternary 376s allows assignment to if without else 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to unless else 376s registers an offense assigning any variable type to if else 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like multiline all assignment types allow 376s any assignment to a multiline case when 376s any assignment to a multiline unless else 376s any assignment to a multiline if else 376s behaves like all assignment types 376s allows any assignment to if without else 376s registers an offense any assignment to if else 376s registers an offense for any assignment to unless else 376s registers an offense for any assignment to ternary 376s registers an offense any assignment to case when 376s does not crash when used inside rescue 376s behaves like all assignment types 376s registers an offense for any assignment to ternary 376s registers an offense for any assignment to unless else 376s allows any assignment to if without else 376s registers an offense any assignment to case when 376s does not crash when used inside rescue 376s registers an offense any assignment to if else 376s behaves like all variable types 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to if else 376s allows assignment to if without else 376s registers an offense assigning any variable type to ternary 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s registers an offense assigning any variable type to if elsif else 376s registers an offense for assigning any variable type to case when 376s registers an offense assigning any variable type to unless else 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like all variable types 376s registers an offense assigning any variable type to ternary 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to unless else 376s registers an offense assigning any variable type to if elsif else 376s registers an offense assigning any variable type to if else 376s allows assignment to if without else 376s registers an offense for assigning any variable type to case when 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like multiline all variable types allow 376s assigning any variable type to a multiline unless else 376s assigning any variable type to a multiline if elsif else 376s assigning any variable type to a multiline if else 376s assigning any variable type to a multiline case when 376s assigning any variable type to an if else with multiline in one branch 376s behaves like multiline all assignment types allow 376s any assignment to a multiline case when 376s any assignment to a multiline if else 376s any assignment to a multiline unless else 376s behaves like multiline all assignment types allow 376s any assignment to a multiline if else 376s any assignment to a multiline case when 376s any assignment to a multiline unless else 376s behaves like multiline all variable types allow 376s assigning any variable type to an if else with multiline in one branch 376s assigning any variable type to a multiline unless else 376s assigning any variable type to a multiline if elsif else 376s assigning any variable type to a multiline if else 376s assigning any variable type to a multiline case when 376s behaves like all variable types 376s registers an offense assigning any variable type to ternary 376s registers an offense for assigning any variable type to case when 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s registers an offense assigning any variable type to if else 376s registers an offense assigning any variable type to unless else 376s does not crash for rescue assignment 376s allows assignment to if without else 376s registers an offense assigning any variable type to if elsif else 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like all variable types 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s registers an offense assigning any variable type to if else 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to unless else 376s registers an offense assigning any variable type to if elsif else 376s allows assignment to if without else 376s registers an offense for assigning any variable type to case when 376s registers an offense assigning any variable type to ternary 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like all assignment types 376s registers an offense for any assignment to ternary 376s registers an offense any assignment to case when 376s registers an offense any assignment to if else 376s registers an offense for any assignment to unless else 376s allows any assignment to if without else 376s does not crash when used inside rescue 376s behaves like all assignment types 376s registers an offense any assignment to if else 376s registers an offense any assignment to case when 376s registers an offense for any assignment to unless else 376s allows any assignment to if without else 376s does not crash when used inside rescue 376s registers an offense for any assignment to ternary 376s behaves like all assignment types 376s registers an offense any assignment to case when 376s allows any assignment to if without else 376s registers an offense for any assignment to unless else 376s does not crash when used inside rescue 376s registers an offense for any assignment to ternary 376s registers an offense any assignment to if else 376s behaves like all assignment types 376s does not crash when used inside rescue 376s registers an offense any assignment to if else 376s registers an offense for any assignment to ternary 376s allows any assignment to if without else 376s registers an offense any assignment to case when 376s registers an offense for any assignment to unless else 376s IncludeTernaryExpressions false 376s allows assigning any variable type to ternary 376s SingleLineConditionsOnly false 376s corrects assignment to an unless else condition 376s corrects assignment to an if elsif else with multiple elsifs 376s corrects assignment to a multiline if elsif else condition 376s corrects assignment to a multiline if else condition 376s corrects assignment to a case when else with multiple whens 376s corrects assignment to a case when else condition 376s behaves like multiline all assignment types offense 376s any assignment to a multiline unless else 376s any assignment to a multiline case when 376s any assignment to a multiline if else 376s behaves like multiline all assignment types offense 376s any assignment to a multiline if else 376s any assignment to a multiline unless else 376s any assignment to a multiline case when 376s behaves like all variable types 376s registers an offense assigning any variable type to if elsif else 376s registers an offense assigning any variable type to ternary 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s allows assignment to if without else 376s registers an offense assigning any variable type to unless else 376s registers an offense for assigning any variable type to case when 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to if else 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like multiline all assignment types offense 376s any assignment to a multiline if else 376s any assignment to a multiline unless else 376s any assignment to a multiline case when 376s behaves like multiline all assignment types offense 376s any assignment to a multiline unless else 376s any assignment to a multiline if else 376s any assignment to a multiline case when 376s behaves like multiline all variable types offense 376s assigning any variable type to a multiline unless else 376s assigning any variable type to an if else with multiline in one branch 376s assigning any variable type to a multiline if elsif else 376s assigning any variable type to a multiline case when 376s assigning any variable type to a multiline if else 376s behaves like all assignment types 376s registers an offense any assignment to if else 376s allows any assignment to if without else 376s registers an offense for any assignment to unless else 376s does not crash when used inside rescue 376s registers an offense any assignment to case when 376s registers an offense for any assignment to ternary 376s behaves like multiline all assignment types offense 376s any assignment to a multiline if else 376s any assignment to a multiline case when 376s any assignment to a multiline unless else 376s behaves like all assignment types 376s registers an offense any assignment to case when 376s registers an offense for any assignment to ternary 376s allows any assignment to if without else 376s does not crash when used inside rescue 376s registers an offense any assignment to if else 376s registers an offense for any assignment to unless else 376s behaves like multiline all assignment types offense 376s any assignment to a multiline unless else 376s any assignment to a multiline case when 376s any assignment to a multiline if else 376s behaves like all assignment types 376s allows any assignment to if without else 376s registers an offense for any assignment to unless else 376s does not crash when used inside rescue 376s registers an offense for any assignment to ternary 376s registers an offense any assignment to if else 376s registers an offense any assignment to case when 376s behaves like multiline all assignment types offense 376s any assignment to a multiline if else 376s any assignment to a multiline unless else 376s any assignment to a multiline case when 376s behaves like all assignment types 376s does not crash when used inside rescue 376s registers an offense any assignment to if else 376s registers an offense for any assignment to unless else 376s registers an offense for any assignment to ternary 376s allows any assignment to if without else 376s registers an offense any assignment to case when 376s behaves like multiline all variable types offense 376s assigning any variable type to an if else with multiline in one branch 376s assigning any variable type to a multiline unless else 376s assigning any variable type to a multiline case when 376s assigning any variable type to a multiline if elsif else 376s assigning any variable type to a multiline if else 376s behaves like all variable types 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s registers an offense assigning any variable type to unless else 376s registers an offense for assigning any variable type to case when 376s allows assignment to if without else 376s registers an offense assigning any variable type to ternary 376s registers an offense assigning any variable type to if elsif else 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to if else 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like all variable types 376s allows assignment to if without else 376s registers an offense assigning any variable type to if elsif else 376s registers an offense assigning any variable type to unless else 376s registers an offense assigning any variable type to if else 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s registers an offense for assigning any variable type to case when 376s registers an offense assigning any variable type to ternary 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like all assignment types 376s registers an offense any assignment to case when 376s registers an offense any assignment to if else 376s registers an offense for any assignment to ternary 376s does not crash when used inside rescue 376s allows any assignment to if without else 376s registers an offense for any assignment to unless else 376s behaves like all variable types 376s allows assignment to if without else 376s registers an offense for assigning any variable type to case when 376s registers an offense assigning any variable type to ternary 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s registers an offense assigning any variable type to if elsif else 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to if else 376s registers an offense assigning any variable type to unless else 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like multiline all assignment types offense 376s any assignment to a multiline unless else 376s any assignment to a multiline if else 376s any assignment to a multiline case when 376s behaves like all assignment types 376s registers an offense for any assignment to unless else 376s registers an offense any assignment to case when 376s allows any assignment to if without else 376s does not crash when used inside rescue 376s registers an offense for any assignment to ternary 376s registers an offense any assignment to if else 376s behaves like multiline all assignment types offense 376s any assignment to a multiline if else 376s any assignment to a multiline unless else 376s any assignment to a multiline case when 376s behaves like multiline all variable types offense 376s assigning any variable type to a multiline unless else 376s assigning any variable type to a multiline if elsif else 376s assigning any variable type to a multiline case when 376s assigning any variable type to an if else with multiline in one branch 376s assigning any variable type to a multiline if else 376s behaves like all variable types 376s registers an offense assigning any variable type to if else 376s registers an offense assigning any variable type to ternary 376s registers an offense assigning any variable type to unless else 376s allows assignment to if without else 376s registers an offense assigning any variable type to if elsewith multiple assignment 376s does not crash for rescue assignment 376s registers an offense assigning any variable type to if elsif else 376s registers an offense for assigning any variable type to case when 376s >= Ruby 2.7 376s registers an offense for assigning any variable type to case in 376s behaves like multiline all variable types offense 376s assigning any variable type to a multiline case when 376s assigning any variable type to a multiline unless else 376s assigning any variable type to an if else with multiline in one branch 376s assigning any variable type to a multiline if else 376s assigning any variable type to a multiline if elsif else 376s behaves like multiline all variable types offense 376s assigning any variable type to a multiline case when 376s assigning any variable type to a multiline unless else 376s assigning any variable type to a multiline if else 376s assigning any variable type to an if else with multiline in one branch 376s assigning any variable type to a multiline if elsif else 376s behaves like all assignment types 376s registers an offense for any assignment to unless else 376s does not crash when used inside rescue 376s registers an offense any assignment to case when 376s registers an offense any assignment to if else 376s registers an offense for any assignment to ternary 376s allows any assignment to if without else 376s behaves like multiline all assignment types offense 377s any assignment to a multiline if else 377s any assignment to a multiline case when 377s any assignment to a multiline unless else 377s behaves like all assignment types 377s registers an offense for any assignment to unless else 377s does not crash when used inside rescue 377s registers an offense any assignment to if else 377s registers an offense for any assignment to ternary 377s allows any assignment to if without else 377s registers an offense any assignment to case when 377s behaves like multiline all assignment types offense 377s any assignment to a multiline if else 377s any assignment to a multiline unless else 377s any assignment to a multiline case when 377s behaves like single line condition autocorrect 377s corrects assignment to an if elsif else condition 377s corrects assignment to an if elsif else with multiple elsifs 377s corrects assignment to an unless else condition 377s corrects assignment to a ternary operator 377s corrects assignment to a case when else with multiple whens 377s corrects assignment to a case when else condition 377s corrects assignment to an if else condition 377s behaves like multiline all variable types offense 377s assigning any variable type to a multiline case when 377s assigning any variable type to an if else with multiline in one branch 377s assigning any variable type to a multiline if elsif else 377s assigning any variable type to a multiline unless else 377s assigning any variable type to a multiline if else 377s behaves like multiline all variable types offense 377s assigning any variable type to a multiline if elsif else 377s assigning any variable type to a multiline unless else 377s assigning any variable type to a multiline if else 377s assigning any variable type to an if else with multiline in one branch 377s assigning any variable type to a multiline case when 377s behaves like all assignment types 377s registers an offense for any assignment to ternary 377s allows any assignment to if without else 377s registers an offense any assignment to if else 377s does not crash when used inside rescue 377s registers an offense any assignment to case when 377s registers an offense for any assignment to unless else 377s behaves like all assignment types 377s does not crash when used inside rescue 377s registers an offense any assignment to if else 377s allows any assignment to if without else 377s registers an offense for any assignment to unless else 377s registers an offense any assignment to case when 377s registers an offense for any assignment to ternary 377s behaves like all assignment types 377s does not crash when used inside rescue 377s registers an offense for any assignment to ternary 377s allows any assignment to if without else 377s registers an offense any assignment to case when 377s registers an offense any assignment to if else 377s registers an offense for any assignment to unless else 377s behaves like all assignment types 377s registers an offense any assignment to case when 377s registers an offense for any assignment to ternary 377s registers an offense for any assignment to unless else 377s allows any assignment to if without else 377s registers an offense any assignment to if else 377s does not crash when used inside rescue 377s behaves like multiline all assignment types offense 377s any assignment to a multiline if else 377s any assignment to a multiline case when 377s any assignment to a multiline unless else 377s behaves like all assignment types 377s allows any assignment to if without else 377s registers an offense any assignment to case when 377s registers an offense any assignment to if else 377s does not crash when used inside rescue 377s registers an offense for any assignment to ternary 377s registers an offense for any assignment to unless else 377s behaves like multiline all assignment types offense 377s any assignment to a multiline unless else 377s any assignment to a multiline case when 377s any assignment to a multiline if else 377s behaves like multiline all assignment types offense 377s any assignment to a multiline unless else 377s any assignment to a multiline if else 377s any assignment to a multiline case when 377s behaves like multiline all assignment types offense 377s any assignment to a multiline if else 377s any assignment to a multiline unless else 377s any assignment to a multiline case when 377s behaves like all assignment types 377s registers an offense any assignment to if else 377s registers an offense for any assignment to ternary 377s registers an offense any assignment to case when 377s allows any assignment to if without else 377s registers an offense for any assignment to unless else 377s does not crash when used inside rescue 377s behaves like all assignment types 377s registers an offense any assignment to case when 377s registers an offense for any assignment to unless else 377s registers an offense any assignment to if else 377s allows any assignment to if without else 377s does not crash when used inside rescue 377s registers an offense for any assignment to ternary 377s behaves like multiline all assignment types offense 377s any assignment to a multiline if else 377s any assignment to a multiline unless else 377s any assignment to a multiline case when 377s behaves like all assignment types 377s allows any assignment to if without else 377s does not crash when used inside rescue 377s registers an offense for any assignment to ternary 377s registers an offense for any assignment to unless else 377s registers an offense any assignment to if else 377s registers an offense any assignment to case when 377s behaves like all variable types 377s registers an offense assigning any variable type to unless else 377s allows assignment to if without else 377s registers an offense assigning any variable type to if elsewith multiple assignment 377s registers an offense assigning any variable type to if elsif else 377s registers an offense for assigning any variable type to case when 377s does not crash for rescue assignment 377s registers an offense assigning any variable type to ternary 377s registers an offense assigning any variable type to if else 377s >= Ruby 2.7 377s registers an offense for assigning any variable type to case in 377s behaves like all assignment types 377s allows any assignment to if without else 377s registers an offense any assignment to if else 377s does not crash when used inside rescue 377s registers an offense any assignment to case when 377s registers an offense for any assignment to ternary 377s registers an offense for any assignment to unless else 377s behaves like all variable types 377s registers an offense assigning any variable type to if elsewith multiple assignment 377s registers an offense assigning any variable type to if else 377s registers an offense assigning any variable type to unless else 377s registers an offense assigning any variable type to ternary 377s allows assignment to if without else 377s does not crash for rescue assignment 377s registers an offense assigning any variable type to if elsif else 377s registers an offense for assigning any variable type to case when 377s >= Ruby 2.7 377s registers an offense for assigning any variable type to case in 377s behaves like all assignment types 377s registers an offense any assignment to case when 377s registers an offense for any assignment to unless else 377s does not crash when used inside rescue 377s allows any assignment to if without else 377s registers an offense any assignment to if else 377s registers an offense for any assignment to ternary 377s behaves like multiline all assignment types offense 377s any assignment to a multiline case when 377s any assignment to a multiline if else 377s any assignment to a multiline unless else 377s behaves like all assignment types 377s registers an offense any assignment to case when 377s registers an offense for any assignment to ternary 377s registers an offense for any assignment to unless else 377s allows any assignment to if without else 377s registers an offense any assignment to if else 377s does not crash when used inside rescue 377s behaves like multiline all assignment types offense 377s any assignment to a multiline if else 377s any assignment to a multiline unless else 377s any assignment to a multiline case when 377s behaves like multiline all assignment types offense 377s any assignment to a multiline if else 377s any assignment to a multiline case when 377s any assignment to a multiline unless else 377s 377s RuboCop::Cop::Naming::ClassAndModuleCamelCase 377s allows module_parent method 377s accepts CamelCase names 377s registers an offense for underscore in class and module name 377s is not fooled by qualified names 377s custom allowed names 377s does not register offense for multiple allowed names 377s 377s RuboCop::Cop::Style::FormatStringToken 377s ignores __FILE__ 377s ignores `%r` regexp 377s works inside hashes 377s ignores http links 377s supports flags and modifiers 377s ignores time format and unrelated `format` method using 377s ignores placeholder arguments 377s handles dstrs 377s ignores time format (when used as argument to strptime) 377s ignores time format when it is stored in a variable 377s ignores regexp 377s ignores percent escapes 377s ignores time format (when used as argument to strftime) 377s ignores xstr 377s behaves like enforced styles for format string tokens 377s when enforced style is unannotated 377s #correctable_sequence? 377s when enforced style is annotated 377s registers offenses for template style 377s #correctable_sequence? 377s supports dynamic string with interpolation 377s sets the enforced style to annotated after inspecting "%s" 377s detects when the cop must be disabled to avoid offenses 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s registers offense for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is template 377s #correctable_sequence? 377s does not register offenses for annotated style 377s configures the enforced style to template after inspecting "%{a}" 377s detects when the cop must be disabled to avoid offenses 377s supports dynamic string with interpolation 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s behaves like enforced styles for format string tokens 377s when enforced style is annotated 377s detects when the cop must be disabled to avoid offenses 377s sets the enforced style to annotated after inspecting "%s" 377s supports dynamic string with interpolation 377s registers offenses for template style 377s #correctable_sequence? 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s registers offense for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is template 377s supports dynamic string with interpolation 377s configures the enforced style to template after inspecting "%{a}" 377s detects when the cop must be disabled to avoid offenses 377s does not register offenses for annotated style 377s #correctable_sequence? 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is unannotated 377s #correctable_sequence? 377s when enforced style is template 377s gives a helpful error message 377s behaves like enforced styles for format string tokens 377s when enforced style is template 377s detects when the cop must be disabled to avoid offenses 377s does not register offenses for annotated style 377s supports dynamic string with interpolation 377s #correctable_sequence? 377s configures the enforced style to template after inspecting "%{a}" 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is unannotated 377s #correctable_sequence? 377s when enforced style is annotated 377s registers offenses for template style 377s detects when the cop must be disabled to avoid offenses 377s sets the enforced style to annotated after inspecting "%s" 377s supports dynamic string with interpolation 377s #correctable_sequence? 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s registers offense for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s behaves like enforced styles for format string tokens 377s when enforced style is template 377s configures the enforced style to template after inspecting "%{a}" 377s #correctable_sequence? 377s does not register offenses for annotated style 377s detects when the cop must be disabled to avoid offenses 377s supports dynamic string with interpolation 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when enforced style is annotated 377s registers offenses for template style 377s supports dynamic string with interpolation 377s detects when the cop must be disabled to avoid offenses 377s sets the enforced style to annotated after inspecting "%s" 377s #correctable_sequence? 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s registers offense for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is unannotated 377s #correctable_sequence? 377s behaves like enforced styles for format string tokens 377s when enforced style is unannotated 377s #correctable_sequence? 377s when enforced style is annotated 377s #correctable_sequence? 377s detects when the cop must be disabled to avoid offenses 377s supports dynamic string with interpolation 377s registers offenses for template style 377s sets the enforced style to annotated after inspecting "%s" 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s registers offense for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is template 377s detects when the cop must be disabled to avoid offenses 377s #correctable_sequence? 377s supports dynamic string with interpolation 377s configures the enforced style to template after inspecting "%{a}" 377s registers offenses for annotated style 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s registers offense for dual unannotated 377s does not register offenses for single unannotated 377s behaves like enforced styles for format string tokens 377s when enforced style is unannotated 377s #correctable_sequence? 377s when enforced style is annotated 377s sets the enforced style to annotated after inspecting "%s" 377s detects when the cop must be disabled to avoid offenses 377s supports dynamic string with interpolation 377s #correctable_sequence? 377s registers offenses for template style 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 377s registers offense for dual unannotated 377s when enforced style is template 377s #correctable_sequence? 377s detects when the cop must be disabled to avoid offenses 377s does not register offenses for annotated style 377s supports dynamic string with interpolation 377s configures the enforced style to template after inspecting "%{a}" 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s behaves like enforced styles for format string tokens 377s when enforced style is unannotated 377s #correctable_sequence? 377s when enforced style is template 377s detects when the cop must be disabled to avoid offenses 377s configures the enforced style to template after inspecting "%{a}" 377s does not register offenses for annotated style 377s supports dynamic string with interpolation 377s #correctable_sequence? 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when enforced style is annotated 377s supports dynamic string with interpolation 377s sets the enforced style to annotated after inspecting "%s" 377s registers offenses for template style 377s #correctable_sequence? 377s detects when the cop must be disabled to avoid offenses 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 377s registers offense for dual unannotated 377s when enforced style is annotated 377s gives a helpful error message 377s when AllowedPatterns is disabled 377s registers an offense 377s when AllowedMethods is disabled 377s registers an offense 377s when AllowedPatterns is enabled 377s does not register an offense 377s registers an offense for different method call within ignored method 377s does not register an offense for value in nested structure 377s when AllowedMethods is enabled 377s registers an offense for different method call within ignored method 377s does not register an offense for value in nested structure 377s does not register an offense 377s behaves like enforced styles for format string tokens 377s when enforced style is annotated 377s detects when the cop must be disabled to avoid offenses 377s #correctable_sequence? 377s sets the enforced style to annotated after inspecting "%s" 377s supports dynamic string with interpolation 377s registers offenses for template style 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 377s registers offense for dual unannotated 377s when enforced style is template 377s #correctable_sequence? 377s configures the enforced style to template after inspecting "%{a}" 377s does not register offenses for annotated style 377s supports dynamic string with interpolation 377s detects when the cop must be disabled to avoid offenses 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is unannotated 377s #correctable_sequence? 377s behaves like enforced styles for format string tokens 377s when enforced style is annotated 377s sets the enforced style to annotated after inspecting "%s" 377s registers offenses for template style 377s #correctable_sequence? 377s supports dynamic string with interpolation 377s detects when the cop must be disabled to avoid offenses 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for single unannotated 377s does not register offenses for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 377s registers offense for dual unannotated 377s when enforced style is template 377s supports dynamic string with interpolation 377s #correctable_sequence? 377s configures the enforced style to template after inspecting "%{a}" 377s does not register offenses for annotated style 377s detects when the cop must be disabled to avoid offenses 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is unannotated 377s #correctable_sequence? 377s behaves like enforced styles for format string tokens 377s when enforced style is template 377s does not register offenses for annotated style 377s supports dynamic string with interpolation 377s configures the enforced style to template after inspecting "%{a}" 377s #correctable_sequence? 377s detects when the cop must be disabled to avoid offenses 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is annotated 377s #correctable_sequence? 377s detects when the cop must be disabled to avoid offenses 377s sets the enforced style to annotated after inspecting "%s" 377s supports dynamic string with interpolation 377s registers offenses for template style 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 377s registers offense for dual unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 2 377s does not register offenses for dual unannotated 377s does not register offenses for single unannotated 377s when enforced style is unannotated 377s #correctable_sequence? 377s when enforced style is unannotated 377s gives a helpful error message 377s behaves like enforced styles for format string tokens 377s when enforced style is annotated 377s detects when the cop must be disabled to avoid offenses 377s sets the enforced style to annotated after inspecting "%s" 377s #correctable_sequence? 377s supports dynamic string with interpolation 377s registers offenses for template style 377s behaves like maximum allowed unannotated 377s when MaxUnannotatedPlaceholdersAllowed is 1 377s does not register offenses for single unannotated 378s registers offense for dual unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for single unannotated 378s does not register offenses for dual unannotated 378s when enforced style is template 378s supports dynamic string with interpolation 378s detects when the cop must be disabled to avoid offenses 378s #correctable_sequence? 378s configures the enforced style to template after inspecting "%{a}" 378s does not register offenses for annotated style 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is unannotated 378s #correctable_sequence? 378s behaves like enforced styles for format string tokens 378s when enforced style is unannotated 378s #correctable_sequence? 378s when enforced style is annotated 378s detects when the cop must be disabled to avoid offenses 378s registers offenses for template style 378s sets the enforced style to annotated after inspecting "%s" 378s #correctable_sequence? 378s supports dynamic string with interpolation 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s registers offense for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for single unannotated 378s does not register offenses for dual unannotated 378s when enforced style is template 378s supports dynamic string with interpolation 378s detects when the cop must be disabled to avoid offenses 378s does not register offenses for annotated style 378s configures the enforced style to template after inspecting "%{a}" 378s #correctable_sequence? 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s behaves like enforced styles for format string tokens 378s when enforced style is unannotated 378s #correctable_sequence? 378s when enforced style is template 378s detects when the cop must be disabled to avoid offenses 378s configures the enforced style to template after inspecting "%{a}" 378s supports dynamic string with interpolation 378s #correctable_sequence? 378s does not register offenses for annotated style 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is annotated 378s sets the enforced style to annotated after inspecting "%s" 378s #correctable_sequence? 378s detects when the cop must be disabled to avoid offenses 378s registers offenses for template style 378s supports dynamic string with interpolation 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for single unannotated 378s does not register offenses for dual unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for single unannotated 378s registers offense for dual unannotated 378s behaves like enforced styles for format string tokens 378s when enforced style is template 378s does not register offenses for annotated style 378s supports dynamic string with interpolation 378s detects when the cop must be disabled to avoid offenses 378s #correctable_sequence? 378s configures the enforced style to template after inspecting "%{a}" 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is annotated 378s detects when the cop must be disabled to avoid offenses 378s registers offenses for template style 378s sets the enforced style to annotated after inspecting "%s" 378s #correctable_sequence? 378s supports dynamic string with interpolation 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s registers offense for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is unannotated 378s #correctable_sequence? 378s behaves like enforced styles for format string tokens 378s when enforced style is unannotated 378s #correctable_sequence? 378s when enforced style is template 378s configures the enforced style to template after inspecting "%{a}" 378s detects when the cop must be disabled to avoid offenses 378s supports dynamic string with interpolation 378s #correctable_sequence? 378s does not register offenses for annotated style 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is annotated 378s registers offenses for template style 378s sets the enforced style to annotated after inspecting "%s" 378s supports dynamic string with interpolation 378s detects when the cop must be disabled to avoid offenses 378s #correctable_sequence? 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for single unannotated 378s does not register offenses for dual unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for single unannotated 378s registers offense for dual unannotated 378s behaves like enforced styles for format string tokens 378s when enforced style is template 378s configures the enforced style to template after inspecting "%{a}" 378s supports dynamic string with interpolation 378s #correctable_sequence? 378s detects when the cop must be disabled to avoid offenses 378s does not register offenses for annotated style 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for single unannotated 378s does not register offenses for dual unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is annotated 378s sets the enforced style to annotated after inspecting "%s" 378s supports dynamic string with interpolation 378s registers offenses for template style 378s #correctable_sequence? 378s detects when the cop must be disabled to avoid offenses 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for single unannotated 378s registers offense for dual unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is unannotated 378s #correctable_sequence? 378s behaves like enforced styles for format string tokens 378s when enforced style is template 378s configures the enforced style to template after inspecting "%{a}" 378s does not register offenses for annotated style 378s detects when the cop must be disabled to avoid offenses 378s #correctable_sequence? 378s supports dynamic string with interpolation 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for single unannotated 378s does not register offenses for dual unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is annotated 378s supports dynamic string with interpolation 378s sets the enforced style to annotated after inspecting "%s" 378s registers offenses for template style 378s #correctable_sequence? 378s detects when the cop must be disabled to avoid offenses 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for single unannotated 378s registers offense for dual unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is unannotated 378s #correctable_sequence? 378s behaves like enforced styles for format string tokens 378s when enforced style is unannotated 378s #correctable_sequence? 378s when enforced style is template 378s #correctable_sequence? 378s configures the enforced style to template after inspecting "%{a}" 378s detects when the cop must be disabled to avoid offenses 378s supports dynamic string with interpolation 378s does not register offenses for annotated style 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when enforced style is annotated 378s registers offenses for template style 378s supports dynamic string with interpolation 378s sets the enforced style to annotated after inspecting "%s" 378s detects when the cop must be disabled to avoid offenses 378s #correctable_sequence? 378s behaves like maximum allowed unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 2 378s does not register offenses for dual unannotated 378s does not register offenses for single unannotated 378s when MaxUnannotatedPlaceholdersAllowed is 1 378s registers offense for dual unannotated 378s does not register offenses for single unannotated 378s 378s RuboCop::Cop::Style::MethodCalledOnDoEndBlock 378s Ruby 2.7 378s registers an offense for a chained call 378s with a {} block 378s accepts a single-line block with a chained call 378s accepts a multi-line block with a chained call 378s with a multi-line do..end block 378s accepts it if there is no chained call 378s accepts a chained block 378s registers an offense for a chained call 378s when using safe navigation operator 378s registers an offense for a chained call 378s with a single-line do..end block 378s accepts a single-line do..end block with a chained block 378s registers an offense for a chained call 378s 378s RuboCop::Cop::Lint::AssignmentInCondition 378s registers an offense for gvar assignment in condition 378s registers an offense for assignment after ||= in condition 378s registers an offense for lvar assignment in until condition 378s accepts = in a block that is called in a condition 378s registers an offense for constant assignment in condition 378s accepts = in a block followed by method call 378s accepts ||= in condition 378s registers an offense for assignment after == in condition 378s registers an offense for lvar assignment in condition 378s registers an offense for assignment methods 378s does not blow up for empty if condition 378s registers an offense for lvar assignment in while condition 378s accepts assignment in a block after || 378s registers an offense for clvar assignment in condition 378s registers an offense for collection element assignment in condition 378s registers an offense for = in condition inside a block 378s accepts == in condition 378s registers an offense for ivar assignment in condition 378s does not blow up for empty unless condition 378s safe assignment is allowed 378s accepts []= in condition surrounded with braces 378s accepts = in condition surrounded with braces 378s safe assignment is not allowed 378s does not accept = in condition surrounded with braces 378s does not accept []= in condition surrounded with braces 378s 378s RuboCop::Cop::Lint::NextWithoutAccumulator 378s given an unrelated block 378s accepts a bare next 378s accepts next with a value 378s behaves like reduce/inject 378s given a inject block 378s accepts next within a nested block 378s accepts next with a value 378s registers an offense for a bare next 378s Ruby 2.7 378s registers an offense for a bare next 378s behaves like reduce/inject 378s given a reduce block 378s accepts next with a value 378s registers an offense for a bare next 378s accepts next within a nested block 378s Ruby 2.7 378s registers an offense for a bare next 378s 378s RuboCop::Cop::Style::SingleLineBlockParams 378s allows calls with proper argument names 378s allows an unused parameter to have a leading underscore 378s finds incorrectly named parameters with leading underscores 378s reports an offense if the arguments names are wrong and not all arguments are given 378s reports an offense if the names are partially correct 378s ignores do..end blocks 378s does not report when destructuring is used 378s finds wrong argument names in calls with different syntax 378s reports an offense if the names are in reverse order 378s does not report if no block arguments are present 378s does not report if the right names are used but not all arguments are given 378s ignores :reduce symbols 378s 378s RuboCop::Cop::Style::TopLevelMethodDefinition 378s does not register an offense when define_method is not top-level 378s does not register an offense when using module 378s does not register an offense when defined within arbitrary block 378s registers an offense when defining a top-level method after a class definition 378s registers an offense top-level methods 378s registers an offense top-level class methods 378s does not register an offense when just called method on top-level 378s does not register an offense when using class 378s does not register an offense when using Struct 378s top-level define_method 378s registers offense for multi-line block 378s registers offense for proc argument 378s registers offense with inline block 378s Ruby >= 2.7 378s registers offense with inline numblock 378s 378s RuboCop::Cop::Migration::DepartmentName 378s when todo/enable comments have cop names without departments 378s registers offenses and corrects 378s registers offenses and corrects when using a legacy cop name 378s registers offenses and corrects when there is space around `:` 378s when only department name has given 378s does not register an offense 378s when an unexpected disable comment format 378s does not register an offense 378s when a disable comment contains a plain comment 378s accepts 378s when a disable comment has cop names with departments 378s accepts 378s when a disable comment contains an unexpected character for department name 378s accepts 378s 378s RuboCop::Cop::Naming::BlockParameterName 378s does not register for block without parameters 378s registers offense when param is less than minimum length 378s registers offense when param with prefix is less than minimum length 378s registers offense when param contains uppercase characters 378s can register multiple offenses in one block 378s registers offense when param ends in number 378s does not register for brace block without parameters 378s does not register offense for valid parameter names 378s with AllowedNames 378s registers unlisted offensive names 378s accepts specified block param names 378s with AllowNamesEndingInNumbers 378s accept params that end in numbers 378s with ForbiddenNames 378s accepts param that uses a forbidden name's letters 378s registers offense for param listed as forbidden 378s 378s RuboCop::Cop::Lint::RequireParentheses 378s accepts method calls without parentheses followed by keyword and/or 378s registers an offense for missing parentheses around expression in ternary 378s accepts missing parentheses when using ternary operator in square bracksts 378s accepts method call with parentheses in ternary 378s registers an offense for missing parentheses around expression with && operator 378s accepts calls to methods that are setters 378s accepts calls to methods that are operators 378s registers an offense for missing parentheses around expression with || operator 378s accepts condition that is not a call 378s accepts parentheses around expression with boolean operator 378s accepts method calls that are all operations 378s accepts missing parentheses when using ternary operator 378s accepts missing parentheses when method is not a predicate 378s accepts missing parentheses around expression with + operator 378s when using safe navigation operator 378s registers an offense for missing parentheses around expression with && operator 378s 378s RuboCop::Cop::Lint::EnsureReturn 378s does not check when ensure block has no body 378s registers an offense when returning multiple values in `ensure` 378s registers an offense and corrects for return in ensure 378s does not register an offense for return outside ensure 378s registers an offense and corrects for return with argument in ensure 378s 378s Pending: (Failures listed here are expected and do not affect your suite's status) 378s 378s 1) RuboCop::Cop::Lint::UselessAssignment when a variable is reassigned in loop body but won't be referenced either next iteration or loop condition registers an offense 378s # Requires an advanced logic that checks whether the return value of an operator assignment is used or not. 378s Failure/Error: 378s expect_offense(<<~RUBY) 378s def some_method 378s total = 0 378s foo = 0 378s 378s while total < 100 378s total += 1 378s foo += 1 378s ^^^ Useless assignment to variable - `foo`. 378s end 378s 378s Diff: 378s @@ -5,7 +5,6 @@ 378s while total < 100 378s total += 1 378s foo += 1 378s - ^^^ Useless assignment to variable - `foo`. 378s end 378s 378s total 378s # /usr/share/rubygems-integration/all/gems/rubocop-1.39.0/lib/rubocop/rspec/expect_offense.rb:123:in `expect_offense' 378s # ./spec/rubocop/cop/lint/useless_assignment_spec.rb:341:in `block (3 levels) in ' 378s # /usr/share/rubygems-integration/all/gems/webmock-3.18.1/lib/webmock/rspec.rb:37:in `block (2 levels) in ' 378s 378s Finished in 1 minute 47.65 seconds (files took 3.96 seconds to load) 378s 19119 examples, 0 failures, 1 pending 378s 378s Randomized with seed 50850 378s 379s mv ./.gem2deb.lib lib 380s autopkgtest [03:06:29]: test gem2deb-test-runner: -----------------------] 380s autopkgtest [03:06:29]: test gem2deb-test-runner: - - - - - - - - - - results - - - - - - - - - - 380s gem2deb-test-runner PASS 381s autopkgtest [03:06:30]: @@@@@@@@@@@@@@@@@@@@ summary 381s gem2deb-test-runner PASS 394s Creating nova instance adt-noble-s390x-rubocop-20240328-030009-juju-7f2275-prod-proposed-migration-environment-3-754c14c3-621d-4ea2-9373-e7ea4379b6ac from image adt/ubuntu-noble-s390x-server-20240327.img (UUID 4dc0c4c2-a3ae-40cd-8411-e7fc228c10ae)...