0s autopkgtest [08:05:46]: starting date and time: 2024-03-22 08:05:46+0000 0s autopkgtest [08:05:46]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [08:05:46]: host juju-7f2275-prod-proposed-migration-environment-4; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.5ynwdvwr/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_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\n" >> /etc/environment' --apt-pocket=proposed --apt-upgrade rubocop --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=ruby3.2/3.2.3-1build2 ruby3.1/3.1.2-7ubuntu5' -- lxd -r lxd-armhf-10.145.243.233 lxd-armhf-10.145.243.233:autopkgtest/ubuntu/noble/armhf 23s autopkgtest [08:06:09]: testbed dpkg architecture: armhf 25s autopkgtest [08:06:11]: testbed apt version: 2.7.12 25s autopkgtest [08:06:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 32s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 32s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3806 kB] 33s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 33s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [54.0 kB] 33s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [493 kB] 33s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf Packages [631 kB] 33s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf c-n-f Metadata [2492 B] 33s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf Packages [1372 B] 33s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted armhf c-n-f Metadata [116 B] 33s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf Packages [3844 kB] 33s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe armhf c-n-f Metadata [7776 B] 33s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf Packages [46.6 kB] 33s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse armhf c-n-f Metadata [116 B] 35s Fetched 9010 kB in 2s (5466 kB/s) 36s Reading package lists... 44s tee: /proc/self/fd/2: Permission denied 66s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 66s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 66s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 66s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 67s Reading package lists... 67s Reading package lists... 68s Building dependency tree... 68s Reading state information... 68s Calculating upgrade... 69s The following packages were automatically installed and are no longer required: 69s linux-headers-6.8.0-11 python3-lib2to3 69s Use 'apt autoremove' to remove them. 69s The following packages will be REMOVED: 69s libapt-pkg6.0 libarchive13 libatm1 libcurl3-gnutls libcurl4 libdb5.3 libelf1 69s libext2fs2 libgdbm-compat4 libgdbm6 libglib2.0-0 libgnutls30 libgpgme11 69s libhogweed6 libmagic1 libnetplan0 libnettle8 libnpth0 libnvme1 libparted2 69s libpcap0.8 libperl5.38 libpng16-16 libpsl5 libreadline8 libreiserfscore0 69s libssl3 libtirpc3 libuv1 linux-headers-6.8.0-11-generic python3-distutils 69s The following NEW packages will be installed: 69s libapt-pkg6.0t64 libarchive13t64 libatm1t64 libcurl3t64-gnutls libcurl4t64 69s libdb5.3t64 libelf1t64 libext2fs2t64 libgdbm-compat4t64 libgdbm6t64 69s libglib2.0-0t64 libgnutls30t64 libgpgme11t64 libhogweed6t64 libmagic1t64 69s libnetplan1 libnettle8t64 libnpth0t64 libnvme1t64 libparted2t64 69s libpcap0.8t64 libperl5.38t64 libpng16-16t64 libpsl5t64 libreadline8t64 69s libreiserfscore0t64 libssl3t64 libtirpc3t64 libuv1t64 linux-headers-6.8.0-20 69s linux-headers-6.8.0-20-generic xdg-user-dirs 69s The following packages have been kept back: 69s multipath-tools 69s The following packages will be upgraded: 69s apparmor apt apt-utils bind9-dnsutils bind9-host bind9-libs binutils 69s binutils-arm-linux-gnueabihf binutils-common bolt bsdextrautils bsdutils 69s btrfs-progs coreutils cryptsetup-bin curl dbus dbus-bin dbus-daemon 69s dbus-session-bus-common dbus-system-bus-common dbus-user-session dhcpcd-base 69s dirmngr dmsetup dpkg dpkg-dev e2fsprogs e2fsprogs-l10n eject fdisk file ftp 69s fwupd gawk gcc-13-base gcc-14-base gir1.2-girepository-2.0 gir1.2-glib-2.0 69s gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpgconf gpgsm gpgv 69s groff-base ibverbs-providers inetutils-telnet info initramfs-tools 69s initramfs-tools-bin initramfs-tools-core install-info iproute2 jq keyboxd 69s kmod kpartx krb5-locales libapparmor1 libaudit-common libaudit1 libbinutils 69s libblkid1 libblockdev-crypto3 libblockdev-fs3 libblockdev-loop3 69s libblockdev-mdraid3 libblockdev-nvme3 libblockdev-part3 libblockdev-swap3 69s libblockdev-utils3 libblockdev3 libbpf1 libbrotli1 libbsd0 libc-bin libc6 69s libcap-ng0 libcom-err2 libcryptsetup12 libctf-nobfd0 libctf0 libdbus-1-3 69s libdebconfclient0 libdevmapper1.02.1 libdpkg-perl libevent-core-2.1-7 69s libexpat1 libfdisk1 libfido2-1 libftdi1-2 libfwupd2 libgcc-s1 69s libgirepository-1.0-1 libglib2.0-data libgssapi-krb5-2 libgudev-1.0-0 69s libgusb2 libibverbs1 libjcat1 libjq1 libjson-glib-1.0-0 69s libjson-glib-1.0-common libk5crypto3 libkmod2 libkrb5-3 libkrb5support0 69s libldap-common libldap2 liblocale-gettext-perl liblzma5 libmagic-mgc 69s libmbim-glib4 libmbim-proxy libmm-glib0 libmount1 libnghttp2-14 libnsl2 69s libnss-systemd libpam-modules libpam-modules-bin libpam-runtime 69s libpam-systemd libpam0g libplymouth5 libpolkit-agent-1-0 69s libpolkit-gobject-1-0 libpython3-stdlib libpython3.11-minimal 69s libpython3.11-stdlib libpython3.12-minimal libpython3.12-stdlib libqmi-glib5 69s libqmi-proxy libqrtr-glib0 librtmp1 libsasl2-2 libsasl2-modules 69s libsasl2-modules-db libseccomp2 libselinux1 libsemanage-common libsemanage2 69s libsframe1 libslang2 libsmartcols1 libsqlite3-0 libss2 libssh-4 libstdc++6 69s libsystemd-shared libsystemd0 libtext-charwidth-perl libtext-iconv-perl 69s libtirpc-common libudev1 libudisks2-0 libusb-1.0-0 libuuid1 libvolume-key1 69s libxml2 libxmlb2 libxmuu1 linux-headers-generic locales logsave lshw lsof 69s man-db mount mtr-tiny netplan-generator netplan.io openssh-client 69s openssh-server openssh-sftp-server openssl parted perl perl-base 69s perl-modules-5.38 pinentry-curses plymouth plymouth-theme-ubuntu-text psmisc 69s python-apt-common python3 python3-apt python3-cryptography python3-dbus 69s python3-gdbm python3-gi python3-lib2to3 python3-minimal python3-netplan 69s python3-pkg-resources python3-pyrsistent python3-setuptools 69s python3-typing-extensions python3-yaml python3.11 python3.11-minimal 69s python3.12 python3.12-minimal readline-common rsync shared-mime-info sudo 69s systemd systemd-dev systemd-resolved systemd-sysv systemd-timesyncd tcpdump 69s telnet tnftp ubuntu-pro-client ubuntu-pro-client-l10n udev udisks2 usb.ids 69s util-linux uuid-runtime vim-common vim-tiny wget xxd xz-utils zlib1g 69s 233 upgraded, 32 newly installed, 31 to remove and 1 not upgraded. 69s Need to get 106 MB of archives. 69s After this operation, 84.4 MB of additional disk space will be used. 69s Get:1 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bsdutils armhf 1:2.39.3-9ubuntu2 [102 kB] 69s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gcc-14-base armhf 14-20240315-1ubuntu1 [47.0 kB] 69s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgcc-s1 armhf 14-20240315-1ubuntu1 [41.5 kB] 69s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libstdc++6 armhf 14-20240315-1ubuntu1 [714 kB] 69s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libc6 armhf 2.39-0ubuntu6 [2827 kB] 70s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbrotli1 armhf 1.1.0-2build1 [319 kB] 70s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgssapi-krb5-2 armhf 1.20.1-5.1ubuntu1 [119 kB] 70s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkrb5-3 armhf 1.20.1-5.1ubuntu1 [321 kB] 70s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkrb5support0 armhf 1.20.1-5.1ubuntu1 [31.4 kB] 70s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libk5crypto3 armhf 1.20.1-5.1ubuntu1 [78.6 kB] 70s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcom-err2 armhf 1.47.0-2.4~exp1ubuntu2 [21.9 kB] 70s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/main armhf zlib1g armhf 1:1.3.dfsg-3.1ubuntu1 [49.2 kB] 70s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/main armhf librtmp1 armhf 2.4+20151223.gitfa8646d.1-2build6 [51.3 kB] 70s Get:14 http://ftpmaster.internal/ubuntu noble-proposed/main armhf udisks2 armhf 2.10.1-6 [276 kB] 70s Get:15 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libudisks2-0 armhf 2.10.1-6 [143 kB] 70s Get:16 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblkid1 armhf 2.39.3-9ubuntu2 [160 kB] 70s Get:17 http://ftpmaster.internal/ubuntu noble-proposed/main armhf liblzma5 armhf 5.6.0-0.2 [117 kB] 70s Get:18 http://ftpmaster.internal/ubuntu noble-proposed/main armhf kmod armhf 31+20240202-2ubuntu4 [91.8 kB] 70s Get:19 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libkmod2 armhf 31+20240202-2ubuntu4 [44.9 kB] 70s Get:20 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-dev all 255.4-1ubuntu5 [103 kB] 70s Get:21 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-timesyncd armhf 255.4-1ubuntu5 [36.0 kB] 70s Get:22 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-session-bus-common all 1.14.10-4ubuntu2 [80.3 kB] 70s Get:23 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libaudit-common all 1:3.1.2-2.1 [5674 B] 70s Get:24 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcap-ng0 armhf 0.8.4-2build1 [13.5 kB] 70s Get:25 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libaudit1 armhf 1:3.1.2-2.1 [44.3 kB] 70s Get:26 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam0g armhf 1.5.3-5ubuntu3 [62.0 kB] 70s Get:27 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libselinux1 armhf 3.5-2ubuntu1 [70.9 kB] 70s Get:28 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcurl4t64 armhf 8.5.0-2ubuntu7 [296 kB] 70s Get:29 http://ftpmaster.internal/ubuntu noble-proposed/main armhf curl armhf 8.5.0-2ubuntu7 [219 kB] 70s Get:30 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpsl5t64 armhf 0.21.2-1.1 [55.7 kB] 70s Get:31 http://ftpmaster.internal/ubuntu noble-proposed/main armhf wget armhf 1.21.4-1ubuntu2 [317 kB] 70s Get:32 http://ftpmaster.internal/ubuntu noble-proposed/main armhf tnftp armhf 20230507-2build1 [98.6 kB] 70s Get:33 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpcap0.8t64 armhf 1.10.4-4.1ubuntu1 [137 kB] 70s Get:34 http://ftpmaster.internal/ubuntu noble-proposed/main armhf tcpdump armhf 4.99.4-3ubuntu2 [425 kB] 70s Get:35 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsystemd-shared armhf 255.4-1ubuntu5 [2009 kB] 70s Get:36 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-resolved armhf 255.4-1ubuntu5 [289 kB] 70s Get:37 http://ftpmaster.internal/ubuntu noble-proposed/main armhf sudo armhf 1.9.15p5-3ubuntu3 [936 kB] 70s Get:38 http://ftpmaster.internal/ubuntu noble-proposed/main armhf rsync armhf 3.2.7-1build1 [413 kB] 70s Get:39 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-cryptography armhf 41.0.7-4build2 [788 kB] 70s Get:40 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssl armhf 3.0.13-0ubuntu2 [975 kB] 70s Get:41 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-sftp-server armhf 1:9.6p1-3ubuntu11 [35.5 kB] 70s Get:42 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-client armhf 1:9.6p1-3ubuntu11 [890 kB] 70s Get:43 http://ftpmaster.internal/ubuntu noble-proposed/main armhf openssh-server armhf 1:9.6p1-3ubuntu11 [503 kB] 70s Get:44 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-6.8.0-20 all 6.8.0-20.20 [13.6 MB] 70s Get:45 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-6.8.0-20-generic armhf 6.8.0-20.20 [1287 kB] 70s Get:46 http://ftpmaster.internal/ubuntu noble-proposed/main armhf linux-headers-generic armhf 6.8.0-20.20+1 [9610 B] 70s Get:47 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libssl3t64 armhf 3.0.13-0ubuntu2 [1558 kB] 71s Get:48 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnss-systemd armhf 255.4-1ubuntu5 [148 kB] 71s Get:49 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libudev1 armhf 255.4-1ubuntu5 [166 kB] 71s Get:50 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd armhf 255.4-1ubuntu5 [3502 kB] 71s Get:51 http://ftpmaster.internal/ubuntu noble-proposed/main armhf udev armhf 255.4-1ubuntu5 [1852 kB] 71s Get:52 http://ftpmaster.internal/ubuntu noble-proposed/main armhf systemd-sysv armhf 255.4-1ubuntu5 [11.9 kB] 71s Get:53 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-systemd armhf 255.4-1ubuntu5 [216 kB] 71s Get:54 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsystemd0 armhf 255.4-1ubuntu5 [410 kB] 71s Get:55 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-modules-bin armhf 1.5.3-5ubuntu3 [47.0 kB] 71s Get:56 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-modules armhf 1.5.3-5ubuntu3 [261 kB] 71s Get:57 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpam-runtime all 1.5.3-5ubuntu3 [40.8 kB] 71s Get:58 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-user-session armhf 1.14.10-4ubuntu2 [9962 B] 71s Get:59 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libapparmor1 armhf 4.0.0-beta3-0ubuntu2 [45.0 kB] 71s Get:60 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libexpat1 armhf 2.6.1-2 [65.9 kB] 71s Get:61 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-system-bus-common all 1.14.10-4ubuntu2 [81.5 kB] 71s Get:62 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-bin armhf 1.14.10-4ubuntu2 [37.1 kB] 71s Get:63 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus armhf 1.14.10-4ubuntu2 [28.1 kB] 71s Get:64 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dbus-daemon armhf 1.14.10-4ubuntu2 [109 kB] 71s Get:65 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdbus-1-3 armhf 1.14.10-4ubuntu2 [190 kB] 71s Get:66 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmount1 armhf 2.39.3-9ubuntu2 [171 kB] 71s Get:67 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libseccomp2 armhf 2.5.5-1ubuntu2 [49.5 kB] 71s Get:68 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdevmapper1.02.1 armhf 2:1.02.185-3ubuntu2 [135 kB] 71s Get:69 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libuuid1 armhf 2.39.3-9ubuntu2 [34.4 kB] 71s Get:70 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcryptsetup12 armhf 2:2.7.0-1ubuntu2 [238 kB] 71s Get:71 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfdisk1 armhf 2.39.3-9ubuntu2 [196 kB] 71s Get:72 http://ftpmaster.internal/ubuntu noble-proposed/main armhf mount armhf 2.39.3-9ubuntu2 [134 kB] 71s Get:73 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-utils3 armhf 3.1.0-1build1 [16.9 kB] 71s Get:74 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libvolume-key1 armhf 0.3.12-7build1 [38.4 kB] 71s Get:75 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjcat1 armhf 0.2.0-2build2 [30.4 kB] 71s Get:76 http://ftpmaster.internal/ubuntu noble-proposed/main armhf parted armhf 3.6-3.1build2 [39.4 kB] 71s Get:77 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libparted2t64 armhf 3.6-3.1build2 [143 kB] 71s Get:78 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.12 armhf 3.12.2-4build3 [645 kB] 71s Get:79 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.12-minimal armhf 3.12.2-4build3 [1942 kB] 71s Get:80 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.12-stdlib armhf 3.12.2-4build3 [1906 kB] 71s Get:81 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.12-minimal armhf 3.12.2-4build3 [816 kB] 71s Get:82 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-modules-db armhf 2.1.28+dfsg1-5ubuntu1 [19.0 kB] 71s Get:83 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.11 armhf 3.11.8-1build4 [589 kB] 71s Get:84 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3.11-minimal armhf 3.11.8-1build4 [1795 kB] 71s Get:85 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.11-stdlib armhf 3.11.8-1build4 [1810 kB] 71s Get:86 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3.11-minimal armhf 3.11.8-1build4 [826 kB] 71s Get:87 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsqlite3-0 armhf 3.45.1-1ubuntu1 [599 kB] 71s Get:88 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtext-iconv-perl armhf 1.7-8build2 [12.7 kB] 71s Get:89 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtext-charwidth-perl armhf 0.04-11build2 [8962 B] 71s Get:90 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl-modules-5.38 all 5.38.2-3.2 [3110 kB] 71s Get:91 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdb5.3t64 armhf 5.3.28+dfsg2-6 [661 kB] 71s Get:92 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-gdbm armhf 3.12.2-3ubuntu2 [17.1 kB] 71s Get:93 http://ftpmaster.internal/ubuntu noble-proposed/main armhf man-db armhf 2.12.0-3build4 [1196 kB] 71s Get:94 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgdbm6t64 armhf 1.23-5.1 [30.3 kB] 71s Get:95 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgdbm-compat4t64 armhf 1.23-5.1 [6208 B] 71s Get:96 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libperl5.38t64 armhf 5.38.2-3.2 [4101 kB] 71s Get:97 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl armhf 5.38.2-3.2 [231 kB] 71s Get:98 http://ftpmaster.internal/ubuntu noble-proposed/main armhf perl-base armhf 5.38.2-3.2 [1671 kB] 71s Get:99 http://ftpmaster.internal/ubuntu noble-proposed/main armhf liblocale-gettext-perl armhf 1.07-6ubuntu3 [15.0 kB] 71s Get:100 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnettle8t64 armhf 3.9.1-2.2 [187 kB] 71s Get:101 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libhogweed6t64 armhf 3.9.1-2.2 [187 kB] 72s Get:102 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgnutls30t64 armhf 3.8.3-1.1ubuntu2 [1046 kB] 72s Get:103 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libldap2 armhf 2.6.7+dfsg-1~exp1ubuntu6 [172 kB] 72s Get:104 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libcurl3t64-gnutls armhf 8.5.0-2ubuntu7 [290 kB] 72s Get:105 http://ftpmaster.internal/ubuntu noble-proposed/main armhf shared-mime-info armhf 2.4-1build1 [470 kB] 72s Get:106 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gir1.2-girepository-2.0 armhf 1.79.1-1ubuntu6 [24.8 kB] 72s Get:107 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gir1.2-glib-2.0 armhf 2.79.3-3ubuntu5 [182 kB] 72s Get:108 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgirepository-1.0-1 armhf 1.79.1-1ubuntu6 [106 kB] 72s Get:109 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-gi armhf 3.47.0-3build1 [219 kB] 72s Get:110 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-dbus armhf 1.3.2-5build2 [94.7 kB] 72s Get:111 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnetplan1 armhf 1.0-1 [113 kB] 72s Get:112 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-netplan armhf 1.0-1 [22.5 kB] 72s Get:113 http://ftpmaster.internal/ubuntu noble-proposed/main armhf netplan-generator armhf 1.0-1 [58.7 kB] 72s Get:114 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools-bin armhf 0.142ubuntu23 [20.3 kB] 72s Get:115 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools-core all 0.142ubuntu23 [50.1 kB] 72s Get:116 http://ftpmaster.internal/ubuntu noble-proposed/main armhf initramfs-tools all 0.142ubuntu23 [9058 B] 72s Get:117 http://ftpmaster.internal/ubuntu noble-proposed/main armhf netplan.io armhf 1.0-1 [64.3 kB] 72s Get:118 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxmlb2 armhf 0.3.15-1build1 [57.0 kB] 72s Get:119 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqrtr-glib0 armhf 1.2.2-1ubuntu3 [15.4 kB] 72s Get:120 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqmi-glib5 armhf 1.35.2-0ubuntu1 [908 kB] 72s Get:121 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libqmi-proxy armhf 1.35.2-0ubuntu1 [5732 B] 72s Get:122 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpolkit-agent-1-0 armhf 124-1ubuntu1 [15.3 kB] 72s Get:123 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpolkit-gobject-1-0 armhf 124-1ubuntu1 [44.1 kB] 72s Get:124 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libglib2.0-0t64 armhf 2.79.3-3ubuntu5 [1414 kB] 72s Get:125 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfwupd2 armhf 1.9.15-1 [123 kB] 72s Get:126 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libarchive13t64 armhf 3.7.2-1.1ubuntu2 [330 kB] 72s Get:127 http://ftpmaster.internal/ubuntu noble-proposed/main armhf fwupd armhf 1.9.15-1 [4349 kB] 72s Get:128 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apt-utils armhf 2.7.13ubuntu1 [210 kB] 72s Get:129 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libapt-pkg6.0t64 armhf 2.7.13ubuntu1 [986 kB] 72s Get:130 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apt armhf 2.7.13ubuntu1 [1367 kB] 73s Get:131 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ubuntu-pro-client-l10n armhf 31.2 [19.4 kB] 73s Get:132 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ubuntu-pro-client armhf 31.2 [216 kB] 73s Get:133 http://ftpmaster.internal/ubuntu noble-proposed/main armhf keyboxd armhf 2.4.4-2ubuntu15 [111 kB] 73s Get:134 http://ftpmaster.internal/ubuntu noble/main armhf libnpth0t64 armhf 1.6-3.1 [6940 B] 73s Get:135 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgv armhf 2.4.4-2ubuntu15 [224 kB] 73s Get:136 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg armhf 2.4.4-2ubuntu15 [524 kB] 73s Get:137 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg-wks-client armhf 2.4.4-2ubuntu15 [87.4 kB] 73s Get:138 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg-utils armhf 2.4.4-2ubuntu15 [158 kB] 73s Get:139 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpg-agent armhf 2.4.4-2ubuntu15 [235 kB] 73s Get:140 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgsm armhf 2.4.4-2ubuntu15 [241 kB] 73s Get:141 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libreadline8t64 armhf 8.2-3.1 [129 kB] 73s Get:142 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gawk armhf 1:5.2.1-2build2 [415 kB] 73s Get:143 http://ftpmaster.internal/ubuntu noble-proposed/main armhf fdisk armhf 2.39.3-9ubuntu2 [135 kB] 73s Get:144 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gpgconf armhf 2.4.4-2ubuntu15 [115 kB] 73s Get:145 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dirmngr armhf 2.4.4-2ubuntu15 [346 kB] 73s Get:146 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg all 2.4.4-2ubuntu15 [359 kB] 73s Get:147 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-apt armhf 2.7.6build1 [162 kB] 73s Get:148 http://ftpmaster.internal/ubuntu noble-proposed/main armhf pinentry-curses armhf 1.2.1-3ubuntu4 [36.7 kB] 73s Get:149 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-yaml armhf 6.0.1-2build1 [117 kB] 73s Get:150 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python-apt-common all 2.7.6build1 [19.8 kB] 73s Get:151 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-setuptools all 68.1.2-2ubuntu1 [396 kB] 73s Get:152 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-pkg-resources all 68.1.2-2ubuntu1 [168 kB] 73s Get:153 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dpkg armhf 1.22.6ubuntu4 [1229 kB] 73s Get:154 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-minimal armhf 3.12.2-0ubuntu1 [27.1 kB] 73s Get:155 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3 armhf 3.12.2-0ubuntu1 [24.1 kB] 73s Get:156 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpython3-stdlib armhf 3.12.2-0ubuntu1 [9802 B] 73s Get:157 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsmartcols1 armhf 2.39.3-9ubuntu2 [117 kB] 73s Get:158 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bsdextrautils armhf 2.39.3-9ubuntu2 [78.7 kB] 73s Get:159 http://ftpmaster.internal/ubuntu noble-proposed/main armhf groff-base armhf 1.23.0-3build1 [946 kB] 73s Get:160 http://ftpmaster.internal/ubuntu noble-proposed/main armhf readline-common all 8.2-3.1 [56.4 kB] 73s Get:161 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgpgme11t64 armhf 1.18.0-4.1ubuntu3 [120 kB] 73s Get:162 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-crypto3 armhf 3.1.0-1build1 [20.3 kB] 73s Get:163 http://ftpmaster.internal/ubuntu noble-proposed/main armhf e2fsprogs-l10n all 1.47.0-2.4~exp1ubuntu2 [5996 B] 73s Get:164 http://ftpmaster.internal/ubuntu noble-proposed/main armhf logsave armhf 1.47.0-2.4~exp1ubuntu2 [21.9 kB] 73s Get:165 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dhcpcd-base armhf 1:10.0.6-1ubuntu2 [186 kB] 73s Get:166 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-fs3 armhf 3.1.0-1build1 [34.4 kB] 73s Get:167 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libreiserfscore0t64 armhf 1:3.6.27-7.1 [66.2 kB] 73s Get:168 http://ftpmaster.internal/ubuntu noble-proposed/main armhf btrfs-progs armhf 6.6.3-1.1build1 [852 kB] 73s Get:169 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libext2fs2t64 armhf 1.47.0-2.4~exp1ubuntu2 [201 kB] 73s Get:170 http://ftpmaster.internal/ubuntu noble-proposed/main armhf e2fsprogs armhf 1.47.0-2.4~exp1ubuntu2 [571 kB] 73s Get:171 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-loop3 armhf 3.1.0-1build1 [6502 B] 73s Get:172 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-mdraid3 armhf 3.1.0-1build1 [13.3 kB] 73s Get:173 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-nvme3 armhf 3.1.0-1build1 [17.5 kB] 73s Get:174 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnvme1t64 armhf 1.8-3 [67.5 kB] 73s Get:175 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-part3 armhf 3.1.0-1build1 [16.4 kB] 73s Get:176 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev-swap3 armhf 3.1.0-1build1 [8894 B] 73s Get:177 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libblockdev3 armhf 3.1.0-1build1 [42.9 kB] 73s Get:178 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgudev-1.0-0 armhf 1:238-3ubuntu2 [13.6 kB] 73s Get:179 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxml2 armhf 2.9.14+dfsg-1.3ubuntu2 [595 kB] 73s Get:180 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbpf1 armhf 1:1.3.0-2build1 [146 kB] 73s Get:181 http://ftpmaster.internal/ubuntu noble-proposed/main armhf iproute2 armhf 6.1.0-1ubuntu5 [1060 kB] 73s Get:182 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libelf1t64 armhf 0.190-1.1build2 [49.9 kB] 73s Get:183 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtirpc-common all 1.3.4+ds-1.1 [8018 B] 73s Get:184 http://ftpmaster.internal/ubuntu noble-proposed/main armhf lsof armhf 4.95.0-1build2 [248 kB] 73s Get:185 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnsl2 armhf 1.3.0-3build2 [36.5 kB] 73s Get:186 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libtirpc3t64 armhf 1.3.4+ds-1.1 [73.2 kB] 73s Get:187 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmbim-proxy armhf 1.31.2-0ubuntu2 [5748 B] 73s Get:188 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmbim-glib4 armhf 1.31.2-0ubuntu2 [216 kB] 73s Get:189 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjson-glib-1.0-common all 1.8.0-2build1 [4210 B] 73s Get:190 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjson-glib-1.0-0 armhf 1.8.0-2build1 [61.2 kB] 73s Get:191 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libnghttp2-14 armhf 1.59.0-1build1 [68.1 kB] 73s Get:192 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libssh-4 armhf 0.10.6-2build1 [169 kB] 73s Get:193 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libusb-1.0-0 armhf 2:1.0.27-1 [48.7 kB] 73s Get:194 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libgusb2 armhf 0.4.8-1build1 [34.6 kB] 73s Get:195 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmm-glib0 armhf 1.23.4-0ubuntu1 [214 kB] 73s Get:196 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-2 armhf 2.1.28+dfsg1-5ubuntu1 [49.7 kB] 73s Get:197 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libibverbs1 armhf 50.0-2build1 [57.9 kB] 73s Get:198 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libfido2-1 armhf 1.14.0-1build1 [75.8 kB] 73s Get:199 http://ftpmaster.internal/ubuntu noble-proposed/main armhf coreutils armhf 9.4-3ubuntu3 [1280 kB] 73s Get:200 http://ftpmaster.internal/ubuntu noble-proposed/main armhf util-linux armhf 2.39.3-9ubuntu2 [1216 kB] 73s Get:201 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libc-bin armhf 2.39-0ubuntu6 [530 kB] 73s Get:202 http://ftpmaster.internal/ubuntu noble-proposed/main armhf file armhf 1:5.45-3 [21.1 kB] 74s Get:203 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmagic-mgc armhf 1:5.45-3 [307 kB] 74s Get:204 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libmagic1t64 armhf 1:5.45-3 [81.4 kB] 74s Get:205 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libplymouth5 armhf 24.004.60-1ubuntu6 [140 kB] 74s Get:206 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libpng16-16t64 armhf 1.6.43-3 [166 kB] 74s Get:207 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-host armhf 1:9.18.24-0ubuntu3 [47.4 kB] 74s Get:208 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-dnsutils armhf 1:9.18.24-0ubuntu3 [149 kB] 74s Get:209 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bind9-libs armhf 1:9.18.24-0ubuntu3 [1148 kB] 74s Get:210 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libuv1t64 armhf 1.48.0-1.1 [82.9 kB] 74s Get:211 http://ftpmaster.internal/ubuntu noble-proposed/main armhf uuid-runtime armhf 2.39.3-9ubuntu2 [41.7 kB] 74s Get:212 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdebconfclient0 armhf 0.271ubuntu2 [10.8 kB] 74s Get:213 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsemanage-common all 3.5-1build4 [10.1 kB] 74s Get:214 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsemanage2 armhf 3.5-1build4 [84.5 kB] 74s Get:215 http://ftpmaster.internal/ubuntu noble-proposed/main armhf install-info armhf 7.1-3build1 [60.5 kB] 74s Get:216 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gcc-13-base armhf 13.2.0-19ubuntu1 [47.7 kB] 74s Get:217 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libss2 armhf 1.47.0-2.4~exp1ubuntu2 [14.7 kB] 74s Get:218 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dmsetup armhf 2:1.02.185-3ubuntu2 [81.1 kB] 74s Get:219 http://ftpmaster.internal/ubuntu noble-proposed/main armhf eject armhf 2.39.3-9ubuntu2 [43.2 kB] 74s Get:220 http://ftpmaster.internal/ubuntu noble-proposed/main armhf krb5-locales all 1.20.1-5.1ubuntu1 [13.9 kB] 74s Get:221 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbsd0 armhf 0.12.1-1 [36.6 kB] 74s Get:222 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libglib2.0-data all 2.79.3-3ubuntu5 [46.6 kB] 74s Get:223 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libslang2 armhf 2.3.3-3build1 [478 kB] 74s Get:224 http://ftpmaster.internal/ubuntu noble-proposed/main armhf locales all 2.39-0ubuntu6 [4232 kB] 74s Get:225 http://ftpmaster.internal/ubuntu noble-proposed/main armhf vim-tiny armhf 2:9.1.0016-1ubuntu5 [665 kB] 74s Get:226 http://ftpmaster.internal/ubuntu noble-proposed/main armhf vim-common all 2:9.1.0016-1ubuntu5 [385 kB] 74s Get:227 http://ftpmaster.internal/ubuntu noble/main armhf xdg-user-dirs armhf 0.18-1 [17.3 kB] 74s Get:228 http://ftpmaster.internal/ubuntu noble-proposed/main armhf xxd armhf 2:9.1.0016-1ubuntu5 [62.4 kB] 74s Get:229 http://ftpmaster.internal/ubuntu noble-proposed/main armhf apparmor armhf 4.0.0-beta3-0ubuntu2 [562 kB] 74s Get:230 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ftp all 20230507-2build1 [4724 B] 74s Get:231 http://ftpmaster.internal/ubuntu noble-proposed/main armhf inetutils-telnet armhf 2:2.5-3ubuntu3 [90.7 kB] 74s Get:232 http://ftpmaster.internal/ubuntu noble-proposed/main armhf info armhf 7.1-3build1 [127 kB] 74s Get:233 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libxmuu1 armhf 2:1.1.3-3build1 [8004 B] 74s Get:234 http://ftpmaster.internal/ubuntu noble-proposed/main armhf lshw armhf 02.19.git.2021.06.19.996aaad9c7-2build2 [310 kB] 74s Get:235 http://ftpmaster.internal/ubuntu noble-proposed/main armhf mtr-tiny armhf 0.95-1.1build1 [51.7 kB] 74s Get:236 http://ftpmaster.internal/ubuntu noble-proposed/main armhf plymouth-theme-ubuntu-text armhf 24.004.60-1ubuntu6 [9818 B] 74s Get:237 http://ftpmaster.internal/ubuntu noble-proposed/main armhf plymouth armhf 24.004.60-1ubuntu6 [142 kB] 74s Get:238 http://ftpmaster.internal/ubuntu noble-proposed/main armhf psmisc armhf 23.7-1 [176 kB] 74s Get:239 http://ftpmaster.internal/ubuntu noble-proposed/main armhf telnet all 0.17+2.5-3ubuntu3 [3682 B] 74s Get:240 http://ftpmaster.internal/ubuntu noble-proposed/main armhf usb.ids all 2024.03.18-1 [223 kB] 74s Get:241 http://ftpmaster.internal/ubuntu noble-proposed/main armhf xz-utils armhf 5.6.0-0.2 [271 kB] 74s Get:242 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libctf0 armhf 2.42-4ubuntu1 [87.7 kB] 74s Get:243 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libctf-nobfd0 armhf 2.42-4ubuntu1 [88.0 kB] 74s Get:244 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils-arm-linux-gnueabihf armhf 2.42-4ubuntu1 [2925 kB] 75s Get:245 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libbinutils armhf 2.42-4ubuntu1 [464 kB] 75s Get:246 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils armhf 2.42-4ubuntu1 [3078 B] 75s Get:247 http://ftpmaster.internal/ubuntu noble-proposed/main armhf binutils-common armhf 2.42-4ubuntu1 [217 kB] 75s Get:248 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsframe1 armhf 2.42-4ubuntu1 [13.1 kB] 75s Get:249 http://ftpmaster.internal/ubuntu noble-proposed/main armhf bolt armhf 0.9.6-2build1 [138 kB] 75s Get:250 http://ftpmaster.internal/ubuntu noble-proposed/main armhf cryptsetup-bin armhf 2:2.7.0-1ubuntu2 [214 kB] 75s Get:251 http://ftpmaster.internal/ubuntu noble-proposed/main armhf dpkg-dev all 1.22.6ubuntu4 [1074 kB] 75s Get:252 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libdpkg-perl all 1.22.6ubuntu4 [268 kB] 75s Get:253 http://ftpmaster.internal/ubuntu noble-proposed/main armhf gnupg-l10n all 2.4.4-2ubuntu15 [65.8 kB] 75s Get:254 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ibverbs-providers armhf 50.0-2build1 [27.4 kB] 75s Get:255 http://ftpmaster.internal/ubuntu noble-proposed/main armhf jq armhf 1.7.1-3 [65.2 kB] 75s Get:256 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libjq1 armhf 1.7.1-3 [156 kB] 75s Get:257 http://ftpmaster.internal/ubuntu noble/main armhf libatm1t64 armhf 1:2.5.1-5.1 [20.0 kB] 75s Get:258 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libevent-core-2.1-7 armhf 2.1.12-stable-9build1 [82.3 kB] 75s Get:259 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libftdi1-2 armhf 1.5-6build4 [25.7 kB] 75s Get:260 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libldap-common all 2.6.7+dfsg-1~exp1ubuntu6 [31.3 kB] 75s Get:261 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libsasl2-modules armhf 2.1.28+dfsg1-5ubuntu1 [61.3 kB] 75s Get:262 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-lib2to3 all 3.12.2-3ubuntu2 [79.3 kB] 75s Get:263 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-pyrsistent armhf 0.20.0-1build1 [53.0 kB] 75s Get:264 http://ftpmaster.internal/ubuntu noble-proposed/main armhf python3-typing-extensions all 4.10.0-1 [60.7 kB] 75s Get:265 http://ftpmaster.internal/ubuntu noble-proposed/main armhf kpartx armhf 0.9.4-5ubuntu5 [31.4 kB] 76s Preconfiguring packages ... 76s Fetched 106 MB in 6s (18.2 MB/s) 76s (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 ... 58619 files and directories currently installed.) 76s Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu2_armhf.deb ... 76s Unpacking bsdutils (1:2.39.3-9ubuntu2) over (1:2.39.3-6ubuntu2) ... 76s Setting up bsdutils (1:2.39.3-9ubuntu2) ... 76s (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 ... 58619 files and directories currently installed.) 76s Preparing to unpack .../gcc-14-base_14-20240315-1ubuntu1_armhf.deb ... 76s Unpacking gcc-14-base:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 76s Setting up gcc-14-base:armhf (14-20240315-1ubuntu1) ... 76s (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 ... 58619 files and directories currently installed.) 76s Preparing to unpack .../libgcc-s1_14-20240315-1ubuntu1_armhf.deb ... 76s Unpacking libgcc-s1:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 76s Setting up libgcc-s1:armhf (14-20240315-1ubuntu1) ... 76s (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 ... 58619 files and directories currently installed.) 76s Preparing to unpack .../libstdc++6_14-20240315-1ubuntu1_armhf.deb ... 76s Unpacking libstdc++6:armhf (14-20240315-1ubuntu1) over (14-20240303-1ubuntu1) ... 76s Setting up libstdc++6:armhf (14-20240315-1ubuntu1) ... 76s (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 ... 58619 files and directories currently installed.) 76s Preparing to unpack .../libc6_2.39-0ubuntu6_armhf.deb ... 76s Unpacking libc6:armhf (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 77s Setting up libc6:armhf (2.39-0ubuntu6) ... 77s (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 ... 58619 files and directories currently installed.) 77s Preparing to unpack .../0-libbrotli1_1.1.0-2build1_armhf.deb ... 77s Unpacking libbrotli1:armhf (1.1.0-2build1) over (1.1.0-2) ... 77s Preparing to unpack .../1-libgssapi-krb5-2_1.20.1-5.1ubuntu1_armhf.deb ... 77s Unpacking libgssapi-krb5-2:armhf (1.20.1-5.1ubuntu1) over (1.20.1-5build1) ... 77s Preparing to unpack .../2-libkrb5-3_1.20.1-5.1ubuntu1_armhf.deb ... 77s Unpacking libkrb5-3:armhf (1.20.1-5.1ubuntu1) over (1.20.1-5build1) ... 77s Preparing to unpack .../3-libkrb5support0_1.20.1-5.1ubuntu1_armhf.deb ... 77s Unpacking libkrb5support0:armhf (1.20.1-5.1ubuntu1) over (1.20.1-5build1) ... 77s Preparing to unpack .../4-libk5crypto3_1.20.1-5.1ubuntu1_armhf.deb ... 77s Unpacking libk5crypto3:armhf (1.20.1-5.1ubuntu1) over (1.20.1-5build1) ... 77s Preparing to unpack .../5-libcom-err2_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 77s Unpacking libcom-err2:armhf (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 77s Preparing to unpack .../6-zlib1g_1%3a1.3.dfsg-3.1ubuntu1_armhf.deb ... 77s Unpacking zlib1g:armhf (1:1.3.dfsg-3.1ubuntu1) over (1:1.3.dfsg-3ubuntu1) ... 77s Setting up zlib1g:armhf (1:1.3.dfsg-3.1ubuntu1) ... 78s (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 ... 58619 files and directories currently installed.) 78s Preparing to unpack .../librtmp1_2.4+20151223.gitfa8646d.1-2build6_armhf.deb ... 78s Unpacking librtmp1:armhf (2.4+20151223.gitfa8646d.1-2build6) over (2.4+20151223.gitfa8646d.1-2build4) ... 78s Preparing to unpack .../udisks2_2.10.1-6_armhf.deb ... 78s Unpacking udisks2 (2.10.1-6) over (2.10.1-1ubuntu2) ... 78s Preparing to unpack .../libudisks2-0_2.10.1-6_armhf.deb ... 78s Unpacking libudisks2-0:armhf (2.10.1-6) over (2.10.1-1ubuntu2) ... 78s Preparing to unpack .../libblkid1_2.39.3-9ubuntu2_armhf.deb ... 78s Unpacking libblkid1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 78s Setting up libblkid1:armhf (2.39.3-9ubuntu2) ... 78s (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 ... 58619 files and directories currently installed.) 78s Preparing to unpack .../liblzma5_5.6.0-0.2_armhf.deb ... 78s Unpacking liblzma5:armhf (5.6.0-0.2) over (5.4.5-0.3) ... 78s Setting up liblzma5:armhf (5.6.0-0.2) ... 78s (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 ... 58619 files and directories currently installed.) 78s Preparing to unpack .../0-kmod_31+20240202-2ubuntu4_armhf.deb ... 78s Unpacking kmod (31+20240202-2ubuntu4) over (30+20230601-2ubuntu1) ... 78s dpkg: warning: unable to delete old directory '/lib/modprobe.d': Directory not empty 78s Preparing to unpack .../1-libkmod2_31+20240202-2ubuntu4_armhf.deb ... 78s Unpacking libkmod2:armhf (31+20240202-2ubuntu4) over (30+20230601-2ubuntu1) ... 78s Preparing to unpack .../2-systemd-dev_255.4-1ubuntu5_all.deb ... 78s Unpacking systemd-dev (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 78s Preparing to unpack .../3-systemd-timesyncd_255.4-1ubuntu5_armhf.deb ... 78s Unpacking systemd-timesyncd (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 78s Preparing to unpack .../4-dbus-session-bus-common_1.14.10-4ubuntu2_all.deb ... 78s Unpacking dbus-session-bus-common (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 78s Preparing to unpack .../5-libaudit-common_1%3a3.1.2-2.1_all.deb ... 78s Unpacking libaudit-common (1:3.1.2-2.1) over (1:3.1.2-2) ... 78s Setting up libaudit-common (1:3.1.2-2.1) ... 78s (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 ... 58618 files and directories currently installed.) 78s Preparing to unpack .../libcap-ng0_0.8.4-2build1_armhf.deb ... 78s Unpacking libcap-ng0:armhf (0.8.4-2build1) over (0.8.4-2) ... 78s Setting up libcap-ng0:armhf (0.8.4-2build1) ... 78s (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 ... 58618 files and directories currently installed.) 78s Preparing to unpack .../libaudit1_1%3a3.1.2-2.1_armhf.deb ... 78s Unpacking libaudit1:armhf (1:3.1.2-2.1) over (1:3.1.2-2) ... 78s Setting up libaudit1:armhf (1:3.1.2-2.1) ... 78s (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 ... 58618 files and directories currently installed.) 78s Preparing to unpack .../libpam0g_1.5.3-5ubuntu3_armhf.deb ... 78s Unpacking libpam0g:armhf (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 78s Setting up libpam0g:armhf (1.5.3-5ubuntu3) ... 78s (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 ... 58618 files and directories currently installed.) 78s Preparing to unpack .../libselinux1_3.5-2ubuntu1_armhf.deb ... 78s Unpacking libselinux1:armhf (3.5-2ubuntu1) over (3.5-2build1) ... 78s Setting up libselinux1:armhf (3.5-2ubuntu1) ... 79s dpkg: libcurl4:armhf: dependency problems, but removing anyway as you requested: 79s curl depends on libcurl4 (= 8.5.0-2ubuntu2). 79s 79s (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 ... 58618 files and directories currently installed.) 79s Removing libcurl4:armhf (8.5.0-2ubuntu2) ... 79s Selecting previously unselected package libcurl4t64:armhf. 79s (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 ... 58613 files and directories currently installed.) 79s Preparing to unpack .../libcurl4t64_8.5.0-2ubuntu7_armhf.deb ... 79s Unpacking libcurl4t64:armhf (8.5.0-2ubuntu7) ... 79s Preparing to unpack .../curl_8.5.0-2ubuntu7_armhf.deb ... 79s Unpacking curl (8.5.0-2ubuntu7) over (8.5.0-2ubuntu2) ... 79s dpkg: libpsl5:armhf: dependency problems, but removing anyway as you requested: 79s wget depends on libpsl5 (>= 0.16.0). 79s libcurl3-gnutls:armhf depends on libpsl5 (>= 0.16.0). 79s 79s (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 ... 58619 files and directories currently installed.) 79s Removing libpsl5:armhf (0.21.2-1build1) ... 79s Selecting previously unselected package libpsl5t64:armhf. 79s (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 ... 58614 files and directories currently installed.) 79s Preparing to unpack .../libpsl5t64_0.21.2-1.1_armhf.deb ... 79s Unpacking libpsl5t64:armhf (0.21.2-1.1) ... 79s Preparing to unpack .../wget_1.21.4-1ubuntu2_armhf.deb ... 79s Unpacking wget (1.21.4-1ubuntu2) over (1.21.4-1ubuntu1) ... 79s Preparing to unpack .../tnftp_20230507-2build1_armhf.deb ... 79s Unpacking tnftp (20230507-2build1) over (20230507-2) ... 79s dpkg: libpcap0.8:armhf: dependency problems, but removing anyway as you requested: 79s tcpdump depends on libpcap0.8 (>= 1.9.1). 79s 79s (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 ... 58620 files and directories currently installed.) 79s Removing libpcap0.8:armhf (1.10.4-4ubuntu3) ... 79s Selecting previously unselected package libpcap0.8t64:armhf. 79s (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 ... 58609 files and directories currently installed.) 79s Preparing to unpack .../00-libpcap0.8t64_1.10.4-4.1ubuntu1_armhf.deb ... 79s Unpacking libpcap0.8t64:armhf (1.10.4-4.1ubuntu1) ... 79s Preparing to unpack .../01-tcpdump_4.99.4-3ubuntu2_armhf.deb ... 79s Unpacking tcpdump (4.99.4-3ubuntu2) over (4.99.4-3ubuntu1) ... 79s Preparing to unpack .../02-libsystemd-shared_255.4-1ubuntu5_armhf.deb ... 79s Unpacking libsystemd-shared:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 79s Preparing to unpack .../03-systemd-resolved_255.4-1ubuntu5_armhf.deb ... 79s Unpacking systemd-resolved (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 79s Preparing to unpack .../04-sudo_1.9.15p5-3ubuntu3_armhf.deb ... 79s Unpacking sudo (1.9.15p5-3ubuntu3) over (1.9.15p5-3ubuntu1) ... 79s Preparing to unpack .../05-rsync_3.2.7-1build1_armhf.deb ... 79s Unpacking rsync (3.2.7-1build1) over (3.2.7-1) ... 79s Preparing to unpack .../06-python3-cryptography_41.0.7-4build2_armhf.deb ... 79s Unpacking python3-cryptography (41.0.7-4build2) over (41.0.7-3) ... 80s Preparing to unpack .../07-openssl_3.0.13-0ubuntu2_armhf.deb ... 80s Unpacking openssl (3.0.13-0ubuntu2) over (3.0.10-1ubuntu4) ... 80s Preparing to unpack .../08-openssh-sftp-server_1%3a9.6p1-3ubuntu11_armhf.deb ... 80s Unpacking openssh-sftp-server (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 80s Preparing to unpack .../09-openssh-client_1%3a9.6p1-3ubuntu11_armhf.deb ... 80s Unpacking openssh-client (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 80s Preparing to unpack .../10-openssh-server_1%3a9.6p1-3ubuntu11_armhf.deb ... 80s Unpacking openssh-server (1:9.6p1-3ubuntu11) over (1:9.6p1-3ubuntu2) ... 80s Selecting previously unselected package linux-headers-6.8.0-20. 80s Preparing to unpack .../11-linux-headers-6.8.0-20_6.8.0-20.20_all.deb ... 80s Unpacking linux-headers-6.8.0-20 (6.8.0-20.20) ... 83s Selecting previously unselected package linux-headers-6.8.0-20-generic. 83s Preparing to unpack .../12-linux-headers-6.8.0-20-generic_6.8.0-20.20_armhf.deb ... 83s Unpacking linux-headers-6.8.0-20-generic (6.8.0-20.20) ... 84s Preparing to unpack .../13-linux-headers-generic_6.8.0-20.20+1_armhf.deb ... 84s Unpacking linux-headers-generic (6.8.0-20.20+1) over (6.8.0-11.11+1) ... 85s (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 ... 89772 files and directories currently installed.) 85s Removing linux-headers-6.8.0-11-generic (6.8.0-11.11) ... 85s dpkg: libssl3:armhf: dependency problems, but removing anyway as you requested: 85s systemd depends on libssl3 (>= 3.0.0). 85s libssh-4:armhf depends on libssl3 (>= 3.0.0). 85s libsasl2-modules:armhf depends on libssl3 (>= 3.0.0). 85s libsasl2-2:armhf depends on libssl3 (>= 3.0.0). 85s libpython3.12-minimal:armhf depends on libssl3 (>= 3.0.0). 85s libpython3.11-minimal:armhf depends on libssl3 (>= 3.0.0). 85s libnvme1 depends on libssl3 (>= 3.0.0). 85s libfido2-1:armhf depends on libssl3 (>= 3.0.0). 85s libcryptsetup12:armhf depends on libssl3 (>= 3.0.0). 85s dhcpcd-base depends on libssl3 (>= 3.0.0). 85s bind9-libs:armhf depends on libssl3 (>= 3.0.0). 85s 85s Removing libssl3:armhf (3.0.10-1ubuntu4) ... 85s Selecting previously unselected package libssl3t64:armhf. 85s (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 ... 78622 files and directories currently installed.) 85s Preparing to unpack .../libssl3t64_3.0.13-0ubuntu2_armhf.deb ... 85s Unpacking libssl3t64:armhf (3.0.13-0ubuntu2) ... 85s Setting up libssl3t64:armhf (3.0.13-0ubuntu2) ... 85s (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 ... 78635 files and directories currently installed.) 85s Preparing to unpack .../libnss-systemd_255.4-1ubuntu5_armhf.deb ... 85s Unpacking libnss-systemd:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 85s Preparing to unpack .../libudev1_255.4-1ubuntu5_armhf.deb ... 85s Unpacking libudev1:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 85s Setting up libudev1:armhf (255.4-1ubuntu5) ... 85s (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 ... 78635 files and directories currently installed.) 85s Preparing to unpack .../systemd_255.4-1ubuntu5_armhf.deb ... 85s Unpacking systemd (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 86s Preparing to unpack .../udev_255.4-1ubuntu5_armhf.deb ... 86s Unpacking udev (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 87s Preparing to unpack .../libsystemd0_255.4-1ubuntu5_armhf.deb ... 87s Unpacking libsystemd0:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 87s Setting up libsystemd0:armhf (255.4-1ubuntu5) ... 87s Setting up libkmod2:armhf (31+20240202-2ubuntu4) ... 87s Setting up libsystemd-shared:armhf (255.4-1ubuntu5) ... 87s Setting up systemd-dev (255.4-1ubuntu5) ... 87s Setting up systemd (255.4-1ubuntu5) ... 87s (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 ... 78635 files and directories currently installed.) 87s Preparing to unpack .../systemd-sysv_255.4-1ubuntu5_armhf.deb ... 87s Unpacking systemd-sysv (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 87s Preparing to unpack .../libpam-systemd_255.4-1ubuntu5_armhf.deb ... 87s Unpacking libpam-systemd:armhf (255.4-1ubuntu5) over (255.2-3ubuntu2) ... 87s Preparing to unpack .../libpam-modules-bin_1.5.3-5ubuntu3_armhf.deb ... 87s Unpacking libpam-modules-bin (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 87s Setting up libpam-modules-bin (1.5.3-5ubuntu3) ... 88s pam_namespace.service is a disabled or a static unit not running, not starting it. 88s (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 ... 78635 files and directories currently installed.) 88s Preparing to unpack .../libpam-modules_1.5.3-5ubuntu3_armhf.deb ... 88s Unpacking libpam-modules:armhf (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 88s Setting up libpam-modules:armhf (1.5.3-5ubuntu3) ... 88s Installing new version of config file /etc/security/namespace.init ... 88s (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 ... 78633 files and directories currently installed.) 88s Preparing to unpack .../libpam-runtime_1.5.3-5ubuntu3_all.deb ... 88s Unpacking libpam-runtime (1.5.3-5ubuntu3) over (1.5.2-9.1ubuntu3) ... 88s Setting up libpam-runtime (1.5.3-5ubuntu3) ... 88s (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 ... 78633 files and directories currently installed.) 88s Preparing to unpack .../0-dbus-user-session_1.14.10-4ubuntu2_armhf.deb ... 88s Unpacking dbus-user-session (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 88s Preparing to unpack .../1-libapparmor1_4.0.0-beta3-0ubuntu2_armhf.deb ... 88s Unpacking libapparmor1:armhf (4.0.0-beta3-0ubuntu2) over (4.0.0~alpha4-0ubuntu1) ... 88s Preparing to unpack .../2-libexpat1_2.6.1-2_armhf.deb ... 88s Unpacking libexpat1:armhf (2.6.1-2) over (2.6.0-1) ... 88s Preparing to unpack .../3-dbus-system-bus-common_1.14.10-4ubuntu2_all.deb ... 88s Unpacking dbus-system-bus-common (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 89s Preparing to unpack .../4-dbus-bin_1.14.10-4ubuntu2_armhf.deb ... 89s Unpacking dbus-bin (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 89s Preparing to unpack .../5-dbus_1.14.10-4ubuntu2_armhf.deb ... 89s Unpacking dbus (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 89s Preparing to unpack .../6-dbus-daemon_1.14.10-4ubuntu2_armhf.deb ... 89s Unpacking dbus-daemon (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 89s Preparing to unpack .../7-libdbus-1-3_1.14.10-4ubuntu2_armhf.deb ... 89s Unpacking libdbus-1-3:armhf (1.14.10-4ubuntu2) over (1.14.10-4ubuntu1) ... 89s Preparing to unpack .../8-libmount1_2.39.3-9ubuntu2_armhf.deb ... 89s Unpacking libmount1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 89s Setting up libmount1:armhf (2.39.3-9ubuntu2) ... 89s (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 ... 78633 files and directories currently installed.) 89s Preparing to unpack .../libseccomp2_2.5.5-1ubuntu2_armhf.deb ... 89s Unpacking libseccomp2:armhf (2.5.5-1ubuntu2) over (2.5.5-1ubuntu1) ... 89s Setting up libseccomp2:armhf (2.5.5-1ubuntu2) ... 89s (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 ... 78633 files and directories currently installed.) 89s Preparing to unpack .../libdevmapper1.02.1_2%3a1.02.185-3ubuntu2_armhf.deb ... 89s Unpacking libdevmapper1.02.1:armhf (2:1.02.185-3ubuntu2) over (2:1.02.185-3ubuntu1) ... 89s Preparing to unpack .../libuuid1_2.39.3-9ubuntu2_armhf.deb ... 89s Unpacking libuuid1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 89s Setting up libuuid1:armhf (2.39.3-9ubuntu2) ... 89s (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 ... 78633 files and directories currently installed.) 89s Preparing to unpack .../0-libcryptsetup12_2%3a2.7.0-1ubuntu2_armhf.deb ... 89s Unpacking libcryptsetup12:armhf (2:2.7.0-1ubuntu2) over (2:2.7.0-1ubuntu1) ... 89s Preparing to unpack .../1-libfdisk1_2.39.3-9ubuntu2_armhf.deb ... 89s Unpacking libfdisk1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 89s Preparing to unpack .../2-mount_2.39.3-9ubuntu2_armhf.deb ... 89s Unpacking mount (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 89s Preparing to unpack .../3-libblockdev-utils3_3.1.0-1build1_armhf.deb ... 89s Unpacking libblockdev-utils3:armhf (3.1.0-1build1) over (3.1.0-1) ... 89s Preparing to unpack .../4-libvolume-key1_0.3.12-7build1_armhf.deb ... 89s Unpacking libvolume-key1:armhf (0.3.12-7build1) over (0.3.12-5build2) ... 89s Preparing to unpack .../5-libjcat1_0.2.0-2build2_armhf.deb ... 89s Unpacking libjcat1:armhf (0.2.0-2build2) over (0.2.0-2) ... 89s (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 ... 78633 files and directories currently installed.) 89s Removing libgpgme11:armhf (1.18.0-4ubuntu1) ... 89s (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 ... 78627 files and directories currently installed.) 89s Preparing to unpack .../parted_3.6-3.1build2_armhf.deb ... 89s Unpacking parted (3.6-3.1build2) over (3.6-3) ... 89s (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 ... 78627 files and directories currently installed.) 89s Removing libparted2:armhf (3.6-3) ... 90s Selecting previously unselected package libparted2t64:armhf. 90s (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 ... 78621 files and directories currently installed.) 90s Preparing to unpack .../00-libparted2t64_3.6-3.1build2_armhf.deb ... 90s Unpacking libparted2t64:armhf (3.6-3.1build2) ... 90s Preparing to unpack .../01-python3.12_3.12.2-4build3_armhf.deb ... 90s Unpacking python3.12 (3.12.2-4build3) over (3.12.2-1) ... 90s Preparing to unpack .../02-python3.12-minimal_3.12.2-4build3_armhf.deb ... 90s Unpacking python3.12-minimal (3.12.2-4build3) over (3.12.2-1) ... 90s Preparing to unpack .../03-libpython3.12-stdlib_3.12.2-4build3_armhf.deb ... 90s Unpacking libpython3.12-stdlib:armhf (3.12.2-4build3) over (3.12.2-1) ... 90s Preparing to unpack .../04-libpython3.12-minimal_3.12.2-4build3_armhf.deb ... 90s Unpacking libpython3.12-minimal:armhf (3.12.2-4build3) over (3.12.2-1) ... 91s Preparing to unpack .../05-libsasl2-modules-db_2.1.28+dfsg1-5ubuntu1_armhf.deb ... 91s Unpacking libsasl2-modules-db:armhf (2.1.28+dfsg1-5ubuntu1) over (2.1.28+dfsg1-4) ... 91s Preparing to unpack .../06-python3.11_3.11.8-1build4_armhf.deb ... 91s Unpacking python3.11 (3.11.8-1build4) over (3.11.8-1) ... 91s Preparing to unpack .../07-python3.11-minimal_3.11.8-1build4_armhf.deb ... 91s Unpacking python3.11-minimal (3.11.8-1build4) over (3.11.8-1) ... 91s Preparing to unpack .../08-libpython3.11-stdlib_3.11.8-1build4_armhf.deb ... 91s Unpacking libpython3.11-stdlib:armhf (3.11.8-1build4) over (3.11.8-1) ... 91s Preparing to unpack .../09-libpython3.11-minimal_3.11.8-1build4_armhf.deb ... 92s Unpacking libpython3.11-minimal:armhf (3.11.8-1build4) over (3.11.8-1) ... 92s Preparing to unpack .../10-libsqlite3-0_3.45.1-1ubuntu1_armhf.deb ... 92s Unpacking libsqlite3-0:armhf (3.45.1-1ubuntu1) over (3.45.1-1) ... 92s Preparing to unpack .../11-libtext-iconv-perl_1.7-8build2_armhf.deb ... 92s Unpacking libtext-iconv-perl:armhf (1.7-8build2) over (1.7-8build1) ... 92s Preparing to unpack .../12-libtext-charwidth-perl_0.04-11build2_armhf.deb ... 92s Unpacking libtext-charwidth-perl:armhf (0.04-11build2) over (0.04-11build1) ... 92s Preparing to unpack .../13-perl-modules-5.38_5.38.2-3.2_all.deb ... 92s Unpacking perl-modules-5.38 (5.38.2-3.2) over (5.38.2-3) ... 93s dpkg: libperl5.38:armhf: dependency problems, but removing anyway as you requested: 93s perl depends on libperl5.38 (= 5.38.2-3). 93s 93s (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 ... 78624 files and directories currently installed.) 93s Removing libperl5.38:armhf (5.38.2-3) ... 93s dpkg: libdb5.3:armhf: dependency problems, but removing anyway as you requested: 93s iproute2 depends on libdb5.3. 93s apt-utils depends on libdb5.3. 93s 93s Removing libdb5.3:armhf (5.3.28+dfsg2-4) ... 93s Selecting previously unselected package libdb5.3t64:armhf. 93s (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 ... 78099 files and directories currently installed.) 93s Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-6_armhf.deb ... 93s Unpacking libdb5.3t64:armhf (5.3.28+dfsg2-6) ... 93s Preparing to unpack .../python3-gdbm_3.12.2-3ubuntu2_armhf.deb ... 93s Unpacking python3-gdbm:armhf (3.12.2-3ubuntu2) over (3.11.5-1) ... 94s Preparing to unpack .../man-db_2.12.0-3build4_armhf.deb ... 94s Unpacking man-db (2.12.0-3build4) over (2.12.0-3) ... 94s (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 ... 78105 files and directories currently installed.) 94s Removing libgdbm-compat4:armhf (1.23-5) ... 94s Removing libgdbm6:armhf (1.23-5) ... 94s Selecting previously unselected package libgdbm6t64:armhf. 94s (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 ... 78095 files and directories currently installed.) 94s Preparing to unpack .../libgdbm6t64_1.23-5.1_armhf.deb ... 94s Unpacking libgdbm6t64:armhf (1.23-5.1) ... 94s Selecting previously unselected package libgdbm-compat4t64:armhf. 94s Preparing to unpack .../libgdbm-compat4t64_1.23-5.1_armhf.deb ... 94s Unpacking libgdbm-compat4t64:armhf (1.23-5.1) ... 94s Selecting previously unselected package libperl5.38t64:armhf. 94s Preparing to unpack .../libperl5.38t64_5.38.2-3.2_armhf.deb ... 94s Unpacking libperl5.38t64:armhf (5.38.2-3.2) ... 95s Preparing to unpack .../perl_5.38.2-3.2_armhf.deb ... 95s Unpacking perl (5.38.2-3.2) over (5.38.2-3) ... 95s Preparing to unpack .../perl-base_5.38.2-3.2_armhf.deb ... 95s Unpacking perl-base (5.38.2-3.2) over (5.38.2-3) ... 95s Setting up perl-base (5.38.2-3.2) ... 95s (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 ... 78626 files and directories currently installed.) 95s Preparing to unpack .../liblocale-gettext-perl_1.07-6ubuntu3_armhf.deb ... 95s Unpacking liblocale-gettext-perl (1.07-6ubuntu3) over (1.07-6build1) ... 95s dpkg: libnettle8:armhf: dependency problems, but removing anyway as you requested: 95s libhogweed6:armhf depends on libnettle8. 95s libgnutls30:armhf depends on libnettle8 (>= 3.9~). 95s libcurl3-gnutls:armhf depends on libnettle8. 95s libarchive13:armhf depends on libnettle8. 95s 95s (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 ... 78626 files and directories currently installed.) 95s Removing libnettle8:armhf (3.9.1-2) ... 95s Selecting previously unselected package libnettle8t64:armhf. 95s (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 ... 78619 files and directories currently installed.) 95s Preparing to unpack .../libnettle8t64_3.9.1-2.2_armhf.deb ... 95s Unpacking libnettle8t64:armhf (3.9.1-2.2) ... 95s Setting up libnettle8t64:armhf (3.9.1-2.2) ... 95s dpkg: libhogweed6:armhf: dependency problems, but removing anyway as you requested: 95s libgnutls30:armhf depends on libhogweed6 (>= 3.6). 95s 95s (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 ... 78627 files and directories currently installed.) 95s Removing libhogweed6:armhf (3.9.1-2) ... 95s Selecting previously unselected package libhogweed6t64:armhf. 95s (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 ... 78622 files and directories currently installed.) 95s Preparing to unpack .../libhogweed6t64_3.9.1-2.2_armhf.deb ... 95s Unpacking libhogweed6t64:armhf (3.9.1-2.2) ... 95s Setting up libhogweed6t64:armhf (3.9.1-2.2) ... 95s dpkg: libgnutls30:armhf: dependency problems, but removing anyway as you requested: 95s libldap2:armhf depends on libgnutls30 (>= 3.8.2). 95s libcurl3-gnutls:armhf depends on libgnutls30 (>= 3.8.2). 95s fwupd depends on libgnutls30 (>= 3.7.3). 95s dirmngr depends on libgnutls30 (>= 3.8.1). 95s apt depends on libgnutls30 (>= 3.8.1). 95s 96s (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 ... 78628 files and directories currently installed.) 96s Removing libgnutls30:armhf (3.8.3-1ubuntu1) ... 96s Selecting previously unselected package libgnutls30t64:armhf. 96s (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 ... 78619 files and directories currently installed.) 96s Preparing to unpack .../libgnutls30t64_3.8.3-1.1ubuntu2_armhf.deb ... 96s Unpacking libgnutls30t64:armhf (3.8.3-1.1ubuntu2) ... 96s Setting up libgnutls30t64:armhf (3.8.3-1.1ubuntu2) ... 96s (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 ... 78647 files and directories currently installed.) 96s Preparing to unpack .../libldap2_2.6.7+dfsg-1~exp1ubuntu6_armhf.deb ... 96s Unpacking libldap2:armhf (2.6.7+dfsg-1~exp1ubuntu6) over (2.6.7+dfsg-1~exp1ubuntu1) ... 96s dpkg: libcurl3-gnutls:armhf: dependency problems, but removing anyway as you requested: 96s libfwupd2:armhf depends on libcurl3-gnutls (>= 7.63.0). 96s fwupd depends on libcurl3-gnutls (>= 7.63.0). 96s 96s (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 ... 78647 files and directories currently installed.) 96s Removing libcurl3-gnutls:armhf (8.5.0-2ubuntu2) ... 96s Selecting previously unselected package libcurl3t64-gnutls:armhf. 96s (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 ... 78640 files and directories currently installed.) 96s Preparing to unpack .../00-libcurl3t64-gnutls_8.5.0-2ubuntu7_armhf.deb ... 96s Unpacking libcurl3t64-gnutls:armhf (8.5.0-2ubuntu7) ... 96s Preparing to unpack .../01-shared-mime-info_2.4-1build1_armhf.deb ... 96s Unpacking shared-mime-info (2.4-1build1) over (2.4-1) ... 96s Preparing to unpack .../02-gir1.2-girepository-2.0_1.79.1-1ubuntu6_armhf.deb ... 96s Unpacking gir1.2-girepository-2.0:armhf (1.79.1-1ubuntu6) over (1.79.1-1) ... 96s Preparing to unpack .../03-gir1.2-glib-2.0_2.79.3-3ubuntu5_armhf.deb ... 96s Unpacking gir1.2-glib-2.0:armhf (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 96s Preparing to unpack .../04-libgirepository-1.0-1_1.79.1-1ubuntu6_armhf.deb ... 96s Unpacking libgirepository-1.0-1:armhf (1.79.1-1ubuntu6) over (1.79.1-1) ... 96s Preparing to unpack .../05-python3-gi_3.47.0-3build1_armhf.deb ... 96s Unpacking python3-gi (3.47.0-3build1) over (3.47.0-3) ... 96s Preparing to unpack .../06-python3-dbus_1.3.2-5build2_armhf.deb ... 97s Unpacking python3-dbus (1.3.2-5build2) over (1.3.2-5build1) ... 97s Selecting previously unselected package libnetplan1:armhf. 97s Preparing to unpack .../07-libnetplan1_1.0-1_armhf.deb ... 97s Unpacking libnetplan1:armhf (1.0-1) ... 97s Preparing to unpack .../08-python3-netplan_1.0-1_armhf.deb ... 97s Unpacking python3-netplan (1.0-1) over (0.107.1-3) ... 97s Preparing to unpack .../09-netplan-generator_1.0-1_armhf.deb ... 97s Adding 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 97s Unpacking netplan-generator (1.0-1) over (0.107.1-3) ... 97s Preparing to unpack .../10-initramfs-tools-bin_0.142ubuntu23_armhf.deb ... 97s Unpacking initramfs-tools-bin (0.142ubuntu23) over (0.142ubuntu20) ... 97s Preparing to unpack .../11-initramfs-tools-core_0.142ubuntu23_all.deb ... 97s Unpacking initramfs-tools-core (0.142ubuntu23) over (0.142ubuntu20) ... 97s Preparing to unpack .../12-initramfs-tools_0.142ubuntu23_all.deb ... 97s Unpacking initramfs-tools (0.142ubuntu23) over (0.142ubuntu20) ... 97s Preparing to unpack .../13-netplan.io_1.0-1_armhf.deb ... 97s Unpacking netplan.io (1.0-1) over (0.107.1-3) ... 97s Preparing to unpack .../14-libxmlb2_0.3.15-1build1_armhf.deb ... 97s Unpacking libxmlb2:armhf (0.3.15-1build1) over (0.3.15-1) ... 97s Preparing to unpack .../15-libqrtr-glib0_1.2.2-1ubuntu3_armhf.deb ... 97s Unpacking libqrtr-glib0:armhf (1.2.2-1ubuntu3) over (1.2.2-1ubuntu2) ... 97s Preparing to unpack .../16-libqmi-glib5_1.35.2-0ubuntu1_armhf.deb ... 97s Unpacking libqmi-glib5:armhf (1.35.2-0ubuntu1) over (1.34.0-2) ... 97s Preparing to unpack .../17-libqmi-proxy_1.35.2-0ubuntu1_armhf.deb ... 97s Unpacking libqmi-proxy (1.35.2-0ubuntu1) over (1.34.0-2) ... 97s Preparing to unpack .../18-libpolkit-agent-1-0_124-1ubuntu1_armhf.deb ... 97s Unpacking libpolkit-agent-1-0:armhf (124-1ubuntu1) over (124-1) ... 97s Preparing to unpack .../19-libpolkit-gobject-1-0_124-1ubuntu1_armhf.deb ... 97s Unpacking libpolkit-gobject-1-0:armhf (124-1ubuntu1) over (124-1) ... 97s (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 ... 78651 files and directories currently installed.) 97s Removing libnetplan0:armhf (0.107.1-3) ... 97s dpkg: libglib2.0-0:armhf: dependency problems, but removing anyway as you requested: 97s libmm-glib0:armhf depends on libglib2.0-0 (>= 2.62.0). 97s libmbim-proxy depends on libglib2.0-0 (>= 2.56). 97s libmbim-glib4:armhf depends on libglib2.0-0 (>= 2.56). 97s libjson-glib-1.0-0:armhf depends on libglib2.0-0 (>= 2.75.3). 97s libgusb2:armhf depends on libglib2.0-0 (>= 2.75.3). 97s libgudev-1.0-0:armhf depends on libglib2.0-0 (>= 2.38.0). 97s libfwupd2:armhf depends on libglib2.0-0 (>= 2.79.0). 97s libblockdev3:armhf depends on libglib2.0-0 (>= 2.42.2). 97s libblockdev-swap3:armhf depends on libglib2.0-0 (>= 2.42.2). 97s libblockdev-part3:armhf depends on libglib2.0-0 (>= 2.42.2). 97s libblockdev-nvme3:armhf depends on libglib2.0-0 (>= 2.42.2). 97s libblockdev-mdraid3:armhf depends on libglib2.0-0 (>= 2.42.2). 97s libblockdev-loop3:armhf depends on libglib2.0-0 (>= 2.42.2). 97s libblockdev-fs3:armhf depends on libglib2.0-0 (>= 2.42.2). 97s libblockdev-crypto3:armhf depends on libglib2.0-0 (>= 2.42.2). 97s fwupd depends on libglib2.0-0 (>= 2.79.0). 97s bolt depends on libglib2.0-0 (>= 2.56.0). 97s 97s Removing libglib2.0-0:armhf (2.79.2-1~ubuntu1) ... 97s Selecting previously unselected package libglib2.0-0t64:armhf. 97s (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 ... 78622 files and directories currently installed.) 97s Preparing to unpack .../libglib2.0-0t64_2.79.3-3ubuntu5_armhf.deb ... 97s libglib2.0-0t64.preinst: Removing /var/lib/dpkg/info/libglib2.0-0:armhf.postrm to avoid loss of /usr/share/glib-2.0/schemas/gschemas.compiled... 97s removed '/var/lib/dpkg/info/libglib2.0-0:armhf.postrm' 97s Unpacking libglib2.0-0t64:armhf (2.79.3-3ubuntu5) ... 97s Preparing to unpack .../libfwupd2_1.9.15-1_armhf.deb ... 97s Unpacking libfwupd2:armhf (1.9.15-1) over (1.9.14-1) ... 97s dpkg: libarchive13:armhf: dependency problems, but removing anyway as you requested: 97s fwupd depends on libarchive13 (>= 3.2.1). 97s 97s (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 ... 78647 files and directories currently installed.) 97s Removing libarchive13:armhf (3.7.2-1ubuntu2) ... 97s Selecting previously unselected package libarchive13t64:armhf. 97s (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 ... 78641 files and directories currently installed.) 97s Preparing to unpack .../libarchive13t64_3.7.2-1.1ubuntu2_armhf.deb ... 97s Unpacking libarchive13t64:armhf (3.7.2-1.1ubuntu2) ... 98s Preparing to unpack .../fwupd_1.9.15-1_armhf.deb ... 98s Unpacking fwupd (1.9.15-1) over (1.9.14-1) ... 98s Preparing to unpack .../apt-utils_2.7.13ubuntu1_armhf.deb ... 98s Unpacking apt-utils (2.7.13ubuntu1) over (2.7.12) ... 98s dpkg: libapt-pkg6.0:armhf: dependency problems, but removing anyway as you requested: 98s ubuntu-pro-client depends on libapt-pkg6.0 (>= 1.9~). 98s python3-apt depends on libapt-pkg6.0 (>= 2.7.11). 98s apt depends on libapt-pkg6.0 (>= 2.7.12). 98s 98s (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 ... 78648 files and directories currently installed.) 98s Removing libapt-pkg6.0:armhf (2.7.12) ... 98s Selecting previously unselected package libapt-pkg6.0t64:armhf. 98s (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 ... 78599 files and directories currently installed.) 98s Preparing to unpack .../libapt-pkg6.0t64_2.7.13ubuntu1_armhf.deb ... 98s Unpacking libapt-pkg6.0t64:armhf (2.7.13ubuntu1) ... 98s Setting up libapt-pkg6.0t64:armhf (2.7.13ubuntu1) ... 98s (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 ... 78649 files and directories currently installed.) 98s Preparing to unpack .../apt_2.7.13ubuntu1_armhf.deb ... 98s Unpacking apt (2.7.13ubuntu1) over (2.7.12) ... 98s Setting up apt (2.7.13ubuntu1) ... 99s (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 ... 78649 files and directories currently installed.) 99s Preparing to unpack .../ubuntu-pro-client-l10n_31.2_armhf.deb ... 99s Unpacking ubuntu-pro-client-l10n (31.2) over (31.1) ... 99s Preparing to unpack .../ubuntu-pro-client_31.2_armhf.deb ... 99s Unpacking ubuntu-pro-client (31.2) over (31.1) ... 99s Preparing to unpack .../keyboxd_2.4.4-2ubuntu15_armhf.deb ... 99s Unpacking keyboxd (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 99s dpkg: libnpth0:armhf: dependency problems, but removing anyway as you requested: 99s gpgv depends on libnpth0 (>= 0.90). 99s gpgsm depends on libnpth0 (>= 0.90). 99s gpg-agent depends on libnpth0 (>= 0.90). 99s gpg depends on libnpth0 (>= 0.90). 99s dirmngr depends on libnpth0 (>= 0.90). 99s 99s (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 ... 78649 files and directories currently installed.) 99s Removing libnpth0:armhf (1.6-3build2) ... 99s Selecting previously unselected package libnpth0t64:armhf. 99s (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 ... 78644 files and directories currently installed.) 99s Preparing to unpack .../libnpth0t64_1.6-3.1_armhf.deb ... 99s Unpacking libnpth0t64:armhf (1.6-3.1) ... 99s Setting up libnpth0t64:armhf (1.6-3.1) ... 99s (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 ... 78650 files and directories currently installed.) 99s Preparing to unpack .../gpgv_2.4.4-2ubuntu15_armhf.deb ... 99s Unpacking gpgv (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 99s Setting up gpgv (2.4.4-2ubuntu15) ... 100s (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 ... 78650 files and directories currently installed.) 100s Preparing to unpack .../gpg_2.4.4-2ubuntu15_armhf.deb ... 100s Unpacking gpg (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 100s Preparing to unpack .../gpg-wks-client_2.4.4-2ubuntu15_armhf.deb ... 100s Unpacking gpg-wks-client (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 100s Preparing to unpack .../gnupg-utils_2.4.4-2ubuntu15_armhf.deb ... 100s Unpacking gnupg-utils (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 100s Preparing to unpack .../gpg-agent_2.4.4-2ubuntu15_armhf.deb ... 100s Unpacking gpg-agent (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 100s Preparing to unpack .../gpgsm_2.4.4-2ubuntu15_armhf.deb ... 100s Unpacking gpgsm (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 100s dpkg: libreadline8:armhf: dependency problems, but removing anyway as you requested: 100s gpgconf depends on libreadline8 (>= 6.0). 100s gawk depends on libreadline8 (>= 6.0). 100s fdisk depends on libreadline8 (>= 6.0). 100s 100s (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 ... 78650 files and directories currently installed.) 100s Removing libreadline8:armhf (8.2-3) ... 100s Selecting previously unselected package libreadline8t64:armhf. 100s (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 ... 78638 files and directories currently installed.) 100s Preparing to unpack .../libreadline8t64_8.2-3.1_armhf.deb ... 100s Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64' 100s Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64' 100s Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64' 100s Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64' 100s Unpacking libreadline8t64:armhf (8.2-3.1) ... 100s Setting up libreadline8t64:armhf (8.2-3.1) ... 100s (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 ... 78658 files and directories currently installed.) 100s Preparing to unpack .../00-gawk_1%3a5.2.1-2build2_armhf.deb ... 100s Unpacking gawk (1:5.2.1-2build2) over (1:5.2.1-2) ... 100s Preparing to unpack .../01-fdisk_2.39.3-9ubuntu2_armhf.deb ... 100s Unpacking fdisk (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 100s Preparing to unpack .../02-gpgconf_2.4.4-2ubuntu15_armhf.deb ... 100s Unpacking gpgconf (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 100s Preparing to unpack .../03-dirmngr_2.4.4-2ubuntu15_armhf.deb ... 100s Unpacking dirmngr (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 100s Preparing to unpack .../04-gnupg_2.4.4-2ubuntu15_all.deb ... 100s Unpacking gnupg (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 100s Preparing to unpack .../05-python3-apt_2.7.6build1_armhf.deb ... 100s Unpacking python3-apt (2.7.6build1) over (2.7.6) ... 100s Preparing to unpack .../06-pinentry-curses_1.2.1-3ubuntu4_armhf.deb ... 100s Unpacking pinentry-curses (1.2.1-3ubuntu4) over (1.2.1-3ubuntu1) ... 100s Preparing to unpack .../07-python3-yaml_6.0.1-2build1_armhf.deb ... 100s Unpacking python3-yaml (6.0.1-2build1) over (6.0.1-2) ... 100s Preparing to unpack .../08-python-apt-common_2.7.6build1_all.deb ... 100s Unpacking python-apt-common (2.7.6build1) over (2.7.6) ... 100s Preparing to unpack .../09-python3-setuptools_68.1.2-2ubuntu1_all.deb ... 101s Unpacking python3-setuptools (68.1.2-2ubuntu1) over (68.1.2-2) ... 101s Preparing to unpack .../10-python3-pkg-resources_68.1.2-2ubuntu1_all.deb ... 101s Unpacking python3-pkg-resources (68.1.2-2ubuntu1) over (68.1.2-2) ... 101s Preparing to unpack .../11-dpkg_1.22.6ubuntu4_armhf.deb ... 101s Unpacking dpkg (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 101s Setting up dpkg (1.22.6ubuntu4) ... 101s Setting up libpython3.12-minimal:armhf (3.12.2-4build3) ... 101s Setting up libexpat1:armhf (2.6.1-2) ... 101s Setting up python3.12-minimal (3.12.2-4build3) ... 102s (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 ... 78655 files and directories currently installed.) 102s Preparing to unpack .../python3-minimal_3.12.2-0ubuntu1_armhf.deb ... 102s Unpacking python3-minimal (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 102s Setting up python3-minimal (3.12.2-0ubuntu1) ... 103s (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 ... 78655 files and directories currently installed.) 103s Preparing to unpack .../python3_3.12.2-0ubuntu1_armhf.deb ... 103s Unpacking python3 (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 103s Preparing to unpack .../libpython3-stdlib_3.12.2-0ubuntu1_armhf.deb ... 103s Unpacking libpython3-stdlib:armhf (3.12.2-0ubuntu1) over (3.12.1-0ubuntu2) ... 103s Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu2_armhf.deb ... 103s Unpacking libsmartcols1:armhf (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 103s Setting up libsmartcols1:armhf (2.39.3-9ubuntu2) ... 103s (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 ... 78655 files and directories currently installed.) 103s Preparing to unpack .../0-bsdextrautils_2.39.3-9ubuntu2_armhf.deb ... 103s Unpacking bsdextrautils (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 103s Preparing to unpack .../1-groff-base_1.23.0-3build1_armhf.deb ... 103s Unpacking groff-base (1.23.0-3build1) over (1.23.0-3) ... 103s Preparing to unpack .../2-readline-common_8.2-3.1_all.deb ... 103s Unpacking readline-common (8.2-3.1) over (8.2-3) ... 103s Selecting previously unselected package libgpgme11t64:armhf. 103s Preparing to unpack .../3-libgpgme11t64_1.18.0-4.1ubuntu3_armhf.deb ... 103s Unpacking libgpgme11t64:armhf (1.18.0-4.1ubuntu3) ... 103s Preparing to unpack .../4-libblockdev-crypto3_3.1.0-1build1_armhf.deb ... 103s Unpacking libblockdev-crypto3:armhf (3.1.0-1build1) over (3.1.0-1) ... 103s Preparing to unpack .../5-e2fsprogs-l10n_1.47.0-2.4~exp1ubuntu2_all.deb ... 103s Unpacking e2fsprogs-l10n (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 103s Preparing to unpack .../6-logsave_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 103s Unpacking logsave (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 103s Preparing to unpack .../7-dhcpcd-base_1%3a10.0.6-1ubuntu2_armhf.deb ... 103s Unpacking dhcpcd-base (1:10.0.6-1ubuntu2) over (1:10.0.6-1ubuntu1) ... 103s Preparing to unpack .../8-libblockdev-fs3_3.1.0-1build1_armhf.deb ... 103s Unpacking libblockdev-fs3:armhf (3.1.0-1build1) over (3.1.0-1) ... 103s dpkg: libreiserfscore0: dependency problems, but removing anyway as you requested: 103s btrfs-progs depends on libreiserfscore0 (>= 1:3.6.27). 103s 103s (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 ... 78662 files and directories currently installed.) 103s Removing libreiserfscore0 (1:3.6.27-7) ... 103s Selecting previously unselected package libreiserfscore0t64. 103s (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 ... 78657 files and directories currently installed.) 103s Preparing to unpack .../libreiserfscore0t64_1%3a3.6.27-7.1_armhf.deb ... 103s Unpacking libreiserfscore0t64 (1:3.6.27-7.1) ... 103s Preparing to unpack .../btrfs-progs_6.6.3-1.1build1_armhf.deb ... 103s Unpacking btrfs-progs (6.6.3-1.1build1) over (6.6.3-1.1) ... 103s dpkg: libext2fs2:armhf: dependency problems, but removing anyway as you requested: 103s e2fsprogs depends on libext2fs2 (= 1.47.0-2ubuntu1). 103s 103s (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 ... 78663 files and directories currently installed.) 103s Removing libext2fs2:armhf (1.47.0-2ubuntu1) ... 103s Selecting previously unselected package libext2fs2t64:armhf. 104s (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 ... 78656 files and directories currently installed.) 104s Preparing to unpack .../libext2fs2t64_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 104s Adding 'diversion of /lib/arm-linux-gnueabihf/libe2p.so.2 to /lib/arm-linux-gnueabihf/libe2p.so.2.usr-is-merged by libext2fs2t64' 104s Adding 'diversion of /lib/arm-linux-gnueabihf/libe2p.so.2.3 to /lib/arm-linux-gnueabihf/libe2p.so.2.3.usr-is-merged by libext2fs2t64' 104s Adding 'diversion of /lib/arm-linux-gnueabihf/libext2fs.so.2 to /lib/arm-linux-gnueabihf/libext2fs.so.2.usr-is-merged by libext2fs2t64' 104s Adding 'diversion of /lib/arm-linux-gnueabihf/libext2fs.so.2.4 to /lib/arm-linux-gnueabihf/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' 104s Unpacking libext2fs2t64:armhf (1.47.0-2.4~exp1ubuntu2) ... 104s Setting up libcom-err2:armhf (1.47.0-2.4~exp1ubuntu2) ... 104s Setting up libext2fs2t64:armhf (1.47.0-2.4~exp1ubuntu2) ... 104s (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 ... 78672 files and directories currently installed.) 104s Preparing to unpack .../e2fsprogs_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 104s Unpacking e2fsprogs (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 104s Preparing to unpack .../libblockdev-loop3_3.1.0-1build1_armhf.deb ... 104s Unpacking libblockdev-loop3:armhf (3.1.0-1build1) over (3.1.0-1) ... 104s Preparing to unpack .../libblockdev-mdraid3_3.1.0-1build1_armhf.deb ... 104s Unpacking libblockdev-mdraid3:armhf (3.1.0-1build1) over (3.1.0-1) ... 104s Preparing to unpack .../libblockdev-nvme3_3.1.0-1build1_armhf.deb ... 104s Unpacking libblockdev-nvme3:armhf (3.1.0-1build1) over (3.1.0-1) ... 104s (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 ... 78672 files and directories currently installed.) 104s Removing libnvme1 (1.8-2) ... 104s Selecting previously unselected package libnvme1t64. 104s (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 ... 78665 files and directories currently installed.) 104s Preparing to unpack .../0-libnvme1t64_1.8-3_armhf.deb ... 104s Unpacking libnvme1t64 (1.8-3) ... 104s Preparing to unpack .../1-libblockdev-part3_3.1.0-1build1_armhf.deb ... 104s Unpacking libblockdev-part3:armhf (3.1.0-1build1) over (3.1.0-1) ... 104s Preparing to unpack .../2-libblockdev-swap3_3.1.0-1build1_armhf.deb ... 104s Unpacking libblockdev-swap3:armhf (3.1.0-1build1) over (3.1.0-1) ... 104s Preparing to unpack .../3-libblockdev3_3.1.0-1build1_armhf.deb ... 104s Unpacking libblockdev3:armhf (3.1.0-1build1) over (3.1.0-1) ... 104s Preparing to unpack .../4-libgudev-1.0-0_1%3a238-3ubuntu2_armhf.deb ... 104s Unpacking libgudev-1.0-0:armhf (1:238-3ubuntu2) over (1:238-3) ... 104s Preparing to unpack .../5-libxml2_2.9.14+dfsg-1.3ubuntu2_armhf.deb ... 104s Unpacking libxml2:armhf (2.9.14+dfsg-1.3ubuntu2) over (2.9.14+dfsg-1.3ubuntu1) ... 104s Preparing to unpack .../6-libbpf1_1%3a1.3.0-2build1_armhf.deb ... 104s Unpacking libbpf1:armhf (1:1.3.0-2build1) over (1:1.3.0-2) ... 104s Preparing to unpack .../7-iproute2_6.1.0-1ubuntu5_armhf.deb ... 104s Unpacking iproute2 (6.1.0-1ubuntu5) over (6.1.0-1ubuntu2) ... 104s (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 ... 78673 files and directories currently installed.) 104s Removing libelf1:armhf (0.190-1) ... 104s Selecting previously unselected package libelf1t64:armhf. 104s (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 ... 78668 files and directories currently installed.) 104s Preparing to unpack .../libelf1t64_0.190-1.1build2_armhf.deb ... 104s Unpacking libelf1t64:armhf (0.190-1.1build2) ... 104s Preparing to unpack .../libtirpc-common_1.3.4+ds-1.1_all.deb ... 104s Unpacking libtirpc-common (1.3.4+ds-1.1) over (1.3.4+ds-1build1) ... 104s Preparing to unpack .../lsof_4.95.0-1build2_armhf.deb ... 104s Unpacking lsof (4.95.0-1build2) over (4.95.0-1build1) ... 104s Preparing to unpack .../libnsl2_1.3.0-3build2_armhf.deb ... 104s Unpacking libnsl2:armhf (1.3.0-3build2) over (1.3.0-3) ... 105s (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 ... 78673 files and directories currently installed.) 105s Removing libtirpc3:armhf (1.3.4+ds-1build1) ... 105s Selecting previously unselected package libtirpc3t64:armhf. 105s (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 ... 78667 files and directories currently installed.) 105s Preparing to unpack .../00-libtirpc3t64_1.3.4+ds-1.1_armhf.deb ... 105s Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3 to /lib/arm-linux-gnueabihf/libtirpc.so.3.usr-is-merged by libtirpc3t64' 105s Adding 'diversion of /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0 to /lib/arm-linux-gnueabihf/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' 105s Unpacking libtirpc3t64:armhf (1.3.4+ds-1.1) ... 105s Preparing to unpack .../01-libmbim-proxy_1.31.2-0ubuntu2_armhf.deb ... 105s Unpacking libmbim-proxy (1.31.2-0ubuntu2) over (1.30.0-1) ... 105s Preparing to unpack .../02-libmbim-glib4_1.31.2-0ubuntu2_armhf.deb ... 105s Unpacking libmbim-glib4:armhf (1.31.2-0ubuntu2) over (1.30.0-1) ... 105s Preparing to unpack .../03-libjson-glib-1.0-common_1.8.0-2build1_all.deb ... 105s Unpacking libjson-glib-1.0-common (1.8.0-2build1) over (1.8.0-2) ... 105s Preparing to unpack .../04-libjson-glib-1.0-0_1.8.0-2build1_armhf.deb ... 105s Unpacking libjson-glib-1.0-0:armhf (1.8.0-2build1) over (1.8.0-2) ... 105s Preparing to unpack .../05-libnghttp2-14_1.59.0-1build1_armhf.deb ... 105s Unpacking libnghttp2-14:armhf (1.59.0-1build1) over (1.59.0-1) ... 105s Preparing to unpack .../06-libssh-4_0.10.6-2build1_armhf.deb ... 105s Unpacking libssh-4:armhf (0.10.6-2build1) over (0.10.6-2) ... 105s Preparing to unpack .../07-libusb-1.0-0_2%3a1.0.27-1_armhf.deb ... 105s Unpacking libusb-1.0-0:armhf (2:1.0.27-1) over (2:1.0.26-1) ... 105s Preparing to unpack .../08-libgusb2_0.4.8-1build1_armhf.deb ... 105s Unpacking libgusb2:armhf (0.4.8-1build1) over (0.4.8-1) ... 105s Preparing to unpack .../09-libmm-glib0_1.23.4-0ubuntu1_armhf.deb ... 105s Unpacking libmm-glib0:armhf (1.23.4-0ubuntu1) over (1.22.0-3) ... 105s Preparing to unpack .../10-libsasl2-2_2.1.28+dfsg1-5ubuntu1_armhf.deb ... 105s Unpacking libsasl2-2:armhf (2.1.28+dfsg1-5ubuntu1) over (2.1.28+dfsg1-4) ... 105s Preparing to unpack .../11-libibverbs1_50.0-2build1_armhf.deb ... 105s Unpacking libibverbs1:armhf (50.0-2build1) over (50.0-2) ... 105s Preparing to unpack .../12-libfido2-1_1.14.0-1build1_armhf.deb ... 105s Unpacking libfido2-1:armhf (1.14.0-1build1) over (1.14.0-1) ... 105s Preparing to unpack .../13-coreutils_9.4-3ubuntu3_armhf.deb ... 105s Unpacking coreutils (9.4-3ubuntu3) over (9.4-2ubuntu4) ... 105s Setting up coreutils (9.4-3ubuntu3) ... 105s (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 ... 78678 files and directories currently installed.) 105s Preparing to unpack .../util-linux_2.39.3-9ubuntu2_armhf.deb ... 105s Unpacking util-linux (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 105s Setting up util-linux (2.39.3-9ubuntu2) ... 106s fstrim.service is a disabled or a static unit not running, not starting it. 106s (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 ... 78678 files and directories currently installed.) 106s Preparing to unpack .../libc-bin_2.39-0ubuntu6_armhf.deb ... 106s Unpacking libc-bin (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 106s Setting up libc-bin (2.39-0ubuntu6) ... 106s (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 ... 78678 files and directories currently installed.) 106s Removing libatm1:armhf (1:2.5.1-5) ... 106s (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 ... 78673 files and directories currently installed.) 106s Preparing to unpack .../file_1%3a5.45-3_armhf.deb ... 106s Unpacking file (1:5.45-3) over (1:5.45-2) ... 106s (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 ... 78673 files and directories currently installed.) 106s Removing libmagic1:armhf (1:5.45-2) ... 106s (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 ... 78663 files and directories currently installed.) 106s Preparing to unpack .../libmagic-mgc_1%3a5.45-3_armhf.deb ... 106s Unpacking libmagic-mgc (1:5.45-3) over (1:5.45-2) ... 107s Selecting previously unselected package libmagic1t64:armhf. 107s Preparing to unpack .../libmagic1t64_1%3a5.45-3_armhf.deb ... 107s Unpacking libmagic1t64:armhf (1:5.45-3) ... 107s Preparing to unpack .../libplymouth5_24.004.60-1ubuntu6_armhf.deb ... 107s Unpacking libplymouth5:armhf (24.004.60-1ubuntu6) over (24.004.60-1ubuntu3) ... 107s (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 ... 78674 files and directories currently installed.) 107s Removing libpng16-16:armhf (1.6.43-1) ... 107s Selecting previously unselected package libpng16-16t64:armhf. 107s (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 ... 78664 files and directories currently installed.) 107s Preparing to unpack .../libpng16-16t64_1.6.43-3_armhf.deb ... 107s Unpacking libpng16-16t64:armhf (1.6.43-3) ... 107s Preparing to unpack .../bind9-host_1%3a9.18.24-0ubuntu3_armhf.deb ... 107s Unpacking bind9-host (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 107s Preparing to unpack .../bind9-dnsutils_1%3a9.18.24-0ubuntu3_armhf.deb ... 107s Unpacking bind9-dnsutils (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 107s Preparing to unpack .../bind9-libs_1%3a9.18.24-0ubuntu3_armhf.deb ... 107s Unpacking bind9-libs:armhf (1:9.18.24-0ubuntu3) over (1:9.18.21-0ubuntu1) ... 107s (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 ... 78675 files and directories currently installed.) 107s Removing libuv1:armhf (1.48.0-1) ... 107s Selecting previously unselected package libuv1t64:armhf. 107s (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 ... 78670 files and directories currently installed.) 107s Preparing to unpack .../libuv1t64_1.48.0-1.1_armhf.deb ... 107s Unpacking libuv1t64:armhf (1.48.0-1.1) ... 107s (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 ... 78676 files and directories currently installed.) 107s Removing python3-distutils (3.11.5-1) ... 107s (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 ... 78621 files and directories currently installed.) 107s Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu2_armhf.deb ... 107s Unpacking uuid-runtime (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 107s Preparing to unpack .../libdebconfclient0_0.271ubuntu2_armhf.deb ... 107s Unpacking libdebconfclient0:armhf (0.271ubuntu2) over (0.271ubuntu1) ... 107s Setting up libdebconfclient0:armhf (0.271ubuntu2) ... 107s (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 ... 78621 files and directories currently installed.) 107s Preparing to unpack .../libsemanage-common_3.5-1build4_all.deb ... 107s Unpacking libsemanage-common (3.5-1build4) over (3.5-1build2) ... 107s Setting up libsemanage-common (3.5-1build4) ... 107s (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 ... 78621 files and directories currently installed.) 107s Preparing to unpack .../libsemanage2_3.5-1build4_armhf.deb ... 107s Unpacking libsemanage2:armhf (3.5-1build4) over (3.5-1build2) ... 107s Setting up libsemanage2:armhf (3.5-1build4) ... 107s (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 ... 78621 files and directories currently installed.) 107s Preparing to unpack .../install-info_7.1-3build1_armhf.deb ... 107s Unpacking install-info (7.1-3build1) over (7.1-3) ... 107s Setting up install-info (7.1-3build1) ... 108s (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 ... 78621 files and directories currently installed.) 108s Preparing to unpack .../00-gcc-13-base_13.2.0-19ubuntu1_armhf.deb ... 108s Unpacking gcc-13-base:armhf (13.2.0-19ubuntu1) over (13.2.0-17ubuntu2) ... 108s Preparing to unpack .../01-libss2_1.47.0-2.4~exp1ubuntu2_armhf.deb ... 108s Unpacking libss2:armhf (1.47.0-2.4~exp1ubuntu2) over (1.47.0-2ubuntu1) ... 108s Preparing to unpack .../02-dmsetup_2%3a1.02.185-3ubuntu2_armhf.deb ... 108s Unpacking dmsetup (2:1.02.185-3ubuntu2) over (2:1.02.185-3ubuntu1) ... 108s Preparing to unpack .../03-eject_2.39.3-9ubuntu2_armhf.deb ... 108s Unpacking eject (2.39.3-9ubuntu2) over (2.39.3-6ubuntu2) ... 108s Preparing to unpack .../04-krb5-locales_1.20.1-5.1ubuntu1_all.deb ... 108s Unpacking krb5-locales (1.20.1-5.1ubuntu1) over (1.20.1-5build1) ... 108s Preparing to unpack .../05-libbsd0_0.12.1-1_armhf.deb ... 108s Unpacking libbsd0:armhf (0.12.1-1) over (0.11.8-1) ... 108s Preparing to unpack .../06-libglib2.0-data_2.79.3-3ubuntu5_all.deb ... 108s Unpacking libglib2.0-data (2.79.3-3ubuntu5) over (2.79.2-1~ubuntu1) ... 108s Preparing to unpack .../07-libslang2_2.3.3-3build1_armhf.deb ... 108s Unpacking libslang2:armhf (2.3.3-3build1) over (2.3.3-3) ... 108s Preparing to unpack .../08-locales_2.39-0ubuntu6_all.deb ... 108s Unpacking locales (2.39-0ubuntu6) over (2.39-0ubuntu2) ... 108s Preparing to unpack .../09-vim-tiny_2%3a9.1.0016-1ubuntu5_armhf.deb ... 108s Unpacking vim-tiny (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 108s Preparing to unpack .../10-vim-common_2%3a9.1.0016-1ubuntu5_all.deb ... 108s Unpacking vim-common (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 108s Selecting previously unselected package xdg-user-dirs. 108s Preparing to unpack .../11-xdg-user-dirs_0.18-1_armhf.deb ... 108s Unpacking xdg-user-dirs (0.18-1) ... 108s Preparing to unpack .../12-xxd_2%3a9.1.0016-1ubuntu5_armhf.deb ... 108s Unpacking xxd (2:9.1.0016-1ubuntu5) over (2:9.1.0016-1ubuntu2) ... 108s Preparing to unpack .../13-apparmor_4.0.0-beta3-0ubuntu2_armhf.deb ... 109s Unpacking apparmor (4.0.0-beta3-0ubuntu2) over (4.0.0~alpha4-0ubuntu1) ... 109s Preparing to unpack .../14-ftp_20230507-2build1_all.deb ... 109s Unpacking ftp (20230507-2build1) over (20230507-2) ... 109s Preparing to unpack .../15-inetutils-telnet_2%3a2.5-3ubuntu3_armhf.deb ... 109s Unpacking inetutils-telnet (2:2.5-3ubuntu3) over (2:2.5-3ubuntu1) ... 110s Preparing to unpack .../16-info_7.1-3build1_armhf.deb ... 110s Unpacking info (7.1-3build1) over (7.1-3) ... 110s Preparing to unpack .../17-libxmuu1_2%3a1.1.3-3build1_armhf.deb ... 110s Unpacking libxmuu1:armhf (2:1.1.3-3build1) over (2:1.1.3-3) ... 110s Preparing to unpack .../18-lshw_02.19.git.2021.06.19.996aaad9c7-2build2_armhf.deb ... 110s Unpacking lshw (02.19.git.2021.06.19.996aaad9c7-2build2) over (02.19.git.2021.06.19.996aaad9c7-2build1) ... 110s Preparing to unpack .../19-mtr-tiny_0.95-1.1build1_armhf.deb ... 110s Unpacking mtr-tiny (0.95-1.1build1) over (0.95-1.1) ... 110s Preparing to unpack .../20-plymouth-theme-ubuntu-text_24.004.60-1ubuntu6_armhf.deb ... 110s Unpacking plymouth-theme-ubuntu-text (24.004.60-1ubuntu6) over (24.004.60-1ubuntu3) ... 110s Preparing to unpack .../21-plymouth_24.004.60-1ubuntu6_armhf.deb ... 110s Unpacking plymouth (24.004.60-1ubuntu6) over (24.004.60-1ubuntu3) ... 110s Preparing to unpack .../22-psmisc_23.7-1_armhf.deb ... 110s Unpacking psmisc (23.7-1) over (23.6-2) ... 110s Preparing to unpack .../23-telnet_0.17+2.5-3ubuntu3_all.deb ... 110s Unpacking telnet (0.17+2.5-3ubuntu3) over (0.17+2.5-3ubuntu1) ... 110s Preparing to unpack .../24-usb.ids_2024.03.18-1_all.deb ... 110s Unpacking usb.ids (2024.03.18-1) over (2024.01.30-1) ... 110s Preparing to unpack .../25-xz-utils_5.6.0-0.2_armhf.deb ... 110s Unpacking xz-utils (5.6.0-0.2) over (5.4.5-0.3) ... 110s Preparing to unpack .../26-libctf0_2.42-4ubuntu1_armhf.deb ... 110s Unpacking libctf0:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../27-libctf-nobfd0_2.42-4ubuntu1_armhf.deb ... 110s Unpacking libctf-nobfd0:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../28-binutils-arm-linux-gnueabihf_2.42-4ubuntu1_armhf.deb ... 110s Unpacking binutils-arm-linux-gnueabihf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../29-libbinutils_2.42-4ubuntu1_armhf.deb ... 110s Unpacking libbinutils:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../30-binutils_2.42-4ubuntu1_armhf.deb ... 110s Unpacking binutils (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../31-binutils-common_2.42-4ubuntu1_armhf.deb ... 110s Unpacking binutils-common:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../32-libsframe1_2.42-4ubuntu1_armhf.deb ... 110s Unpacking libsframe1:armhf (2.42-4ubuntu1) over (2.42-3ubuntu1) ... 110s Preparing to unpack .../33-bolt_0.9.6-2build1_armhf.deb ... 111s Unpacking bolt (0.9.6-2build1) over (0.9.6-2) ... 111s Preparing to unpack .../34-cryptsetup-bin_2%3a2.7.0-1ubuntu2_armhf.deb ... 111s Unpacking cryptsetup-bin (2:2.7.0-1ubuntu2) over (2:2.7.0-1ubuntu1) ... 111s Preparing to unpack .../35-dpkg-dev_1.22.6ubuntu4_all.deb ... 111s Unpacking dpkg-dev (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 111s Preparing to unpack .../36-libdpkg-perl_1.22.6ubuntu4_all.deb ... 111s Unpacking libdpkg-perl (1.22.6ubuntu4) over (1.22.4ubuntu5) ... 111s Preparing to unpack .../37-gnupg-l10n_2.4.4-2ubuntu15_all.deb ... 111s Unpacking gnupg-l10n (2.4.4-2ubuntu15) over (2.4.4-2ubuntu7) ... 111s Preparing to unpack .../38-ibverbs-providers_50.0-2build1_armhf.deb ... 111s Unpacking ibverbs-providers:armhf (50.0-2build1) over (50.0-2) ... 111s Preparing to unpack .../39-jq_1.7.1-3_armhf.deb ... 111s Unpacking jq (1.7.1-3) over (1.7.1-2) ... 111s Preparing to unpack .../40-libjq1_1.7.1-3_armhf.deb ... 111s Unpacking libjq1:armhf (1.7.1-3) over (1.7.1-2) ... 111s Selecting previously unselected package libatm1t64:armhf. 111s Preparing to unpack .../41-libatm1t64_1%3a2.5.1-5.1_armhf.deb ... 111s Unpacking libatm1t64:armhf (1:2.5.1-5.1) ... 111s Preparing to unpack .../42-libevent-core-2.1-7_2.1.12-stable-9build1_armhf.deb ... 111s Unpacking libevent-core-2.1-7:armhf (2.1.12-stable-9build1) over (2.1.12-stable-9) ... 111s Preparing to unpack .../43-libftdi1-2_1.5-6build4_armhf.deb ... 111s Unpacking libftdi1-2:armhf (1.5-6build4) over (1.5-6build3) ... 111s Preparing to unpack .../44-libldap-common_2.6.7+dfsg-1~exp1ubuntu6_all.deb ... 111s Unpacking libldap-common (2.6.7+dfsg-1~exp1ubuntu6) over (2.6.7+dfsg-1~exp1ubuntu1) ... 111s Preparing to unpack .../45-libsasl2-modules_2.1.28+dfsg1-5ubuntu1_armhf.deb ... 111s Unpacking libsasl2-modules:armhf (2.1.28+dfsg1-5ubuntu1) over (2.1.28+dfsg1-4) ... 111s Preparing to unpack .../46-python3-lib2to3_3.12.2-3ubuntu2_all.deb ... 111s Unpacking python3-lib2to3 (3.12.2-3ubuntu2) over (3.11.5-1) ... 112s Preparing to unpack .../47-python3-pyrsistent_0.20.0-1build1_armhf.deb ... 112s Unpacking python3-pyrsistent:armhf (0.20.0-1build1) over (0.20.0-1) ... 112s Preparing to unpack .../48-python3-typing-extensions_4.10.0-1_all.deb ... 112s Unpacking python3-typing-extensions (4.10.0-1) over (4.9.0-1) ... 112s Preparing to unpack .../49-kpartx_0.9.4-5ubuntu5_armhf.deb ... 112s Unpacking kpartx (0.9.4-5ubuntu5) over (0.9.4-5ubuntu3) ... 112s Setting up pinentry-curses (1.2.1-3ubuntu4) ... 112s Setting up libtext-iconv-perl:armhf (1.7-8build2) ... 112s Setting up libtext-charwidth-perl:armhf (0.04-11build2) ... 112s Setting up libibverbs1:armhf (50.0-2build1) ... 112s Setting up systemd-sysv (255.4-1ubuntu5) ... 112s Setting up libapparmor1:armhf (4.0.0-beta3-0ubuntu2) ... 112s Setting up libatm1t64:armhf (1:2.5.1-5.1) ... 112s Setting up libgdbm6t64:armhf (1.23-5.1) ... 112s Setting up bsdextrautils (2.39.3-9ubuntu2) ... 112s Setting up libgdbm-compat4t64:armhf (1.23-5.1) ... 112s Setting up xdg-user-dirs (0.18-1) ... 112s Setting up ibverbs-providers:armhf (50.0-2build1) ... 112s Setting up linux-headers-6.8.0-20 (6.8.0-20.20) ... 112s Setting up libmagic-mgc (1:5.45-3) ... 112s Setting up gawk (1:5.2.1-2build2) ... 112s Setting up psmisc (23.7-1) ... 112s Setting up libjq1:armhf (1.7.1-3) ... 112s Setting up libtirpc-common (1.3.4+ds-1.1) ... 112s Setting up libbrotli1:armhf (1.1.0-2build1) ... 112s Setting up libsqlite3-0:armhf (3.45.1-1ubuntu1) ... 112s Setting up libsasl2-modules:armhf (2.1.28+dfsg1-5ubuntu1) ... 112s Setting up libuv1t64:armhf (1.48.0-1.1) ... 112s Setting up libmagic1t64:armhf (1:5.45-3) ... 112s Setting up binutils-common:armhf (2.42-4ubuntu1) ... 112s Setting up libpsl5t64:armhf (0.21.2-1.1) ... 112s Setting up libnghttp2-14:armhf (1.59.0-1build1) ... 112s Setting up libreiserfscore0t64 (1:3.6.27-7.1) ... 112s Setting up libctf-nobfd0:armhf (2.42-4ubuntu1) ... 112s Setting up libnss-systemd:armhf (255.4-1ubuntu5) ... 112s Setting up krb5-locales (1.20.1-5.1ubuntu1) ... 112s Setting up file (1:5.45-3) ... 112s Setting up kmod (31+20240202-2ubuntu4) ... 112s Setting up lshw (02.19.git.2021.06.19.996aaad9c7-2build2) ... 112s Setting up locales (2.39-0ubuntu6) ... 113s Generating locales (this might take a while)... 115s en_US.UTF-8... done 115s Generation complete. 115s Setting up libldap-common (2.6.7+dfsg-1~exp1ubuntu6) ... 115s Setting up xxd (2:9.1.0016-1ubuntu5) ... 115s Setting up libsframe1:armhf (2.42-4ubuntu1) ... 115s Setting up libelf1t64:armhf (0.190-1.1build2) ... 115s Setting up libkrb5support0:armhf (1.20.1-5.1ubuntu1) ... 115s Setting up linux-headers-6.8.0-20-generic (6.8.0-20.20) ... 115s Setting up eject (2.39.3-9ubuntu2) ... 115s Setting up apparmor (4.0.0-beta3-0ubuntu2) ... 115s Installing new version of config file /etc/apparmor.d/abstractions/authentication ... 115s Installing new version of config file /etc/apparmor.d/abstractions/crypto ... 115s Installing new version of config file /etc/apparmor.d/abstractions/kde-open5 ... 115s Installing new version of config file /etc/apparmor.d/abstractions/openssl ... 115s Installing new version of config file /etc/apparmor.d/code ... 115s Installing new version of config file /etc/apparmor.d/firefox ... 116s apparmor_parser: Unable to replace "lsb_release". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s apparmor_parser: Unable to replace "kmod". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s apparmor_parser: Unable to replace "nvidia_modprobe". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s sysctl: cannot stat /proc/sys/kernel/apparmor_restrict_unprivileged_userns: No such file or directory 116s Reloading AppArmor profiles 116s /sbin/apparmor_parser: Unable to replace "1password". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "Discord". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "MongoDB Compass". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "QtWebEngineProcess". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "brave". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "buildah". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "busybox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "cam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "ch-checkns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "ch-run". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "chrome". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "vscode". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "crun". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "devhelp". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "element-desktop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "epiphany". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "evolution". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "firefox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "flatpak". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "geary". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "github-desktop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "goldendict". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "ipa_verify". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "kchmviewer". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "keybase". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lc-compliance". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "libcamerify". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "linux-sandbox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "loupe". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lxc-attach". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lxc-create". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lxc-destroy". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lxc-execute". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lxc-unshare". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lxc-stop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lxc-usernsexec". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "mmdebstrap". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "msedge". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "nautilus". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "notepadqq". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "obsidian". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "opam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "opera". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "pageedit". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "polypane". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "privacybrowser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "qmapshack". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "podman". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "qutebrowser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "qcam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "QtWebEngineProcess". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "plasmashell". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "rpm". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "rootlesskit". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "runc". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "rssguard". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "lsb_release". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-abort". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-checkpackages". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-clean". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-apt". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-destroychroot". /sbin/apparmor_parser: Unable to replace "sbuild-createchroot". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-hold". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-adduser". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-shell". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-unhold". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-distupgrade". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-upgrade". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "scide". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "kmod". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "nvidia_modprobe". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "sbuild-update". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "signal-desktop". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "slack". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "slirp4netns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "steam". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "stress-ng". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "surfshark". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "systemd-coredump". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "thunderbird". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "toybox". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "trinity". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "tup". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "tuxedo-control-center". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "userbindmount". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "unprivileged_userns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "vdens". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "vivaldi-bin". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "vpnns". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "uwsgi-core". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "wpcom". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 116s /sbin/apparmor_parser: Unable to replace "virtiofsd". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 116s 117s /sbin/apparmor_parser: Unable to replace "unix-chkpwd". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 117s 117s /sbin/apparmor_parser: Unable to replace "rsyslogd". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 117s 117s /sbin/apparmor_parser: Unable to replace "/usr/bin/man". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 117s 117s /sbin/apparmor_parser: Unable to replace "ubuntu_pro_apt_news". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 117s 117s /sbin/apparmor_parser: Unable to replace "tcpdump". /sbin/apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 117s 117s Error: At least one profile failed to load 117s Setting up libglib2.0-0t64:armhf (2.79.3-3ubuntu5) ... 117s No schema files found: doing nothing. 117s Setting up libglib2.0-data (2.79.3-3ubuntu5) ... 117s Setting up vim-common (2:9.1.0016-1ubuntu5) ... 117s Setting up gcc-13-base:armhf (13.2.0-19ubuntu1) ... 117s Setting up libqrtr-glib0:armhf (1.2.2-1ubuntu3) ... 117s Setting up libslang2:armhf (2.3.3-3build1) ... 117s Setting up libnvme1t64 (1.8-3) ... 117s Setting up mtr-tiny (0.95-1.1build1) ... 117s Setting up gnupg-l10n (2.4.4-2ubuntu15) ... 117s Setting up librtmp1:armhf (2.4+20151223.gitfa8646d.1-2build6) ... 117s Setting up libdbus-1-3:armhf (1.14.10-4ubuntu2) ... 117s Setting up xz-utils (5.6.0-0.2) ... 117s Setting up perl-modules-5.38 (5.38.2-3.2) ... 117s Setting up libblockdev-utils3:armhf (3.1.0-1build1) ... 117s Setting up libpng16-16t64:armhf (1.6.43-3) ... 117s Setting up systemd-timesyncd (255.4-1ubuntu5) ... 117s Setting up libevent-core-2.1-7:armhf (2.1.12-stable-9build1) ... 117s Setting up udev (255.4-1ubuntu5) ... 118s Setting up libss2:armhf (1.47.0-2.4~exp1ubuntu2) ... 118s Setting up usb.ids (2024.03.18-1) ... 118s Setting up sudo (1.9.15p5-3ubuntu3) ... 118s Setting up dhcpcd-base (1:10.0.6-1ubuntu2) ... 118s Setting up gir1.2-glib-2.0:armhf (2.79.3-3ubuntu5) ... 118s Setting up libk5crypto3:armhf (1.20.1-5.1ubuntu1) ... 118s Setting up logsave (1.47.0-2.4~exp1ubuntu2) ... 118s Setting up libfdisk1:armhf (2.39.3-9ubuntu2) ... 118s Setting up libdb5.3t64:armhf (5.3.28+dfsg2-6) ... 118s Setting up libblockdev-nvme3:armhf (3.1.0-1build1) ... 118s Setting up libdevmapper1.02.1:armhf (2:1.02.185-3ubuntu2) ... 118s Setting up libblockdev-fs3:armhf (3.1.0-1build1) ... 118s Setting up python-apt-common (2.7.6build1) ... 118s Setting up mount (2.39.3-9ubuntu2) ... 118s Setting up dmsetup (2:1.02.185-3ubuntu2) ... 118s Setting up uuid-runtime (2.39.3-9ubuntu2) ... 119s uuidd.service is a disabled or a static unit not running, not starting it. 119s Setting up libmm-glib0:armhf (1.23.4-0ubuntu1) ... 119s Setting up groff-base (1.23.0-3build1) ... 119s Setting up libplymouth5:armhf (24.004.60-1ubuntu6) ... 119s Setting up dbus-session-bus-common (1.14.10-4ubuntu2) ... 119s Setting up kpartx (0.9.4-5ubuntu5) ... 119s Setting up jq (1.7.1-3) ... 119s Setting up gpgconf (2.4.4-2ubuntu15) ... 119s Setting up libpcap0.8t64:armhf (1.10.4-4.1ubuntu1) ... 119s Setting up libcryptsetup12:armhf (2:2.7.0-1ubuntu2) ... 119s Setting up libgirepository-1.0-1:armhf (1.79.1-1ubuntu6) ... 119s Setting up libjson-glib-1.0-common (1.8.0-2build1) ... 119s Setting up libkrb5-3:armhf (1.20.1-5.1ubuntu1) ... 119s Setting up libpython3.11-minimal:armhf (3.11.8-1build4) ... 119s Setting up libusb-1.0-0:armhf (2:1.0.27-1) ... 119s Setting up libperl5.38t64:armhf (5.38.2-3.2) ... 119s Setting up tnftp (20230507-2build1) ... 119s Setting up libbinutils:armhf (2.42-4ubuntu1) ... 119s Setting up dbus-system-bus-common (1.14.10-4ubuntu2) ... 119s Setting up libfido2-1:armhf (1.14.0-1build1) ... 119s Setting up openssl (3.0.13-0ubuntu2) ... 119s Setting up libbsd0:armhf (0.12.1-1) ... 119s Setting up readline-common (8.2-3.1) ... 119s Setting up libxml2:armhf (2.9.14+dfsg-1.3ubuntu2) ... 119s Setting up libxmuu1:armhf (2:1.1.3-3build1) ... 119s Setting up dbus-bin (1.14.10-4ubuntu2) ... 119s Setting up info (7.1-3build1) ... 119s Setting up liblocale-gettext-perl (1.07-6ubuntu3) ... 119s Setting up gpg (2.4.4-2ubuntu15) ... 119s Setting up libgudev-1.0-0:armhf (1:238-3ubuntu2) ... 119s Setting up libpolkit-gobject-1-0:armhf (124-1ubuntu1) ... 119s Setting up libbpf1:armhf (1:1.3.0-2build1) ... 119s Setting up libmbim-glib4:armhf (1.31.2-0ubuntu2) ... 119s Setting up rsync (3.2.7-1build1) ... 120s rsync.service is a disabled or a static unit not running, not starting it. 120s Setting up libudisks2-0:armhf (2.10.1-6) ... 120s Setting up bolt (0.9.6-2build1) ... 120s bolt.service is a disabled or a static unit not running, not starting it. 120s Setting up gnupg-utils (2.4.4-2ubuntu15) ... 120s Setting up initramfs-tools-bin (0.142ubuntu23) ... 120s Setting up libctf0:armhf (2.42-4ubuntu1) ... 120s Setting up cryptsetup-bin (2:2.7.0-1ubuntu2) ... 120s Setting up python3.11-minimal (3.11.8-1build4) ... 121s Setting up tcpdump (4.99.4-3ubuntu2) ... 121s apparmor_parser: Unable to replace "tcpdump". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 121s 121s Setting up apt-utils (2.7.13ubuntu1) ... 121s Setting up gpg-agent (2.4.4-2ubuntu15) ... 122s Setting up libpython3.12-stdlib:armhf (3.12.2-4build3) ... 122s Setting up libblockdev-mdraid3:armhf (3.1.0-1build1) ... 122s Setting up wget (1.21.4-1ubuntu2) ... 122s Setting up libblockdev-swap3:armhf (3.1.0-1build1) ... 122s Setting up plymouth (24.004.60-1ubuntu6) ... 122s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 122s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 122s Setting up libxmlb2:armhf (0.3.15-1build1) ... 122s Setting up btrfs-progs (6.6.3-1.1build1) ... 122s Setting up libpython3.11-stdlib:armhf (3.11.8-1build4) ... 122s Setting up python3.12 (3.12.2-4build3) ... 124s Setting up libblockdev-loop3:armhf (3.1.0-1build1) ... 124s Setting up gpgsm (2.4.4-2ubuntu15) ... 124s Setting up inetutils-telnet (2:2.5-3ubuntu3) ... 124s Setting up e2fsprogs (1.47.0-2.4~exp1ubuntu2) ... 124s update-initramfs: deferring update (trigger activated) 124s e2scrub_all.service is a disabled or a static unit not running, not starting it. 124s Setting up libparted2t64:armhf (3.6-3.1build2) ... 124s Setting up linux-headers-generic (6.8.0-20.20+1) ... 124s Setting up dbus-daemon (1.14.10-4ubuntu2) ... 124s Setting up libmbim-proxy (1.31.2-0ubuntu2) ... 124s Setting up vim-tiny (2:9.1.0016-1ubuntu5) ... 124s Setting up libnetplan1:armhf (1.0-1) ... 124s Setting up man-db (2.12.0-3build4) ... 124s Updating database of manual pages ... 126s apparmor_parser: Unable to replace "/usr/bin/man". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 126s 126s man-db.service is a disabled or a static unit not running, not starting it. 126s Setting up libblockdev3:armhf (3.1.0-1build1) ... 126s Setting up fdisk (2.39.3-9ubuntu2) ... 126s Setting up libjson-glib-1.0-0:armhf (1.8.0-2build1) ... 126s Setting up libblockdev-part3:armhf (3.1.0-1build1) ... 126s Setting up libsasl2-modules-db:armhf (2.1.28+dfsg1-5ubuntu1) ... 126s Setting up libftdi1-2:armhf (1.5-6build4) ... 126s Setting up perl (5.38.2-3.2) ... 126s Setting up plymouth-theme-ubuntu-text (24.004.60-1ubuntu6) ... 126s update-initramfs: deferring update (trigger activated) 126s Setting up gir1.2-girepository-2.0:armhf (1.79.1-1ubuntu6) ... 126s Setting up dbus (1.14.10-4ubuntu2) ... 126s A reboot is required to replace the running dbus-daemon. 126s Please reboot the system when convenient. 126s Setting up shared-mime-info (2.4-1build1) ... 127s Setting up libgssapi-krb5-2:armhf (1.20.1-5.1ubuntu1) ... 127s Setting up ftp (20230507-2build1) ... 127s Setting up keyboxd (2.4.4-2ubuntu15) ... 127s Setting up libdpkg-perl (1.22.6ubuntu4) ... 127s Setting up libsasl2-2:armhf (2.1.28+dfsg1-5ubuntu1) ... 127s Setting up libssh-4:armhf (0.10.6-2build1) ... 127s Setting up libpam-systemd:armhf (255.4-1ubuntu5) ... 127s Setting up libpolkit-agent-1-0:armhf (124-1ubuntu1) ... 127s Setting up libgpgme11t64:armhf (1.18.0-4.1ubuntu3) ... 127s Setting up netplan-generator (1.0-1) ... 127s Removing 'diversion of /lib/systemd/system-generators/netplan to /lib/systemd/system-generators/netplan.usr-is-merged by netplan-generator' 127s Setting up initramfs-tools-core (0.142ubuntu23) ... 127s Setting up binutils-arm-linux-gnueabihf (2.42-4ubuntu1) ... 127s Setting up libarchive13t64:armhf (3.7.2-1.1ubuntu2) ... 127s Setting up libldap2:armhf (2.6.7+dfsg-1~exp1ubuntu6) ... 127s Setting up libpython3-stdlib:armhf (3.12.2-0ubuntu1) ... 127s Setting up systemd-resolved (255.4-1ubuntu5) ... 128s Setting up python3.11 (3.11.8-1build4) ... 129s Setting up telnet (0.17+2.5-3ubuntu3) ... 129s Setting up initramfs-tools (0.142ubuntu23) ... 129s update-initramfs: deferring update (trigger activated) 129s Setting up libcurl4t64:armhf (8.5.0-2ubuntu7) ... 129s Setting up bind9-libs:armhf (1:9.18.24-0ubuntu3) ... 129s Setting up libtirpc3t64:armhf (1.3.4+ds-1.1) ... 129s Setting up e2fsprogs-l10n (1.47.0-2.4~exp1ubuntu2) ... 129s Setting up iproute2 (6.1.0-1ubuntu5) ... 129s Setting up openssh-client (1:9.6p1-3ubuntu11) ... 129s Setting up libgusb2:armhf (0.4.8-1build1) ... 129s Setting up libcurl3t64-gnutls:armhf (8.5.0-2ubuntu7) ... 129s Setting up parted (3.6-3.1build2) ... 129s Setting up libqmi-glib5:armhf (1.35.2-0ubuntu1) ... 129s Setting up python3 (3.12.2-0ubuntu1) ... 129s Setting up binutils (2.42-4ubuntu1) ... 129s Setting up libjcat1:armhf (0.2.0-2build2) ... 129s Setting up dpkg-dev (1.22.6ubuntu4) ... 129s Setting up dirmngr (2.4.4-2ubuntu15) ... 130s Setting up dbus-user-session (1.14.10-4ubuntu2) ... 130s Setting up python3-cryptography (41.0.7-4build2) ... 130s Setting up python3-gi (3.47.0-3build1) ... 130s Setting up python3-typing-extensions (4.10.0-1) ... 130s Setting up lsof (4.95.0-1build2) ... 130s Setting up python3-pyrsistent:armhf (0.20.0-1build1) ... 130s Setting up libnsl2:armhf (1.3.0-3build2) ... 130s Setting up gnupg (2.4.4-2ubuntu15) ... 130s Setting up python3-netplan (1.0-1) ... 130s Setting up curl (8.5.0-2ubuntu7) ... 130s Setting up libvolume-key1:armhf (0.3.12-7build1) ... 130s Setting up bind9-host (1:9.18.24-0ubuntu3) ... 130s Setting up python3-lib2to3 (3.12.2-3ubuntu2) ... 131s Setting up python3-pkg-resources (68.1.2-2ubuntu1) ... 131s Setting up openssh-sftp-server (1:9.6p1-3ubuntu11) ... 131s Setting up python3-dbus (1.3.2-5build2) ... 131s Setting up python3-setuptools (68.1.2-2ubuntu1) ... 132s Setting up gpg-wks-client (2.4.4-2ubuntu15) ... 132s Setting up openssh-server (1:9.6p1-3ubuntu11) ... 132s Replacing config file /etc/ssh/sshd_config with new version 133s Created symlink /etc/systemd/system/ssh.service.requires/ssh.socket → /usr/lib/systemd/system/ssh.socket. 135s Setting up libblockdev-crypto3:armhf (3.1.0-1build1) ... 135s Setting up python3-gdbm:armhf (3.12.2-3ubuntu2) ... 135s Setting up python3-apt (2.7.6build1) ... 135s Setting up libfwupd2:armhf (1.9.15-1) ... 135s Setting up python3-yaml (6.0.1-2build1) ... 135s Setting up libqmi-proxy (1.35.2-0ubuntu1) ... 135s Setting up netplan.io (1.0-1) ... 135s Setting up bind9-dnsutils (1:9.18.24-0ubuntu3) ... 135s Setting up ubuntu-pro-client (31.2) ... 135s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 135s 136s Setting up fwupd (1.9.15-1) ... 137s fwupd-offline-update.service is a disabled or a static unit not running, not starting it. 137s fwupd-refresh.service is a disabled or a static unit not running, not starting it. 137s fwupd.service is a disabled or a static unit not running, not starting it. 137s Setting up ubuntu-pro-client-l10n (31.2) ... 137s Setting up udisks2 (2.10.1-6) ... 137s vda: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/uevent': Permission denied 137s vda1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda1/uevent': Permission denied 137s vda15: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda15/uevent': Permission denied 137s vda2: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:01.3/0000:04:00.0/virtio2/block/vda/vda2/uevent': Permission denied 137s loop0: Failed to write 'change' to '/sys/devices/virtual/block/loop0/uevent': Permission denied 137s loop1: Failed to write 'change' to '/sys/devices/virtual/block/loop1/uevent': Permission denied 137s loop2: Failed to write 'change' to '/sys/devices/virtual/block/loop2/uevent': Permission denied 137s loop3: Failed to write 'change' to '/sys/devices/virtual/block/loop3/uevent': Permission denied 137s loop4: Failed to write 'change' to '/sys/devices/virtual/block/loop4/uevent': Permission denied 137s loop5: Failed to write 'change' to '/sys/devices/virtual/block/loop5/uevent': Permission denied 137s loop6: Failed to write 'change' to '/sys/devices/virtual/block/loop6/uevent': Permission denied 137s loop7: Failed to write 'change' to '/sys/devices/virtual/block/loop7/uevent': Permission denied 138s Processing triggers for ufw (0.36.2-5) ... 138s Processing triggers for systemd (255.4-1ubuntu5) ... 138s Processing triggers for install-info (7.1-3build1) ... 138s Processing triggers for libc-bin (2.39-0ubuntu6) ... 138s Processing triggers for initramfs-tools (0.142ubuntu23) ... 139s Reading package lists... 140s Building dependency tree... 140s Reading state information... 140s The following packages will be REMOVED: 140s linux-headers-6.8.0-11* python3-lib2to3* 141s 0 upgraded, 0 newly installed, 2 to remove and 1 not upgraded. 141s After this operation, 85.8 MB disk space will be freed. 141s (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 ... 78592 files and directories currently installed.) 141s Removing linux-headers-6.8.0-11 (6.8.0-11.11) ... 141s Removing python3-lib2to3 (3.12.2-3ubuntu2) ... 143s autopkgtest [08:08:09]: rebooting testbed after setup commands that affected boot 184s autopkgtest [08:08:50]: testbed running kernel: Linux 5.15.0-101-generic #111-Ubuntu SMP Wed Mar 6 18:01:01 UTC 2024 210s autopkgtest [08:09:16]: @@@@@@@@@@@@@@@@@@@@ apt-source rubocop 220s Get:1 http://ftpmaster.internal/ubuntu noble/universe rubocop 1.39.0+dfsg-1 (dsc) [2430 B] 220s Get:2 http://ftpmaster.internal/ubuntu noble/universe rubocop 1.39.0+dfsg-1 (tar) [1029 kB] 220s Get:3 http://ftpmaster.internal/ubuntu noble/universe rubocop 1.39.0+dfsg-1 (diff) [11.0 kB] 220s gpgv: Signature made Tue Dec 20 23:20:36 2022 UTC 220s gpgv: using RSA key 8ED6C3F8BAC9DB7FC130A870F823A2729883C97C 220s gpgv: issuer "kanashiro@debian.org" 220s gpgv: Can't check signature: No public key 220s dpkg-source: warning: cannot verify inline signature for ./rubocop_1.39.0+dfsg-1.dsc: no acceptable signature found 220s autopkgtest [08:09:26]: testing package rubocop version 1.39.0+dfsg-1 222s autopkgtest [08:09:28]: build not needed 225s autopkgtest [08:09:31]: test gem2deb-test-runner: preparing testbed 234s Reading package lists... 234s Building dependency tree... 234s Reading state information... 235s Starting pkgProblemResolver with broken count: 0 235s Starting 2 pkgProblemResolver with broken count: 0 235s Done 236s The following additional packages will be installed: 236s gem2deb-test-runner libjs-jquery libjs-jquery-easing libjs-jquery-fancybox 236s libjs-jquery-mousewheel libjs-jquery-ui libruby libruby3.2 pry rake rubocop 236s ruby ruby-addressable ruby-ast ruby-coderay ruby-crack ruby-diff-lcs 236s ruby-docile ruby-hashdiff ruby-method-source ruby-net-telnet ruby-parallel 236s ruby-progressbar ruby-public-suffix ruby-rainbow ruby-regexp-parser 236s ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks 236s ruby-rspec-support ruby-rubocop-ast ruby-rubygems ruby-sdbm ruby-simplecov 236s ruby-simplecov-html ruby-unicode-display-width ruby-webmock ruby-webrick 236s ruby-whitequark-parser ruby-xmlrpc ruby3.2 rubygems-integration 236s Suggested packages: 236s libjs-jquery-ui-docs ri ruby-dev bundler 236s Recommended packages: 236s javascript-common zip fonts-lato 236s The following NEW packages will be installed: 236s autopkgtest-satdep gem2deb-test-runner libjs-jquery libjs-jquery-easing 236s libjs-jquery-fancybox libjs-jquery-mousewheel libjs-jquery-ui libruby 236s libruby3.2 pry rake rubocop ruby ruby-addressable ruby-ast ruby-coderay 236s ruby-crack ruby-diff-lcs ruby-docile ruby-hashdiff ruby-method-source 236s ruby-net-telnet ruby-parallel ruby-progressbar ruby-public-suffix 236s ruby-rainbow ruby-regexp-parser ruby-rspec ruby-rspec-core 236s ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubocop-ast 236s ruby-rubygems ruby-sdbm ruby-simplecov ruby-simplecov-html 236s ruby-unicode-display-width ruby-webmock ruby-webrick ruby-whitequark-parser 236s ruby-xmlrpc ruby3.2 rubygems-integration 236s 0 upgraded, 44 newly installed, 0 to remove and 1 not upgraded. 236s Need to get 8524 kB/8525 kB of archives. 236s After this operation, 44.6 MB of additional disk space will be used. 236s Get:1 /tmp/autopkgtest.favsGd/1-autopkgtest-satdep.deb autopkgtest-satdep armhf 0 [852 B] 236s Get:2 http://ftpmaster.internal/ubuntu noble/main armhf rubygems-integration all 1.18 [5336 B] 236s Get:3 http://ftpmaster.internal/ubuntu noble/main armhf ruby-net-telnet all 0.2.0-1 [13.3 kB] 237s Get:4 http://ftpmaster.internal/ubuntu noble/main armhf ruby-webrick all 1.8.1-1 [52.3 kB] 237s Get:5 http://ftpmaster.internal/ubuntu noble/main armhf ruby-xmlrpc all 0.3.2-2 [24.8 kB] 237s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libruby armhf 1:3.2~ubuntu1 [4694 B] 237s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ruby-sdbm armhf 1.0.0-5build4 [14.0 kB] 237s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main armhf libruby3.2 armhf 3.2.3-1build2 [5084 kB] 237s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ruby3.2 armhf 3.2.3-1build2 [50.6 kB] 237s Get:10 http://ftpmaster.internal/ubuntu noble/main armhf ruby-rubygems all 3.4.20-1 [238 kB] 237s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main armhf ruby armhf 1:3.2~ubuntu1 [3466 B] 237s Get:12 http://ftpmaster.internal/ubuntu noble/main armhf rake all 13.0.6-3 [61.6 kB] 237s Get:13 http://ftpmaster.internal/ubuntu noble/universe armhf gem2deb-test-runner armhf 2.2.2 [18.2 kB] 237s Get:14 http://ftpmaster.internal/ubuntu noble/main armhf libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 237s Get:15 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-jquery-easing all 12-4 [6970 B] 237s Get:16 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-jquery-mousewheel all 1:3.1.13-5 [6324 B] 237s Get:17 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-jquery-fancybox all 12-4 [45.7 kB] 237s Get:18 http://ftpmaster.internal/ubuntu noble/universe armhf libjs-jquery-ui all 1.13.2+dfsg-1 [252 kB] 237s Get:19 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-coderay all 1.1.3-8 [78.5 kB] 237s Get:20 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-method-source all 1.0.0-2 [8904 B] 237s Get:21 http://ftpmaster.internal/ubuntu noble/universe armhf pry all 0.14.2-1 [121 kB] 237s Get:22 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-progressbar all 1.11.0-1 [16.3 kB] 237s Get:23 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-parallel all 1.22.1-2 [12.3 kB] 237s Get:24 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-ast all 2.4.2-1 [10.7 kB] 237s Get:25 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-whitequark-parser all 3.1.3.0-1 [433 kB] 237s Get:26 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-rainbow all 3.1.1-1 [12.4 kB] 237s Get:27 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-regexp-parser all 2.6.1-1 [54.5 kB] 237s Get:28 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-rubocop-ast all 1.24.0-2 [50.3 kB] 237s Get:29 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-unicode-display-width all 1.6.1-1 [8904 B] 237s Get:30 http://ftpmaster.internal/ubuntu noble/universe armhf rubocop all 1.39.0+dfsg-1 [456 kB] 237s Get:31 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-public-suffix all 4.0.6+ds-2 [14.1 kB] 237s Get:32 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-addressable all 2.8.5-1 [55.3 kB] 237s Get:33 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-crack all 0.4.4-4 [8764 B] 237s Get:34 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-diff-lcs all 1.5.1-1 [22.8 kB] 237s Get:35 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-docile all 1.1.5-2.1 [5708 B] 237s Get:36 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-hashdiff all 1.1.0-1 [12.9 kB] 237s Get:37 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-rspec-support all 3.13.0c0e0m0s1-2 [29.2 kB] 237s Get:38 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] 237s Get:39 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [89.8 kB] 237s Get:40 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.0 kB] 237s Get:41 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-rspec all 3.13.0c0e0m0s1-2 [3500 B] 237s Get:42 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-simplecov-html all 0.12.3-2 [477 kB] 237s Get:43 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-simplecov all 0.22.0-1 [40.7 kB] 237s Get:44 http://ftpmaster.internal/ubuntu noble/universe armhf ruby-webmock all 3.18.1-2 [47.1 kB] 238s Fetched 8524 kB in 1s (6945 kB/s) 238s Selecting previously unselected package rubygems-integration. 238s (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 ... 58435 files and directories currently installed.) 238s Preparing to unpack .../00-rubygems-integration_1.18_all.deb ... 238s Unpacking rubygems-integration (1.18) ... 238s Selecting previously unselected package ruby-net-telnet. 238s Preparing to unpack .../01-ruby-net-telnet_0.2.0-1_all.deb ... 238s Unpacking ruby-net-telnet (0.2.0-1) ... 238s Selecting previously unselected package ruby-webrick. 238s Preparing to unpack .../02-ruby-webrick_1.8.1-1_all.deb ... 238s Unpacking ruby-webrick (1.8.1-1) ... 238s Selecting previously unselected package ruby-xmlrpc. 238s Preparing to unpack .../03-ruby-xmlrpc_0.3.2-2_all.deb ... 238s Unpacking ruby-xmlrpc (0.3.2-2) ... 238s Selecting previously unselected package libruby:armhf. 238s Preparing to unpack .../04-libruby_1%3a3.2~ubuntu1_armhf.deb ... 238s Unpacking libruby:armhf (1:3.2~ubuntu1) ... 238s Selecting previously unselected package ruby-sdbm:armhf. 238s Preparing to unpack .../05-ruby-sdbm_1.0.0-5build4_armhf.deb ... 238s Unpacking ruby-sdbm:armhf (1.0.0-5build4) ... 238s Selecting previously unselected package libruby3.2:armhf. 238s Preparing to unpack .../06-libruby3.2_3.2.3-1build2_armhf.deb ... 238s Unpacking libruby3.2:armhf (3.2.3-1build2) ... 239s Selecting previously unselected package ruby3.2. 239s Preparing to unpack .../07-ruby3.2_3.2.3-1build2_armhf.deb ... 239s Unpacking ruby3.2 (3.2.3-1build2) ... 239s Selecting previously unselected package ruby-rubygems. 239s Preparing to unpack .../08-ruby-rubygems_3.4.20-1_all.deb ... 239s Unpacking ruby-rubygems (3.4.20-1) ... 239s Selecting previously unselected package ruby. 239s Preparing to unpack .../09-ruby_1%3a3.2~ubuntu1_armhf.deb ... 239s Unpacking ruby (1:3.2~ubuntu1) ... 239s Selecting previously unselected package rake. 239s Preparing to unpack .../10-rake_13.0.6-3_all.deb ... 239s Unpacking rake (13.0.6-3) ... 239s Selecting previously unselected package gem2deb-test-runner. 239s Preparing to unpack .../11-gem2deb-test-runner_2.2.2_armhf.deb ... 239s Unpacking gem2deb-test-runner (2.2.2) ... 239s Selecting previously unselected package libjs-jquery. 239s Preparing to unpack .../12-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 239s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 239s Selecting previously unselected package libjs-jquery-easing. 239s Preparing to unpack .../13-libjs-jquery-easing_12-4_all.deb ... 239s Unpacking libjs-jquery-easing (12-4) ... 239s Selecting previously unselected package libjs-jquery-mousewheel. 239s Preparing to unpack .../14-libjs-jquery-mousewheel_1%3a3.1.13-5_all.deb ... 239s Unpacking libjs-jquery-mousewheel (1:3.1.13-5) ... 239s Selecting previously unselected package libjs-jquery-fancybox. 239s Preparing to unpack .../15-libjs-jquery-fancybox_12-4_all.deb ... 239s Unpacking libjs-jquery-fancybox (12-4) ... 239s Selecting previously unselected package libjs-jquery-ui. 239s Preparing to unpack .../16-libjs-jquery-ui_1.13.2+dfsg-1_all.deb ... 239s Unpacking libjs-jquery-ui (1.13.2+dfsg-1) ... 240s Selecting previously unselected package ruby-coderay. 240s Preparing to unpack .../17-ruby-coderay_1.1.3-8_all.deb ... 240s Unpacking ruby-coderay (1.1.3-8) ... 240s Selecting previously unselected package ruby-method-source. 240s Preparing to unpack .../18-ruby-method-source_1.0.0-2_all.deb ... 240s Unpacking ruby-method-source (1.0.0-2) ... 240s Selecting previously unselected package pry. 240s Preparing to unpack .../19-pry_0.14.2-1_all.deb ... 240s Unpacking pry (0.14.2-1) ... 240s Selecting previously unselected package ruby-progressbar. 240s Preparing to unpack .../20-ruby-progressbar_1.11.0-1_all.deb ... 240s Unpacking ruby-progressbar (1.11.0-1) ... 240s Selecting previously unselected package ruby-parallel. 240s Preparing to unpack .../21-ruby-parallel_1.22.1-2_all.deb ... 240s Unpacking ruby-parallel (1.22.1-2) ... 240s Selecting previously unselected package ruby-ast. 240s Preparing to unpack .../22-ruby-ast_2.4.2-1_all.deb ... 240s Unpacking ruby-ast (2.4.2-1) ... 240s Selecting previously unselected package ruby-whitequark-parser. 240s Preparing to unpack .../23-ruby-whitequark-parser_3.1.3.0-1_all.deb ... 240s Unpacking ruby-whitequark-parser (3.1.3.0-1) ... 240s Selecting previously unselected package ruby-rainbow. 240s Preparing to unpack .../24-ruby-rainbow_3.1.1-1_all.deb ... 240s Unpacking ruby-rainbow (3.1.1-1) ... 240s Selecting previously unselected package ruby-regexp-parser. 240s Preparing to unpack .../25-ruby-regexp-parser_2.6.1-1_all.deb ... 240s Unpacking ruby-regexp-parser (2.6.1-1) ... 240s Selecting previously unselected package ruby-rubocop-ast. 240s Preparing to unpack .../26-ruby-rubocop-ast_1.24.0-2_all.deb ... 240s Unpacking ruby-rubocop-ast (1.24.0-2) ... 240s Selecting previously unselected package ruby-unicode-display-width. 240s Preparing to unpack .../27-ruby-unicode-display-width_1.6.1-1_all.deb ... 240s Unpacking ruby-unicode-display-width (1.6.1-1) ... 240s Selecting previously unselected package rubocop. 240s Preparing to unpack .../28-rubocop_1.39.0+dfsg-1_all.deb ... 240s Unpacking rubocop (1.39.0+dfsg-1) ... 241s Selecting previously unselected package ruby-public-suffix. 241s Preparing to unpack .../29-ruby-public-suffix_4.0.6+ds-2_all.deb ... 241s Unpacking ruby-public-suffix (4.0.6+ds-2) ... 241s Selecting previously unselected package ruby-addressable. 241s Preparing to unpack .../30-ruby-addressable_2.8.5-1_all.deb ... 241s Unpacking ruby-addressable (2.8.5-1) ... 241s Selecting previously unselected package ruby-crack. 241s Preparing to unpack .../31-ruby-crack_0.4.4-4_all.deb ... 241s Unpacking ruby-crack (0.4.4-4) ... 241s Selecting previously unselected package ruby-diff-lcs. 241s Preparing to unpack .../32-ruby-diff-lcs_1.5.1-1_all.deb ... 241s Unpacking ruby-diff-lcs (1.5.1-1) ... 241s Selecting previously unselected package ruby-docile. 241s Preparing to unpack .../33-ruby-docile_1.1.5-2.1_all.deb ... 241s Unpacking ruby-docile (1.1.5-2.1) ... 241s Selecting previously unselected package ruby-hashdiff. 241s Preparing to unpack .../34-ruby-hashdiff_1.1.0-1_all.deb ... 241s Unpacking ruby-hashdiff (1.1.0-1) ... 241s Selecting previously unselected package ruby-rspec-support. 241s Preparing to unpack .../35-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... 241s Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... 241s Selecting previously unselected package ruby-rspec-core. 241s Preparing to unpack .../36-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... 241s Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... 241s Selecting previously unselected package ruby-rspec-expectations. 241s Preparing to unpack .../37-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... 241s Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 241s Selecting previously unselected package ruby-rspec-mocks. 241s Preparing to unpack .../38-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... 241s Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 241s Selecting previously unselected package ruby-rspec. 241s Preparing to unpack .../39-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... 241s Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... 241s Selecting previously unselected package ruby-simplecov-html. 241s Preparing to unpack .../40-ruby-simplecov-html_0.12.3-2_all.deb ... 241s Unpacking ruby-simplecov-html (0.12.3-2) ... 241s Selecting previously unselected package ruby-simplecov. 241s Preparing to unpack .../41-ruby-simplecov_0.22.0-1_all.deb ... 241s Unpacking ruby-simplecov (0.22.0-1) ... 241s Selecting previously unselected package ruby-webmock. 241s Preparing to unpack .../42-ruby-webmock_3.18.1-2_all.deb ... 241s Unpacking ruby-webmock (3.18.1-2) ... 241s Selecting previously unselected package autopkgtest-satdep. 241s Preparing to unpack .../43-1-autopkgtest-satdep.deb ... 241s Unpacking autopkgtest-satdep (0) ... 241s Setting up ruby-rainbow (3.1.1-1) ... 241s Setting up ruby-regexp-parser (2.6.1-1) ... 241s Setting up ruby-hashdiff (1.1.0-1) ... 241s Setting up ruby-public-suffix (4.0.6+ds-2) ... 241s Setting up libjs-jquery-mousewheel (1:3.1.13-5) ... 241s Setting up rubygems-integration (1.18) ... 241s Setting up ruby-method-source (1.0.0-2) ... 241s Setting up ruby-ast (2.4.2-1) ... 241s Setting up ruby-net-telnet (0.2.0-1) ... 241s Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... 241s Setting up ruby-webrick (1.8.1-1) ... 241s Setting up ruby-progressbar (1.11.0-1) ... 241s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 241s Setting up ruby-xmlrpc (0.3.2-2) ... 241s Setting up libjs-jquery-easing (12-4) ... 241s Setting up ruby-addressable (2.8.5-1) ... 241s Setting up libjs-jquery-fancybox (12-4) ... 241s Setting up ruby-parallel (1.22.1-2) ... 241s Setting up libjs-jquery-ui (1.13.2+dfsg-1) ... 241s Setting up rake (13.0.6-3) ... 241s Setting up libruby:armhf (1:3.2~ubuntu1) ... 241s Setting up ruby-rubygems (3.4.20-1) ... 241s Setting up ruby-sdbm:armhf (1.0.0-5build4) ... 241s Setting up libruby3.2:armhf (3.2.3-1build2) ... 241s Setting up ruby3.2 (3.2.3-1build2) ... 241s Setting up ruby (1:3.2~ubuntu1) ... 241s Setting up ruby-coderay (1.1.3-8) ... 241s Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... 241s Setting up ruby-docile (1.1.5-2.1) ... 241s Setting up ruby-unicode-display-width (1.6.1-1) ... 241s Setting up pry (0.14.2-1) ... 241s Setting up ruby-diff-lcs (1.5.1-1) ... 241s Setting up ruby-whitequark-parser (3.1.3.0-1) ... 241s Setting up ruby-simplecov-html (0.12.3-2) ... 241s Setting up ruby-crack (0.4.4-4) ... 241s Setting up gem2deb-test-runner (2.2.2) ... 241s Setting up ruby-rubocop-ast (1.24.0-2) ... 241s Setting up ruby-simplecov (0.22.0-1) ... 241s Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... 241s Setting up rubocop (1.39.0+dfsg-1) ... 241s Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... 241s Setting up ruby-webmock (3.18.1-2) ... 241s Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... 241s Setting up autopkgtest-satdep (0) ... 241s Processing triggers for libc-bin (2.39-0ubuntu6) ... 242s Processing triggers for man-db (2.12.0-3build4) ... 258s (Reading database ... 64117 files and directories currently installed.) 258s Removing autopkgtest-satdep (0) ... 264s autopkgtest [08:10:10]: test gem2deb-test-runner: gem2deb-test-runner --autopkgtest --check-dependencies 2>&1 264s autopkgtest [08:10:10]: 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 267s /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 272s 272s Randomized with seed 25797 272s 272s RuboCop::Cop::Style::ConstantVisibility 272s registers an offense for module definitions 272s does not register an offense in the top level scope 272s does not register an offense when passing a string to the visibility declaration 272s when defining a constant in a module 272s does not register an offense when using a visibility declaration 272s registers an offense when not using a visibility declaration 272s when defining a constant in a class 272s with a single-statement body 272s registers an offense when not using a visibility declaration 272s with a multi-statement body 272s registers an offense when not using a visibility declaration 272s registers an offense when there is no matching visibility declaration 272s does not register an offense when using a visibility declaration 272s IgnoreModules 272s registers an offense for constants 272s does not register an offense for class definitions 272s 272s RuboCop::Cop::Style::MultilineBlockChain 272s accepts a chain of blocks spanning one line 272s accepts a chain of calls followed by a multi-line block 272s accepts a multi-line block chained with calls on one line 272s with multi-line block chaining 272s registers an offense for a slightly more complicated case 272s accepts a chain where the first block is single-line 272s registers an offense for a chain where the second block is single-line 272s registers an offense for a simple case 272s registers two offenses for a chain of three blocks 272s Ruby 2.7 272s registers an offense for a slightly more complicated case 272s 272s RuboCop::Cop::Layout::DefEndAlignment 272s when EnforcedStyleAlignWith is start_of_line 272s accepts matching defs ... end 272s accepts matching foo bar def ... end 272s registers an offense for mismatched def test end and autocorrects 272s accepts matching def ... end 272s accepts matching def ... end 272s registers an offense for mismatched def Test.test end and autocorrects 272s accepts matching foo def ... end 272s registers an offense for mismatched foo def test end and autocorrects 272s when using refinements and `private def` 272s does not register an offense 272s correct + opposite 272s registers an offense 272s when including an anonymous module containing `private def` 272s does not register an offense 272s when EnforcedStyleAlignWith is def 272s registers an offense for mismatched def test end and autocorrects 272s registers an offense for mismatched def Test.test end and autocorrects 272s accepts matching def ... end 272s accepts matching foo def ... end 272s accepts matching defs ... end 272s registers an offense for mismatched foo def test end and autocorrects 272s correct + opposite 272s registers an offense 272s 272s RuboCop::Cop::Lint::ToEnumArguments 272s registers an offense when optional keyword arg is missing 272s does not register an offense when enumerator is created with `:m` and the correct arguments 272s registers an offense when enumerator is created for `__method__` with missing arguments 272s ignores the block argument 272s does not register an offense when enumerator is created with `__callee__` and the correct arguments 272s registers an offense when required keyword arg is missing 272s registers an offense when splat keyword arg is missing 272s registers an offense when method is called on `self` 272s does not register an offense when enumerator is created with `__method__` and the correct arguments 272s registers an offense when arguments are swapped 272s does not register an offense when method call has a receiver other than `self` 272s does not register an offense when not inside method definition 272s registers an offense when enumerator is created for another method 272s registers an offense when optional arg is missing 272s registers an offense when splat arg is missing 272s registers an offense when other values are passed for keyword arguments 272s registers an offense when required arg is missing 272s arguments forwarding 272s does not register an offense when enumerator is created with the correct arguments 272s registers an offense when enumerator is created with non matching arguments 272s 272s RuboCop::Cop::Lint::UselessElseWithoutRescue 272s with `else` without `rescue` 272s registers an offense 272s with `else` with `rescue` 272s accepts 272s 272s RuboCop::Cop::Layout::EmptyLineAfterMagicComment 272s accepts an empty source file 272s registers an offense when code that immediately follows typed comment 272s accepts magic comment with shareable_constant_value 272s registers offense when frozen_string_literal used with shareable_constant_value without empty line 272s accepts a source file with only a magic comment 272s accepts magic comment with typed 272s accepts magic comment followed by encoding 272s registers an offense for code that immediately follows comment 272s registers an offense when multiple magic comments without empty line 272s accepts code that separates the comment from the code with a newline 272s registers an offense for documentation immediately following comment 272s 272s RuboCop::Cop::Layout::FirstMethodParameterLineBreak 272s registers an offense and corrects params with default values 272s accepts params without parens 272s registers an offense and corrects params on first line of singleton method 272s registers an offense and corrects params listed on the first line 272s accepts methods without params 272s accepts single-line methods 272s accepts params listed on a single line 272s 272s RuboCop::Cop::Layout::IndentationWidth 272s with Width set to 2 272s with block 272s accepts badly indented code if block end is not on separate line 272s registers an offense for bad indentation of a do/end body 272s registers an offense for bad indentation of a {} body 272s does not register an offense for good indentation of `do` ... `ensure` ... `end` block 272s registers an offense for bad indentation of `do` ... `ensure` ... `end` block 272s accepts an empty block body 272s accepts a correctly indented block body 272s when using safe navigation operator 272s registers an offense for an if with setter 272s registers an offense for bad indentation of a {} body 272s when consistency style is indented_internal_methods 272s registers an offense for bad indentation in a do/end body 272s Ruby 2.7 272s registers an offense for bad indentation of a {} body 272s registers an offense for bad indentation of a do-end body 272s with module 272s leaves body unchanged if the first body line is on the same line with module keyword 272s when consistency style is indented_internal_methods 272s registers an offense for bad indentation of a module body 272s accepts normal non-indented internal methods of module functions 272s when consistency style is normal 272s registers an offense for bad indentation of a module body 272s accepts an empty module body 272s with case match 272s registers an offense for bad indentation in a case/else body 272s accepts case/in/else laid out as a table 272s accepts aligned values in `in` clause 272s registers an offense for bad indentation in a case/in body 272s accepts indented in/else plus indented body 272s accepts case/in/else with then beginning a line 272s accepts correctly indented case/in/else 272s accepts aligned value in `in` clause and `else` is empty 272s with for 272s accepts an empty for 272s registers an offense for bad indentation of a for body 272s with if statement 272s accepts `ensure` after an empty def 272s registers and corrects on offense for bad indentation 272s accepts `rescue`/`ensure` after an empty def 272s accepts an if/else branches with rescue clauses 272s accepts `rescue`/`ensure` after an empty body 272s accepts an empty if 272s registers offense for bad indentation of ternary inside else 272s registers an offense for bad indentation of an if body 272s accepts a correctly aligned if/elsif/else/end as a method argument 272s accepts `ensure` after an empty body 272s does not correct in scopes that contain block comments 272s indents parenthesized expressions 272s leaves rescue ; end unchanged 272s accepts indentation after if on new line after assignment 272s registers an offense for bad indentation of an else body 272s does not raise any error with empty braces 272s accepts `rescue` after an empty body 272s registers offense for bad indentation of modifier if in else 272s handles lines with only whitespace 272s does not indent heredoc strings 272s leaves block unchanged if block end is not on its own line 272s accepts if/elsif/else/end laid out as a table 272s accepts if/then/else/end laid out as another table 272s registers an offense for bad indentation of an else body when if and elsif body contains no code 273s accepts a correctly aligned if/elsif/else/end 273s accepts a one line if statement 273s registers an offense for bad indentation of an elsif body 273s registers an offense for bad indentation of an else body when if body contains no code 273s accepts `rescue` after an empty def 273s with assignment 273s when alignment style is start_of_line 273s and end is aligned with variable 273s accepts an if with end aligned with element assignment 273s accepts an if/else 273s accepts an if/else with chaining with a block after the end 273s accepts an if with end aligned with variable 273s accepts an if/else with chaining after the end 273s accepts an if with end aligned with setter 273s and end is aligned randomly 273s registers an offense for a while 273s registers an offense for an until 273s registers an offense for an if 273s and end is aligned with keyword 273s registers an offense for an if with element assignment 273s registers an offense for an if with setter 273s accepts an if/else in assignment on next line 273s registers an offense for a while 273s registers an offense for an if 273s registers an offense for an until 273s when alignment style is variable 273s and end is aligned randomly 273s registers an offense for a while 273s registers an offense for an until 273s registers an offense for an if 273s and end is aligned with keyword 273s registers an offense for an until 273s registers an offense for an if with element assignment 273s registers an offense for a while 273s registers an offense for an if with setter 273s accepts an if/else in assignment on next line 273s registers an offense for an if 273s and end is aligned with variable 273s accepts an if with end aligned with element assignment 273s accepts an if/else 273s accepts an if with end aligned with variable 273s accepts an if/else with chaining after the end 273s accepts an if/else with chaining with a block after the end 273s accepts an if with end aligned with setter 273s when alignment style is keyword 273s and end is aligned with keyword 273s accepts an if/else in assignment 273s accepts a while in assignment 273s accepts an if/else in assignment on next line 273s accepts an until in assignment 273s accepts an if in assignment 273s and end is aligned with variable 273s registers and corrects bad indentation 273s registers an offense for a while 273s registers an offense for an if 273s with begin/rescue/else/ensure/end 273s registers an offense for bad indentation of bodies 273s with unless 273s registers an offense for bad indentation of an unless body 273s accepts an empty unless 273s with def/defs 273s when end is aligned with def 273s with an assignment 273s registers an offense for bad indentation of a defs body 273s registers an offense for bad indentation of a def body 273s accepts an empty defs body 273s accepts an empty def body 273s when modifier and def are on the same line 273s registers an offense for bad indentation of a defs body 273s registers an offense for bad indentation of a def body 273s accepts a correctly aligned body 273s when end is aligned with start of line 273s accepts an empty def body 273s registers an offense for bad indentation of a defs body 273s registers an offense for bad indentation of a def body 273s with an assignment 273s accepts an empty defs body 273s when modifier and def are on the same line 273s registers an offense for bad indentation of a defs body 273s accepts a correctly aligned body 273s registers an offense for bad indentation of a def body 273s when multiple modifiers and def are on the same line 273s registers an offense for bad indentation of a def body 273s accepts a correctly aligned body 273s registers an offense for bad indentation of a defs body 273s when multiple modifiers are used in a block anda method call is made at end of the block 273s registers an offense for bad indentation of a def 273s registers an offense for bad indentation of a def body 273s accepts a correctly aligned body 273s with def/rescue/end 273s registers an offense for bad indentation of bodies 273s registers an offense for bad indent of defs bodies with a modifier 273s with class 273s registers an offense for bad indentation of a class body 273s leaves body unchanged if the first body line is on the same line with class keyword 273s leaves body unchanged if the first body line is on the same line with an opening of singleton class 273s accepts an empty class body 273s when consistency style is indented_internal_methods 273s registers an offense for normal non-indented internal methods indentation when defined in a singleton class 273s registers an offense for normal non-indented internal methods indentation 273s when consistency style is normal 273s accepts indented public, protected, and private 273s registers offenses for indented_internal_methods indentation 273s with access modifier 273s registers an offense for bad indentation of sections 273s registers an offense and corrects for bad modifier indentation before good method definition 273s when consistency style is outdent 273s accepts access modifier is outdent 273s with case 273s registers an offense for bad indentation in a case/else body 273s registers an offense for bad indentation in a case/when body 273s accepts case/when/else laid out as a table 273s accepts case/when/else with then beginning a line 273s accepts aligned values in when clause 273s accepts indented when/else plus indented body 273s accepts correctly indented case/when/else 273s with while/until 273s registers an offense for bad indentation of a while body 273s registers an offense for bad indentation of begin/end/while 273s registers an offense for bad indentation of an until body 273s accepts an empty while 273s with Width set to 4 273s registers and corrects offense for bad indentation 273s with ignored patterns set 273s accepts unindented lines for those keywords 273s for a file with byte order mark 273s accepts correctly indented method definition 273s with if statement 273s registers an offense for bad indentation of an if body 273s 273s RuboCop::Cop::Style::NumericPredicate 273s when configured to enforce numeric comparison methods 273s registers an offense for checking if a number is zero 273s registers an offense for checking if a number is positive 273s allows checking if a number is not zero 273s registers an offense for checking if a number is negative 273s when configured to enforce numeric predicate methods 273s with checking if a number is not zero 273s allows comparing against a global variable 273s allows comparing against a complex expression 273s allows comparing against a variable 273s when checking if a number is positive 273s when target ruby version is 2.3 or higher 273s registers an offense in yoda condition 273s registers an offense 273s with a complex expression 273s registers an offense in yoda condition 273s registers an offense 273s when target ruby version is 2.2 or lower 273s does not register an offense 273s when checking if a number is zero 273s allows comparing against a global variable 273s registers an offense 273s registers an offense with a complex expression 273s when comparing against a method argument variable 273s registers an offense with complex expression 273s registers an offense 273s when checking if a number is negative 273s when target ruby version is 2.2 or lower 273s does not register an offense 273s when target ruby version is 2.3 or higher 273s registers an offense in yoda condition 273s registers an offense 273s with a complex expression 273s registers an offense 273s registers an offense in yoda condition 273s when there are allowed methods 273s in argument 273s ignored method 273s with a string 273s allows checking if a number is positive 273s allows checking if a number is negative 273s with a regex 273s allows checking if a number is negative 273s allows checking if a number is positive 273s not ignored method 273s when checking if a number is negative 273s when target ruby version is 2.2 or lower 273s does not register an offense 273s when target ruby version is 2.3 or higher 273s registers an offense 273s when checking if a number is positive 273s when target ruby version is 2.3 or higher 273s registers an offense 273s when target ruby version is 2.2 or lower 273s does not register an offense 273s in block 273s ignored method 273s with a regex 273s allows checking if a number is positive 273s allows checking if a number is negative 273s with a string 273s allows checking if a number is positive 273s allows checking if a number is negative 273s not ignored method 273s registers an offense for checking if a number is positive 273s registers an offense for checking if a number is negative 273s simple method call 273s `EnforcedStyle` is `predicate` 273s allows checking if a number is zero 273s `EnforcedStyle` is `comparison` 273s allows checking if a number is zero 273s 273s RuboCop::Cop::Style::OneLineConditional 273s when AlwaysCorrectToMultiline is true 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct for if/then/else/end when `then` without body 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s does not register an offense for unless/then/else/end with empty else 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct for if/then/else/end 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end that contains unparenthesized operator method calls 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s does not register an offense for if/then/end 273s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `next` keyword 273s registers and corrects an offense with multi-line construct for unless/then/else/end 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct for if-then-elsif-then-else-end 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end that contains method calls with parenthesized arguments 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s does not register an offense for unless/then/end 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end that contains method calls with unparenthesized arguments 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct for if-then-elsif-then-elsif-then-else-end 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s does not register an offense for if/then/else/end with empty else 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct without adding parentheses when if/then/else/end is preceded by an operator 273s behaves like if/then/else/end with constructs changing precedence 273s 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 273s behaves like if/then/else/end with constructs changing precedence 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `yield a` constructs inside inner branches 273s behaves like if/then/else/end with keyword 273s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `retry` keyword 273s behaves like if/then/else/end with constructs changing precedence 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `a = b` constructs inside inner branches 273s behaves like if/then/else/end with constructs changing precedence 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `super b` constructs inside inner branches 273s behaves like if/then/else/end with constructs changing precedence 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `not a` constructs inside inner branches 273s behaves like if/then/else/end with constructs changing precedence 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `puts 1` constructs inside inner branches 273s behaves like if/then/else/end with keyword 273s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `break` keyword 273s when IndentationWidth differs from default 273s registers and corrects an offense with multi-line construct for if/then/else/end 273s behaves like if/then/else/end with constructs changing precedence 273s registers and corrects an offense with multi-line construct without adding parentheses for if/then/else/end with `defined? :A` constructs inside inner branches 273s behaves like if/then/else/end with keyword 273s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `self` keyword 273s behaves like if/then/else/end with constructs changing precedence 273s 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 273s behaves like if/then/else/end with constructs changing precedence 273s 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 273s behaves like if/then/else/end with keyword 273s registers and corrects an offense with multi-line construct when one of the branches of if/then/else/end contains `raise` keyword 273s when AlwaysCorrectToMultiline is false 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses for if/then/else/end that contains method calls with unparenthesized arguments 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `next` keyword 273s registers and corrects an offense with ternary operator for if/then/else/end when `then` without body 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator for unless/then/else/end 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator for if/then/else/end 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s does not register an offense for if/then/else/end with empty else 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct for if-then-elsif-then-end 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator without adding parentheses for if/then/else/end that contains method calls with parenthesized arguments 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s does not register an offense for if/then/end 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator without adding parentheses for if/then/else/end that contains unparenthesized operator method calls 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct for if-then-elsif-then-elsif-then-else-end 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s does not register an offense for unless/then/else/end with empty else 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with multi-line construct for if-then-elsif-then-else-end 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 273s does not register an offense for unless/then/end 274s registers and corrects an offense with ternary operator and adding parentheses when if/then/else/end is preceded by an operator 274s behaves like if/then/else/end with keyword 274s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `self` keyword 274s behaves like if/then/else/end with keyword 274s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `raise` keyword 274s behaves like if/then/else/end with keyword 274s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `break` keyword 274s behaves like if/then/else/end with constructs changing precedence 274s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `a = b` constructs inside inner branches 274s behaves like if/then/else/end with constructs changing precedence 274s 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 274s behaves like if/then/else/end with constructs changing precedence 274s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `not a` constructs inside inner branches 274s behaves like if/then/else/end with constructs changing precedence 274s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `puts 1` constructs inside inner branches 274s behaves like if/then/else/end with constructs changing precedence 274s 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 274s behaves like if/then/else/end with constructs changing precedence 274s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `yield a` constructs inside inner branches 274s behaves like if/then/else/end with constructs changing precedence 274s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `defined? :A` constructs inside inner branches 274s behaves like if/then/else/end with keyword 274s registers and corrects an offense with ternary operator when one of the branches of if/then/else/end contains `retry` keyword 274s behaves like if/then/else/end with constructs changing precedence 274s 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 274s behaves like if/then/else/end with constructs changing precedence 274s registers and corrects an offense with ternary operator and adding parentheses inside for if/then/else/end with `super b` constructs inside inner branches 274s 274s RuboCop::Cop::Lint::RedundantRequireStatement 274s registers an offense when using requiring `enumerator` 274s registers an offense when using requiring `enumerator` in condition 274s registers an offense when using requiring `enumerator` with modifier form 274s target ruby version >= 3.1 274s registers an offense and corrects when using requiring `fiber` or already redundant features 274s target ruby version >= 3.2 274s registers an offense and corrects when using requiring `set` 274s target ruby version <= 2.0 274s does not register an offense when using requiring `thread` 274s target ruby version <= 2.4 274s does not register an offense when using requiring `pp` 274s target ruby version >= 2.5 274s register an offense and corrects when using requiring `pp` or already redundant features 274s target ruby version >= 2.2 274s registers an offense when using requiring `rational`, `complex` 274s target ruby version <= 2.1 274s does not register an offense when using requiring `rational`, `complex` 274s target ruby version < 3.1 274s does not register an offense and corrects when using requiring `fiber` 274s target ruby version >= 2.7 274s registers an offense when using requiring `ruby2_keywords` or already redundant features 274s target ruby version >= 2.1 274s register an offense and corrects when using requiring `thread` or already redundant features 274s target ruby version <= 2.6 274s does not register an offense when using requiring `ruby2_keywords` 274s 274s RuboCop::Cop::Layout::SpaceAfterComma 274s method call arg commas without space 274s behaves like ends with an item 274s registers an offense and does autocorrection 274s block argument commas without space 274s behaves like trailing comma 274s accepts the last comma 274s behaves like ends with an item 274s registers an offense and does autocorrection 274s array index commas without space 274s behaves like trailing comma 274s accepts the last comma 274s behaves like ends with an item 274s registers an offense and does autocorrection 274s inside hash braces 274s when EnforcedStyle for SpaceInsideBlockBraces is no_space 274s accepts no space between a comma and a closing brace 274s behaves like common behavior 274s accepts a space between a comma and a closing brace 274s when EnforcedStyle for SpaceInsideBlockBraces is space 274s registers an offense for no space between a comma and a closing brace 274s behaves like common behavior 274s accepts a space between a comma and a closing brace 274s 274s RuboCop::Cop::Style::BlockDelimiters 274s EnforcedStyle: semantic 274s autocorrects do-end to {} if it is a functional block and does not change the meaning 274s accepts a single line block with {} if used in an irange 274s registers an offense for a multi-line block with do-end if the return value is passed to a method 274s autocorrects do-end to {} with appropriate spacing 274s accepts a multi-line functional block with do-end if it is a known procedural method 274s autocorrects do-end to {} if it is a functional block 274s registers an offense for a multi-line block with braces if the return value is not used 274s accepts a single line block with {} if used in a logical or 274s autocorrects do-end with `rescue` to {} if it is a functional block 274s accepts a multi-line block with braces when chained 274s accepts a single line block with {} if used in an array 274s allows {} if it is a known functional method 274s accepts a multi-line block with braces when passed to a known functional method 274s accepts a single line block with {} if used in an if statement 274s accepts a multi-line functional block with do-end if it is an ignored method by regex 274s accepts a multi-line block with do-end if it is the return value of its scope 274s allows {} if it is a known procedural method 274s registers an offense for a multi-line block with do-end if the return value is assigned 274s accepts a single line block with {} if used in a logical and 274s accepts a single line block with {} followed by a safe navigation method call 274s registers an offense for a multi-line block with do-end if the return value is attribute-assigned 274s accepts a multi-line block with braces when passed to a method 274s accepts a multi-line block with braces if the return value is assigned 274s autocorrects do-end with `ensure` to {} if it is a functional block 274s accepts a multi-line functional block with do-end if it is an ignored method 274s accepts a multi-line block with braces if it is the return value of its scope 274s accepts a single line block with {} if used in an erange 274s with a procedural multi-line block 274s autocorrects { and } to do and end 274s autocorrects { and } to do and end with appropriate spacing 274s with a procedural one-line block 274s with AllowBracesOnProceduralOneLiners true 274s accepts a single line procedural do-end block 274s accepts a single line procedural block with braces 274s with AllowBracesOnProceduralOneLiners false or unset 274s registers an offense for a single line procedural block 274s accepts a single line block with do-end if it is procedural 274s EnforcedStyle: always_braces 274s registers an offense for a multi-line block with do-end 274s registers an offense for multi-lined do-end blocks when combined with attribute assignment 274s registers an offense for multi-line chained do-end blocks 274s autocorrects do-end with `ensure` to {} if it is a functional block 274s accepts a single line block with braces 274s registers an offense for a single line block with do-end 274s does not autocorrect do-end if {} would change the meaning 274s autocorrects do-end with `rescue` to {} if it is a functional block 274s accepts a multi-line block that needs braces to be valid ruby 274s accepts a multi-line functional block with do-end if it is an ignored method 274s accepts a multi-line functional block with do-end if it is an ignored method by regex 274s when there are braces around a multi-line block 274s allows when combined with attribute assignment 274s allows in the simple case 274s allows when the block is being chained 274s EnforcedStyle: line_count_based 274s accepts a multi-line block that needs braces to be valid ruby 274s does not autocorrect do-end if {} would change the meaning 274s accepts a multi-line block with do-end 274s does not autocorrect {} if do-end would change the meaning 274s accepts a single line block with braces 274s autocorrects do-end for single line blocks to { and } 274s registers an offense for a single line block with do-end 274s when there are braces around a multi-line block 274s registers an offense for braces if do-end would not change the meaning 274s accepts a multi-line functional block with {} if it is an ignored method 274s can handle special method names such as []= and done? 274s registers an offense when combined with attribute assignment 274s registers an offense when there is a comment after the closing brace and block body is empty 274s registers an offense in the simple case 274s registers an offense when there is a comment after the closing brace and block body is not empty 274s autocorrects { and } to do and end 274s accepts braces if do-end would change the meaning 274s autocorrects adjacent curly braces correctly 274s does not autocorrect {} if do-end would introduce a syntax error 274s registers an offense and keep chained block when there is a comment after the closing brace and block body is not empty 274s accepts a multi-line functional block with {} if it is an ignored method by regex 274s registers an offense when there is a comment after the closing brace and using method chain 274s with a single line do-end block with an inline `rescue` 274s autocorrects properly 274s Ruby >= 2.7 274s accepts a multi-line numblock that needs braces to be valid ruby 274s accepts a multi-line numblock with do-end 274s accepts a single line numblock with braces 274s registers an offense for a single line numblock with do-end 274s BracesRequiredMethods 274s other methods 274s autocorrects { and } to do and end 274s allows braces 274s BracesRequiredMethods methods 274s registers an offense with do 274s allows braces 274s EnforcedStyle: braces_for_chaining 274s accepts a multi-line functional block with {} if it is an ignored method 274s allows chaining to } inside of Hash[] 274s autocorrects do-end with `rescue` to {} if it is a functional block 274s allows do/end inside Hash[] 274s allows when :[] is chained 274s autocorrects do-end with `ensure` to {} if it is a functional block 274s disallows {} with no chain inside of Hash[] 274s registers an offense for a single line block with do-end 274s accepts a single line block with braces 274s registers an offense for multi-line chained do-end blocks 274s accepts a multi-line block with do-end 274s accepts a multi-line functional block with {} if it is an ignored method by regex 274s accepts a multi-line block that needs braces to be valid ruby 274s with safe navigation 274s registers an offense for multi-line chained do-end blocks 274s Ruby >= 2.7 274s accepts a single line numblock with braces 274s accepts a multi-line numblock with do-end 274s registers an offense for a single line numblock with do-end 274s accepts a multi-line numblock that needs braces to be valid ruby 274s when there are braces around a multi-line block 274s registers an offense in the simple case 274s allows when the block is being chained 274s allows when the block is being chained with attribute assignment 274s registers an offense when combined with attribute assignment 274s 274s RuboCop::Cop::Lint::UselessAssignment 274s when a variable is assigned and passed to a method followed by method taking block 274s accepts 274s when a variable is reassigned while referencing itself in rhs and referenced 274s accepts 274s when a variable is assigned in each branch of if and referenced in the else branch 274s registers an offense for the assignment in the if branch 274s when an unreferenced variable is reassigned in a block 274s accepts 274s when a variable is reassigned at the end of loop body and would be referenced in next iteration 274s accepts 274s when a variable is assigned and unreferenced in a module 274s registers an offense 274s when a variable is assigned and referenced when defining a module 274s does not register an offense 274s when a unreferenced variable is reassigned on the left side of && and referenced after the && 274s registers an offense for the unreferenced assignment 274s when a variable is referenced in rhs of named capture expression 274s accepts 274s when a variable is assigned in single branch if and unreferenced 274s registers an offense 274s when a keyword splat method argument is used 274s accepts 274s when a referenced variable is reassigned but not re-referenced in a method defined in loop 274s registers an offense 274s when a variable is reassigned in single branch if and referenced after the branching 274s accepts 274s when there's an unreferenced assignment in top level if branch while the variable is referenced in the paired else branch 274s registers an offense for the assignment in the if branch 274s when a named capture is unreferenced in other than top level 274s registers an offense 274s when a variable is reassigned with binary operator assignment while assigning to itself in rhs then referenced 274s registers an offense for the assignment in rhs 274s when an unreferenced variable is reassigned and re-referenced 274s registers an offense for the unreferenced assignment 274s when a rescued error variable is wrongly tried to be referenced in another rescue body 274s registers an offense 274s when a unreferenced variable is reassigned on the right side of && and referenced after the && 274s accepts 274s when a variable is assigned and unreferenced in a singleton method defined with self keyword 274s registers an offense 274s when a unreferenced variable is reassigned in same branch and referenced after the branching 274s registers an offense for the unreferenced assignment 274s when a named capture is unreferenced in top level 274s registers an offense 274s when a variable is assigned and unreferenced in a method 274s registers an offense 274s when a block local variable is assigned and unreferenced 274s registers offenses for the assignment 274s when a method argument is reassigned and zero arity super is called 274s accepts 274s when a variable is reassigned multiple times in ensure with rescue then referenced after the begin 274s registers an offense 274s when a variable is assigned in loop body and referenced in post while condition 274s accepts 274s when a referenced variable is reassigned but not re-referenced 274s registers an offense for the non-re-referenced assignment 274s when a variable is assigned and unreferenced in a singleton method defined with variable name 274s registers an offense 274s when a named capture is referenced 274s accepts 274s when a variable is reassigned multiple times in main body of begin then referenced in ensure 274s accepts 274s when a variable that has same name as outer scope variable is not referenced in a method defined in loop 274s registers an offense 274s when a variable is assigned and unreferenced in a class 274s registers an offense 274s when a keyword splat method argument is not used 274s accepts 274s when a method argument is not used 274s accepts 274s when a variable is reassigned at the end of loop body and would be referenced in loop condition 274s accepts 274s when a variable is shadowed by a block argument and unreferenced 274s registers an offense 274s when a variable is reassigned with multiple assignment while referencing itself in rhs and referenced 274s accepts 274s inside a `case-match` node 274s does not register an offense when the variable is used 274s when a variable is reassigned multiple times in rescue and referenced after the begin 274s registers an offense 274s when a setter is invoked with operator assignment in loop body 274s accepts 274s when a variable is reassigned multiple times in main body of begin then referenced in rescue 274s accepts 274s when a variable is assigned in branch of modifier if that references the variable in its conditional clauseand unreferenced 274s registers an offense 274s when a variable is not used and the name starts with _ 274s accepts 274s when a variable is reassigned multiple times in main body of begin then referenced after the begin 274s accepts 274s when a variable is assigned in loop body and referenced in post until condition 274s accepts 274s when a variable is reassigned in a loop 274s while loop 275s accepts 275s until loop 275s accepts 275s post while loop 275s accepts 275s post until loop 275s accepts 275s for loop 275s accepts 275s when a variable is assigned in each branch of if and referenced after the branching 275s accepts 275s when a splat method argument is not used 275s accepts 275s when a variable is reassigned multiple times in rescue with ensure then referenced after the begin 275s registers an offense 275s when a variable is assigned with operator assignment in top level 275s registers an offense 275s when a block argument is not used 275s accepts 275s similar name suggestion 275s when there's a similar method invocation with explicit receiver 275s does not suggest any name 275s when there's a similar method invocation with arguments 275s does not suggest any name 275s when there's a similar name but it's in inner scope 275s does not suggest any name 275s when there are only less similar names 275s does not suggest any name 275s when there's a similar variable 275s suggests the variable name 275s when there's a similar variable-like method invocation 275s suggests the method name 275s when a variable is assigned with ||= at the last expression of the scope 275s registers an offense 275s when an anonymous keyword splat method argument is defined 275s accepts 275s when a variable is assigned in main body of begin, rescue and else and reassigned in ensure then referenced after the begin 275s registers offenses for each assignment before ensure 275s when an assignment in a if branch is referenced in another if branch 275s accepts 275s when a variable is reassigned in single branch if and referenced in the branch 275s registers an offense for the unreferenced assignment 275s when a optional keyword method argument is not used 275s accepts 275s when a variable is assigned multiple times but unreferenced 275s registers offenses for each assignment 275s when a variable is assigned and assigned again in a modifier condition 275s accepts with parentheses 275s accepts without parentheses 275s when a variable is reassigned with binary operator assignment and referenced 275s accepts 275s when a variable is reassigned with logical operator assignment and referenced 275s accepts 275s when a variable is assigned in 2 identical if branches 275s doesn't think 1 of the 2 assignments is useless 275s when there's an unreferenced reassignment in a if branch while the variable is referenced in the paired elsif branch 275s registers an offense for the reassignment in the if branch 275s when a variable is reassigned and unreferenced in a if branch while the variable is referenced in the paired else branch 275s registers an offense for the reassignment in the if branch 275s when a variable is assigned in begin and referenced outside 275s accepts 275s when a variable is assigned and unreferenced in top level 275s registers an offense 275s when there's an unreferenced reassignment in a if branch while the variable is referenced in a case branch in the paired else branch 275s registers an offense for the reassignment in the if branch 275s when a variable is assigned and unreferenced in a singleton class 275s registers an offense 275s when a variable is reassigned in loop body but won't be referenced either next iteration or loop condition 275s registers an offense (PENDING: Requires an advanced logic that checks whether the return value of an operator assignment is used or not.) 275s when a variable is assigned with multiple assignment and unreferenced 275s registers an offense 275s when a variable is assigned in main body of begin, rescue and else then referenced after the begin 275s accepts 275s when a variable is assigned with operator assignment in rescue and would be referenced with retry 275s accepts 275s when a variable is assigned with ||= before the last expression of the scope 275s registers an offense 275s when a variable is assigned on each side of && and referenced after the && 275s accepts 275s when a variable is assigned in loop body and unreferenced 275s registers an offense 275s when a variable is assigned in main body of begin with rescue but unreferenced 275s registers an offense 275s when a variable is assigned and unreferenced in a class subclassing another class stored in local variable 275s registers an offense 275s when a variable is assigned at the end of rescue and would be referenced with retry 275s accepts 275s when a variable is assigned first with ||= and referenced 275s accepts 275s when a method argument is reassigned but not passed to super 275s registers an offense 275s when a referenced variable is reassigned in a block 275s accepts 275s when a variable is assigned in branch of modifier if that references the variable in its conditional clauseand referenced after the branching 275s accepts 275s when a variable is assigned while being passed to a method taking block 275s and the variable is used 275s accepts 275s and the variable is not used 275s registers an offense 275s when a block local variable is declared but not assigned 275s accepts 275s when an optional method argument is not used 275s accepts 275s when a block method argument is not used 275s accepts 275s when a local variable is unreferenced and zero arity super is called 275s registers an offense 275s when there is only one AST node and it is unused variable 275s registers an offense 275s 275s RuboCop::CLI --autocorrect 275s 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` 275s does not crash Lint/SafeNavigationWithEmpty and offenses and accepts Style/SafeNavigation when checking `foo&.empty?` in a conditional 275s corrects `Style/TernaryParentheses` offenses and accepts `Lint/ParenthesesAsGroupedExpression` 275s corrects when specifying `EnforcedStyle: with_first_argument` of `Layout/ArgumentAlignment` and `EnforcedColonStyle: separator` of `Layout/HashAlignment` 275s properly corrects when `Style/SoleNestedConditional` and one of `Style/NegatedIf` or `Style/NegatedUnless` detect offenses 276s corrects code with indentation problems 276s can correct two problems with blocks 276s corrects `Style/SoleNestedConditional` with `Style/InverseMethods` and `Style/IfUnlessModifier` 276s corrects when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `EnforcedStyle: consistent` of `Layout/FirstArgumentIndentation` 277s avoids adding extra spaces when both `Style/Semicolon` and `Style/SingleLineMethods`both apply 277s says [Correctable] if correction is unsafe 277s corrects `Layout/SpaceAroundOperators` and `Layout/ExtraSpacing` offenses when using `ForceEqualSignAlignment: true` 277s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `Layout/SpaceBeforeFirstArg` 277s can be disabled for any cop in configuration 278s consistently quotes symbol keys in a hash using `Lint/SymbolConversion` with `EnforcedStyle: consistent` and `Style/QuotedSymbols` 278s does not hang SpaceAfterPunctuation and SpaceInsideArrayLiteralBrackets 278s corrects `Naming/RescuedExceptionsVariableName` and `, `Style/RescueStandardError`and `Lint/OverwriteByRescue` offenses 278s can correct a problems and the problem it creates 278s corrects `Lint/UnusedMethodArgument` with `Style/ExplicitBlockArgument` 278s corrects IndentationWidth and IndentationConsistency offenseswhen using `EnforcedStyle: outdent` and `EnforcedStyle: indented_internal_methods` 278s corrects InitialIndentation offenses 279s 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` 279s corrects IndentationWidth and IndentationConsistency offenseswithout correcting `Style/TrailingBodyOnClass` 279s does not correct SpaceAroundOperators in a hash that would be changed back 279s does not say [Corrected] if correction is not possible 279s can correct two empty lines at end of class body 279s does not correct ExtraSpacing in a hash that would be changed back 280s corrects HeredocArgumentClosingParenthesis offenses and ignores TrailingCommaInArguments offense 280s can correct WordArray and SpaceAfterComma offenses 280s can correct MethodCallWithoutArgsParentheses and EmptyLiteral offenses 280s can correct two problems in the same place 280s corrects `Layout/DotPosition` and `Layout/SingleLineBlockChain` offenses 280s handles different SpaceInsideBlockBraces and SpaceInsideHashLiteralBraces 280s does not crash when using `Layout/CaseIndentation` and `Layout/ElseAlignment` 281s can correct HashSyntax and SpaceAroundOperators offenses 281s corrects LineEndConcatenation offenses leaving the RedundantInterpolation offense unchanged 281s corrects SymbolProc and SpaceBeforeBlockBraces offenses 281s does not hang SpaceAfterPunctuation and SpaceInsideParens 281s corrects IndentationWidth, RedundantBegin, and RescueEnsureAlignment offenses 281s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `Lint/AmbiguousOperator` 282s can correct empty line inside special form of nested modules 282s corrects when specifying `EnforcedStyle: with_first_argument` of `Layout/ArgumentAlignment` and `EnforcedColonStyle: separator` of `Layout/HashAlignment` (`EnforcedColonStyle` is array) 282s corrects when specifying `EnforcedStyle: with_first_argument` of `Layout/ArgumentAlignment` and `EnforcedHashRocketStyle: separator` of `Layout/HashAlignment` 282s corrects Layout/RedundantLineBreak and Layout/SingleLineBlockChain offenses 282s corrects properly when both `Style/MapToHash` and `Style/HashTransformKeys`or `Style/HashTransformValues` registers 282s can correct HashSyntax when --only is used 283s can change block comments and indent them 283s corrects RedundantCopDisableDirective offenses 283s corrects indentation for a begin/rescue/else/ensure/end block properly 283s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `Style/NestedParenthesizedCalls` 283s 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 284s corrects when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `Layout/HashAlignment` 284s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `EnforcedStyle: conditionals` of `Style/AndOr` 284s corrects Lint/ParenthesesAsGroupedExpression and offenses and accepts Style/RedundantParentheses 284s corrects `Style/InverseMethods` offenses when specifying `IncludeSemanticChanges: false` of `Style/NonNilCheck` and `EnforcedStyle: comparison` of `Style/NilComparison` 284s can correct IndentHash offenses with separator style 284s honors Exclude settings in individual cops 284s 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` 285s corrects Style/InverseMethods and Style/Not offenses 285s corrects RedundantBegin offenses and fixes indentation etc 285s can correct indentation and another thing 285s 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` 285s can correct MethodDefParentheses and other offense 285s can correct TrailingEmptyLines and TrailingWhitespace offenses 285s corrects `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` with `Style/RescueModifier` 286s does not crash when using Lint/SafeNavigationWithEmpty and Layout/EmptyLinesAroundBlockBody 286s corrects Style/BlockDelimiters offenses when specifyingLayout/SpaceInsideBlockBraces together 286s 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 286s corrects `EnforcedStyle: hash_rockets` of `Style/HashSyntax` with `Layout/HashAlignment` 286s corrects when specifying `EnforcedStyle: with_fixed_indentation` of `Layout/ArgumentAlignment` and `Layout/HashAlignment` and `Layout/FirstHashElementIndentation` 286s corrects `Layout/DotPosition` and `Style/RedundantSelf` offenses 286s corrects `Lint/Lambda` and `Lint/UnusedBlockArgument` offenses 287s corrects Tab and IndentationConsistency offenses 287s properly autocorrects when `Style/TernaryParentheses` requires parentheses that `Style/RedundantParentheses` would otherwise remove 287s plays nicely with default cops in complex ExtraSpacing scenarios 287s can correct SpaceAfterComma and HashSyntax offenses 287s corrects TrailingCommaIn(Array|Hash)Literal and Multiline(Array|Hash)BraceLayout offenses 288s corrects IndentationWidth and IndentationConsistency offenses 288s breaks line at the beginning of trailing class/module body without removing a semicolon in the bodywhen using `Style/TrailingBodyOnClass` and `Style/TrailingBodyOnModule` 288s corrects `EnforcedStyle: line_count_based` of `Style/BlockDelimiters` with `Style/CommentedKeyword` and `Layout/BlockEndNewline` 288s corrects only IndentationWidth without crashing 288s can correct single line methods 288s corrects `Style/RedundantBegin` with `Style/MultilineMemoization` 288s corrects Style/BlockDelimiters offenses when specifyingLayout/SpaceBeforeBlockBraces with `EnforcedStyle: no_space` together 288s corrects Style/Next and Style/SafeNavigation offenses 289s corrects `Style/IfUnlessModifier` with `Style/SoleNestedConditional` 289s trailing comma cops 289s when the style is `consistent_comma` 289s corrects TrailingCommaInLiteral and TrailingCommaInArguments without producing a double comma 289s when the style is `comma` 289s corrects TrailingCommaInLiteral and TrailingCommaInArguments without producing a double comma 289s caching 289s with an offense in the cache 289s corrects offenses 289s with no offenses in the cache 289s doesn't correct offenses 289s when BlockDelimiters has braces_for_chaining style 290s corrects SpaceBeforeBlockBraces, SpaceInsideBlockBraces offenses 290s when BlockDelimiters has semantic style 290s corrects SpaceBeforeBlockBraces, SpaceInsideBlockBraces offenses 290s when BlockDelimiters has line_count_based style 290s corrects SpaceBeforeBlockBraces, SpaceInsideBlockBraces offenses 290s space_inside_bracket cops 290s when array style is compact & reference style is space 290s corrects SpaceInsideArrayLiteralBrackets and SpaceInsideReferenceBrackets 290s when array style is compact & reference style is no_space 290s corrects SpaceInsideArrayLiteralBrackets and SpaceInsideReferenceBrackets 290s when array style is no_space & reference style is space 291s corrects SpaceInsideArrayLiteralBrackets and SpaceInsideReferenceBrackets 291s when array style is space & reference style is no space 291s corrects SpaceInsideArrayLiteralBrackets and SpaceInsideReferenceBrackets 291s 291s RuboCop::Cop::Style::TrailingCommaInHashLiteral 291s with single line list of values 291s when EnforcedStyleForMultiline is comma 291s accepts empty literal 291s accepts literal without trailing comma 291s accepts single element literal without trailing comma 291s registers an offense for trailing comma in a literal 291s when EnforcedStyleForMultiline is no_comma 291s accepts empty literal 291s registers an offense for trailing comma in a literal 291s accepts literal without trailing comma 291s accepts single element literal without trailing comma 291s when EnforcedStyleForMultiline is consistent_comma 291s accepts empty literal 291s accepts single element literal without trailing comma 291s accepts literal without trailing comma 291s registers an offense for trailing comma in a literal 291s with multi-line list of values 291s when EnforcedStyleForMultiline is consistent_comma 291s accepts a multiline hash with pairs on a single line andtrailing comma 291s accepts a multiline hash with a single pair and trailing comma 291s accepts trailing comma 291s accepts trailing comma after a heredoc 291s registers an offense for no trailing comma 291s when closing bracket is on same line as last value 291s registers an offense for literal with no trailing comma 291s when EnforcedStyleForMultiline is no_comma 291s registers an offense for trailing comma in literal 291s accepts comma in comment after last value item 291s accepts literal with no trailing comma 291s accepts comma inside a heredoc parameters at the end 291s when EnforcedStyleForMultiline is comma 291s accepts a multiline hash with a single pair and trailing comma 291s accepts trailing comma 291s accepts trailing comma after a heredoc 291s registers an offense for no trailing comma 291s registers an offense for trailing comma in a comment 291s when closing bracket is on same line as last value 291s accepts literal with no trailing comma 291s 291s RuboCop::Cop::Style::NumericLiterals 291s accepts long numbers with underscore 291s autocorrects numeric literal with exponent and dot 291s autocorrects negative floating-point numbers 291s autocorrects negative numbers 291s accepts short numbers without underscore 291s registers an offense for a long undelimited integer 291s autocorrects numeric literal with exponent (large E) and dot 291s accepts integers with less than three places at the end 291s accepts a short integer without underscore 291s does not count a leading minus sign as a digit 291s registers an offense for an integer with misplaced underscore 291s ignores non-decimal literals 291s registers an offense for a float with a long undelimited integer part 291s autocorrects numbers with spaces between leading minus and numbers 291s handles numeric literal with exponent 291s when `3000` is specified for `AllowedNumbers` 291s does not register an offense 291s registers an offense 291s for --auto-gen-config 291s with separators 291s disables the cop 291s does not disable the cop if the line is disabled 291s when the number is only digits 291s sets the right value if one is disabled inline 291s detects right value of MinDigits based on the longest number 291s AllowedPatterns 291s corrects by inserting underscores every 3 digits 291s does not register an offense for numbers that exactly match the pattern 291s registers an offense for numbers that do not exactly match the pattern 291s AllowedPatterns with repetition 291s does not register an offense for numbers that match the pattern 291s strict 291s registers an offense for an integer with misplaced underscore 291s when `'3000'` is specified for `AllowedNumbers` 291s registers an offense 291s does not register an offense 291s 291s RuboCop::Cop::Style::RedundantEach 291s does not register an offense when not chaining `each_` calls 291s does not register an offense when using `each_with_index` 291s does not register an offense when using only single `each` 291s does not register an offense when using `reverse_each(&:foo).each {...}` 291s does not register an offense when using `each_with_index.reverse_each` 291s does not register an offense when using `each` as enumerator 291s registers an offense when using `each.each_with_index` 291s registers an offense when using `each.each_with_object` 291s does not register an offense when using `each` with a symbol proc argument 291s registers an offense when using `each.each` 291s registers an offense when using `each.reverse_each` 291s registers an offense when using `reverse_each.each` 291s registers an offense when using `each.each(&:foo)` 291s does not register an offense when using `each_with_object` 291s does not register an offense when using `each.with_object` 291s does not register an offense when using `each {}.each_with_object([]) {}` 291s does not register an offense when using `each_ancestor.each` 291s does not register an offense when using `each.with_index` 291s registers an offense when using a method starting with `each_` with `each_with_index` 291s does not register an offense when using `reverse_each {}.each {}` 291s does not register an offense when any method is used between methods with `each` in the method name 291s does not register an offense when using `each {}.reverse_each {}` 291s registers an offense when using `reverse_each.each_with_index` 291s does not register an offense when using `each_foo {}.each_with_object([]) {}` 291s does not register an offense when using `each {}.each_with_index {}` 291s registers an offense when using a method starting with `each_` with `each_with_object` 291s registers an offense when using `reverse_each.each_with_object` 291s does not register an offense when using `each` with a symbol proc for last argument 291s 291s RuboCop::Cop::Style::For 291s when for is the enforced style 291s accepts single line each 291s accepts for 291s registers an offense for multiline each 291s registers an offense for correct + opposite style 291s registers an offense for each without an item and uses _ as the item 291s registers multiple offenses 291s registers an offense for a tuple of items 291s Ruby 2.7 291s registers an offense for each without an item and uses _ as the item 291s when using safe navigation operator 291s does not break 291s when each is the enforced style 291s accepts :for 291s registers multiple offenses 291s accepts def for 291s registers an offense for for 291s registers an offense for opposite + correct style 291s accepts multiline each 291s autocorrect 291s corrects an array with `||` operator 291s corrects an array with `-` operator 291s corrects to `each` without parenthesize collection if non-operator method called 291s corrects an array with `|` operator 291s corrects a tuple of items 291s changes for that does not have do or semicolon to each 291s corrects an array with `&&` operator 291s corrects an array with `+` operator 291s corrects an array with `&` operator 291s corrects an array with `*` operator 291s with range 291s changes for to each 291s changes for that does not have do or semicolon to each 291s without parentheses 291s changes for to each 291s changes for that does not have do or semicolon to each 291s 291s RuboCop::Cop::Lint::UnexpectedBlockArity 291s registers multiple offenses 291s with a numblock 291s when given one parameter 291s registers an offense 291s when given two parameters 291s does not register an offense 291s with no receiver 291s does not register an offense 291s when given three parameters 291s does not register an offense 291s when using enough parameters, but not all explicitly 291s does not register an offense 291s when given no parameters 291s registers an offense 291s with a block 291s when given a splat parameter 291s does not register an offense 291s with optargs 291s with arity 2 291s does not register an offense 291s with arity 1 291s registers an offense 291s with keyword args 291s registers an offense 291s when given two parameters 291s does not register an offense 291s when given no parameters 291s registers an offense 291s with shadow args 291s registers an offense 291s when given one parameter 291s registers an offense 291s when given three parameters 291s does not register an offense 291s with a keyword splat 291s registers an offense 291s when destructuring 291s with arity 1 291s registers an offense 291s with arity 2 291s does not register an offense 291s with no receiver 291s does not register an offense 291s 291s RuboCop::RemoteConfig 291s .inherit_from_remote 291s when the remote includes file starting with `./` 291s returns remote includes URI 291s .file 291s does not download the file if cache lifetime has not been reached 291s downloads the file if the file does not exist 291s downloads the file if cache lifetime has been reached 291s when remote URL is configured with token auth 291s downloads the file if the file does not exist 291s does not download the file if cache lifetime has not been reached 291s downloads the file if cache lifetime has been reached 291s when the remote URL responds with 404 291s raises error 291s when the remote URL responds with redirect 292s follows the redirect and downloads the file 292s when the network is inaccessible 292s reuses the existing cached file 292s when remote URL is configured with basic auth 292s downloads the file if the file does not exist 292s does not download the file if cache lifetime has not been reached 292s downloads the file if cache lifetime has been reached 292s when the remote URL responds with 404 292s raises error 292s when the remote URL responds with 500 292s raises error 292s when the remote URL responds with 500 292s raises error 292s when the remote URL responds with not modified 292s reuses the existing cached file 292s 292s RuboCop::Cop::Layout::EndAlignment 292s accepts matching case ... end 292s accepts matching puts 1; while ... end 292s registers an offense for mismatched module Test end and autocorrects 292s registers an offense for mismatched unless test end and autocorrects 292s accepts matching puts 1; module ... end 292s accepts matching if ... end 292s registers an offense for mismatched case a when b end and autocorrects 292s accepts matching module ... end 292s can handle ternary if 292s accepts matching puts 1; until ... end 292s accepts matching puts 1; unless ... end 292s registers an offense for mismatched puts 1; until test end and autocorrects 292s can handle modifier if 292s accepts matching class ... end 292s registers an offense for mismatched puts 1; while test end and autocorrects 292s registers an offense for mismatched puts 1; class Test end and autocorrects 292s registers an offense for mismatched module Test end and autocorrects 292s registers an offense for mismatched while test end and autocorrects 292s registers an offense for mismatched puts 1; unless test end and autocorrects 292s accepts matching puts 1; case ... end 292s accepts matching while ... end 292s registers an offense for mismatched if test end and autocorrects 292s accepts matching class ... end 292s accepts matching puts 1; class ... end 292s registers an offense for mismatched puts 1; case a when b end and autocorrects 292s accepts matching puts 1; if ... end 292s accepts matching unless ... end 292s accepts matching until ... end 292s registers an offense for mismatched puts 1; if test end and autocorrects 292s registers an offense for mismatched puts 1; class Test end and autocorrects 292s registers an offense for mismatched until test end and autocorrects 292s when EnforcedStyleAlignWith is variable 292s register an offense when using a conditional statement in a method argument and `end` is not aligned 292s accepts matching puts 1; until ... end 292s accepts matching while ... end 292s accepts matching module ... end 292s registers an offense for mismatched case a when b end and autocorrects 292s accepts matching unless ... end 292s registers an offense for mismatched unless test end and autocorrects 292s register an offense when using `+` operator method and `end` is not aligned 292s accepts matching class ... end 292s accepts matching until ... end 292s accepts matching puts 1; case ... end 292s registers an offense for mismatched puts 1; case a when b end and autocorrects 292s accepts matching puts 1; unless ... end 292s registers an offense for mismatched if test end and autocorrects 292s accepts matching puts 1; class ... end 292s registers an offense for mismatched module Test end and autocorrects 292s registers an offense for mismatched class Test end and autocorrects 292s registers an offense for mismatched puts 1; until test end and autocorrects 292s accepts matching puts 1; while ... end 292s registers an offense for mismatched puts 1; class Test end and autocorrects 292s registers an offense for mismatched puts 1; unless test end and autocorrects 292s accepts matching puts 1; module ... end 292s accepts matching case ... end 292s accepts matching if ... end 292s registers an offense for mismatched puts 1; while test end and autocorrects 292s registers an offense for mismatched puts 1; module Test end and autocorrects 292s registers an offense for mismatched puts 1; if test end and autocorrects 292s registers an offense for mismatched while test end and autocorrects 292s accepts matching puts 1; if ... end 292s register an offense when using `-` operator method and `end` is not aligned 292s registers an offense for mismatched until test end and autocorrects 292s when EnforcedStyleAlignWith is start_of_line 292s accepts matching var = if ... end 292s registers an offense for mismatched var = while test end and autocorrects 292s registers an offense for mismatched class Test end and autocorrects 292s registers an offense for mismatched puts 1; case a when b end and autocorrects 292s accepts matching var = unless ... end 292s registers an offense for mismatched puts(if test end) and autocorrects 292s registers an offense for mismatched puts 1; module Test end and autocorrects 292s accepts matching var = while ... end 292s accepts matching var = case ... end 292s registers an offense for mismatched while test end and autocorrects 292s accepts matching var = if ... end 292s registers an offense for mismatched var << until test end and autocorrects 292s accepts matching puts 1; until ... end 292s registers an offense for mismatched puts 1; until test end and autocorrects 292s accepts matching var << while ... end 292s accepts matching puts 1; class ... end 292s registers an offense for mismatched module Test end and autocorrects 292s registers an offense for mismatched puts 1; while test end and autocorrects 292s accepts matching var = until ... end 292s registers an offense for mismatched var << if test end and autocorrects 292s registers an offense for mismatched puts 1; unless test end and autocorrects 292s accepts matching puts 1; case ... end 292s registers an offense for mismatched var << unless test end and autocorrects 292s registers an offense for mismatched var << while test end and autocorrects 292s registers an offense for mismatched puts 1; class Test end and autocorrects 292s accepts matching puts 1; if ... end 292s accepts matching puts 1; module ... end 292s registers an offense for mismatched var << case a when b end and autocorrects 292s registers an offense for mismatched var = unless test end and autocorrects 292s registers an offense for mismatched puts 1; if test end and autocorrects 292s registers an offense for mismatched var = until test end and autocorrects 292s registers an offense for mismatched if test end and autocorrects 292s registers an offense for mismatched var = case a when b end and autocorrects 292s registers an offense for mismatched var = if test end and autocorrects 292s registers an offense for mismatched until test end and autocorrects 292s registers an offense for mismatched case a when b end and autocorrects 292s registers an offense for mismatched unless test end and autocorrects 292s registers an offense for mismatched var = if test end and autocorrects 292s accepts matching puts 1; while ... end 292s accepts matching puts 1; unless ... end 292s case as argument 292s when EnforcedStyleAlignWith is keyword 292s registers an offense for mismatched test case a when b end and autocorrects 292s accepts matching test case ... end 292s when EnforcedStyleAlignWith is start_of_line 292s accepts matching test case a when b ... end 292s registers an offense for mismatched test case a when b end and autocorrects 292s when EnforcedStyleAlignWith is variable 292s accepts matching test case ... end 292s registers an offense for mismatched test case a when b end and autocorrects 292s when end is preceded by something else than whitespace 292s does not register an offense 292s regarding assignment 292s when EnforcedStyleAlignWith is keyword 292s registers an offense for mismatched var = while test end and autocorrects 292s accepts matching var = case ... end 292s accepts matching var = until ... end 292s accepts matching var = if ... end 292s accepts matching var = while ... end 292s registers an offense for mismatched var = if test end and autocorrects 292s registers an offense for mismatched var << until test end and autocorrects 292s registers an offense for mismatched var = until test end and autocorrects 292s accepts matching var = unless ... end 292s registers an offense for mismatched var = unless test end and autocorrects 292s accepts matching var[0] = case ... end 292s when EnforcedStyleAlignWith is variable 292s registers an offense for mismatched h[k] = if test end and autocorrects 292s registers an offense for mismatched var[x] = while test end and autocorrects 292s registers an offense for mismatched var += if test end and autocorrects 292s accepts matching var = case ... end 292s registers an offense for mismatched $var = if test end and autocorrects 292s accepts matching var = while ... end 292s accepts matching var &&= if ... end 292s registers an offense for mismatched var = unless test end and autocorrects 292s registers an offense for mismatched var = while test end and autocorrects 292s accepts matching var = if ... end 292s registers an offense for mismatched CNST << if test end and autocorrects 292s registers an offense for mismatched a, b = if test end and autocorrects 292s accepts matching @var = if ... end 292s accepts matching CNST = if ... end 292s registers an offense for mismatched var << case a when b end and autocorrects 292s registers an offense for mismatched var = unless test end and autocorrects 292s registers an offense for mismatched var = until test end.j and autocorrects 292s registers an offense for mismatched h[k] << if test end and autocorrects 292s registers an offense for mismatched var << unless test end and autocorrects 292s registers an offense for mismatched var << until test end and autocorrects 292s registers an offense for mismatched var = if test end and autocorrects 292s accepts matching var << if ... end 292s registers an offense for mismatched var = until test do_something end and autocorrects 292s registers an offense for mismatched @@var = if test end and autocorrects 292s accepts matching var = until ... end 292s accepts matching var += if ... end 292s registers an offense for mismatched var &&= if test end and autocorrects 292s registers an offense for mismatched var = if test end and autocorrects 292s registers an offense for mismatched @@var << if test end and autocorrects 292s registers an offense for mismatched var ||= if test end and autocorrects 292s accepts matching var = until ... end 292s registers an offense for mismatched $var << if test end and autocorrects 292s accepts matching var = until ... end 292s registers an offense for mismatched var << if test end and autocorrects 292s registers an offense for mismatched @var << if test end and autocorrects 292s registers an offense for mismatched var = until test end and autocorrects 292s registers an offense for mismatched CNST = if test end and autocorrects 292s accepts matching var = unless ... end 292s accepts matching var = if ... end 292s registers an offense for mismatched var = case a when b end and autocorrects 292s accepts matching h.k = if ... end 292s accepts matching h[k] = if ... end 292s registers an offense for mismatched var = # comment while test end and autocorrects 292s accepts matching $var = if ... end 292s accepts matching a, b = if ... end 292s registers an offense for mismatched h.k = if test end and autocorrects 292s accepts matching @@var = if ... end 292s registers an offense for mismatched @var = if test end and autocorrects 292s accepts matching var ||= if ... end 292s correct + opposite 292s registers an offense and corrects 292s 292s RuboCop::Cop::Lint::EmptyBlock 292s does not register an offense for empty block with inner comments 292s does not register an offense on an empty lambda 292s registers an offense for an empty block given to a non-Kernel `proc` method 292s does not register an offense for empty block with inline comments 292s does not register an offense when block is not empty 292s does not register an offense on an empty proc 292s does not register an offense on an empty stabby lambda 292s does not register an offense on an empty Proc.new 292s does not register an offense on an empty ::Proc.new 292s registers an offense for empty block within method call 292s when AllowEmptyLambdas is false 292s registers an offense for an empty stabby lambda 292s registers an offense on an empty Proc.new 292s registers an offense on an empty ::Proc.new 292s registers an offense for an empty lambda 292s registers an offense on an empty proc 292s when AllowComments is false 292s registers an offense for empty block with inner comments 292s registers an offense for empty block with inline comments 292s 292s RuboCop::Cop::Style::MethodCalledOnDoEndBlock 292s with a multi-line do..end block 292s accepts it if there is no chained call 292s accepts a chained block 292s registers an offense for a chained call 292s when using safe navigation operator 292s registers an offense for a chained call 292s with a single-line do..end block 292s accepts a single-line do..end block with a chained block 292s registers an offense for a chained call 292s Ruby 2.7 292s registers an offense for a chained call 292s with a {} block 292s accepts a single-line block with a chained call 292s accepts a multi-line block with a chained call 292s 292s RuboCop::Cop::VisibilityHelp 292s #node_visibility 292s with visibility block private 292s is expected to eq :private 292s without visibility block 292s is expected to eq :public 292s with inline private with symbol 292s is expected to eq :private 292s with inline public 292s is expected to eq :public 292s with inline private 292s is expected to eq :private 292s with visibility block private after public 292s is expected to eq :private 292s with visibility block public 292s is expected to eq :public 292s 292s RuboCop::MagicComment 292s returns nil for typed when comment is # shareable_constant_value: experimental_copy 292s returns nil for frozen_string_literal when comment is # vim: filetype=python, fileencoding=ascii-8bit 292s returns nil for shareable_constant_value when comment is # typed: ignore 292s returns nil for typed when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for typed when comment is # -*- encoding : ascii-8bit -*- 292s returns nil for shareable_constant_value when comment is # 292s returns "literal" for shareable_constant_value when comment is # shareable_constant_value: literal 292s returns nil for typed when comment is # vim:fileencoding=utf-8 292s returns nil for typed when comment is #vim: filetype=ruby, fileencoding=ascii-8bit, typed=strict 292s returns nil for shareable_constant_value when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for frozen_string_literal when comment is # shareable_constant_value:literal 292s returns nil for encoding when comment is # vim: filetype=ruby,fileencoding=ascii-8bit 292s returns nil for frozen_string_literal when comment is # coding: utf-8 292s returns "ascii-8bit" for encoding when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for shareable_constant_value when comment is # FROZEN-STRING-LITERAL: true 292s returns nil for frozen_string_literal when comment is # sHaReaBLE-CoNstANT-ValUE: literal 292s returns nil for typed when comment is # coding: utf-8 292s returns nil for encoding when comment is # shareable_constant_value: experimental_everything 292s returns nil for typed when comment is # fRoZeN-sTrInG_lItErAl: true 292s returns nil for shareable_constant_value when comment is # coding: utf-8 292s returns nil for encoding when comment is # shareable-constant-value: literal 292s returns nil for shareable_constant_value when comment is # typed: strong 292s returns nil for frozen_string_literal when comment is # shareable_constant_value: experimental_everything 292s returns nil for encoding when comment is # typed: true 292s returns nil for shareable_constant_value when comment is # frozen_string_literal: true encoding: ascii-8bit 292s returns nil for typed when comment is # encoding: ascii-8bit frozen_string_literal: true 292s returns nil for frozen_string_literal when comment is CSV.generate(encoding: Encoding::UTF_8) do |csv| 292s returns nil for typed when comment is # -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 292s returns nil for typed when comment is # @typed 292s returns nil for typed when comment is # frozen_string_literal: invalid 292s returns "utf-8" for encoding when comment is # coding: utf-8 vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for frozen_string_literal when comment is # xyz shareable_constant_value: literal xyz 292s returns nil for frozen_string_literal when comment is # typed: strong 292s returns nil for frozen_string_literal when comment is # shareable_constant_value: experimental_copy 292s returns "experimental_copy" for shareable_constant_value when comment is # shareable_constant_value: experimental_copy 292s returns "utf-8" for encoding when comment is # encoding: utf-8 292s returns nil for shareable_constant_value when comment is # @typed 292s returns nil for frozen_string_literal when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for typed when comment is # encoding: stateless-iso-2022-jp-kddi 292s returns nil for frozen_string_literal when comment is #typed:strict 292s returns nil for shareable_constant_value when comment is # frozen_string_literal:true 292s returns nil for shareable_constant_value when comment is #vim: filetype=ruby, fileencoding=ascii-8bit, typed=strict 292s returns nil for typed when comment is # frozen_string_literal: false 292s returns nil for shareable_constant_value when comment is # xyz shareable_constant_value: literal 292s returns nil for encoding when comment is # SHAREABLE-CONSTANT-VALUE: literal 292s returns true for frozen_string_literal when comment is # -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 292s returns nil for frozen_string_literal when comment is # typed: true 292s returns nil for shareable_constant_value when comment is # coding: utf-8 vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for shareable_constant_value when comment is # vim: filetype=ruby,fileencoding=ascii-8bit 292s returns "ascii-8bit" for encoding when comment is # frozen_string_literal: true encoding: ascii-8bit 292s returns "ascii-8bit" for encoding when comment is # -*- coding: ASCII-8BIT; typed: strict -*- 292s returns nil for typed when comment is # coding: utf-8 292s returns nil for frozen_string_literal when comment is # 292s returns nil for encoding when comment is # typed: false 292s returns nil for frozen_string_literal when comment is # -*- coding: ASCII-8BIT; typed: strict -*- 292s returns nil for encoding when comment is # fRoZeN-sTrInG_lItErAl: true 292s returns nil for encoding when comment is # frozen_string_literal: false 292s returns nil for encoding when comment is # xyz shareable_constant_value: literal xyz 292s returns "strict" for typed when comment is # typed:strict 292s returns "literal" for shareable_constant_value when comment is # SHAREABLE-CONSTANT-VALUE: literal 292s returns nil for frozen_string_literal when comment is # encoding: utf-8 292s returns nil for encoding when comment is #typed:strict 292s returns true for frozen_string_literal when comment is # frozen_string_literal: true 292s returns nil for shareable_constant_value when comment is # frozen_string_literal: true 292s returns nil for frozen_string_literal when comment is # xyz shareable_constant_value: literal 292s returns nil for typed when comment is # xyz shareable_constant_value: literal 292s returns nil for encoding when comment is # shareable_constant_value:literal 292s returns nil for shareable_constant_value when comment is # frozen_string_literal: true 292s returns nil for encoding when comment is CSV.generate(encoding: Encoding::UTF_8) do |csv| 292s returns "literal" for shareable_constant_value when comment is # sHaReaBLE-CoNstANT-ValUE: literal 292s returns false for frozen_string_literal when comment is # frozen_string_literal: false 292s returns nil for shareable_constant_value when comment is # incoding: utf-8 292s returns nil for frozen_string_literal when comment is # vim:fileencoding=utf-8 292s returns nil for shareable_constant_value when comment is # frozen_string_literal: false 292s returns nil for typed when comment is # vim: filetype=ruby,fileencoding=ascii-8bit 292s returns "ascii-8bit" for encoding when comment is #vim: filetype=ruby, fileencoding=ascii-8bit, typed=strict 292s returns nil for frozen_string_literal when comment is #vim: filetype=ruby, fileencoding=ascii-8bit, typed=strict 292s returns nil for typed when comment is CSV.generate(encoding: Encoding::UTF_8) do |csv| 292s returns "ignore" for typed when comment is # typed: ignore 292s returns nil for shareable_constant_value when comment is #vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for typed when comment is # vim: filetype=python, fileencoding=ascii-8bit 292s returns nil for encoding when comment is # shareable_constant_value: experimental_copy 292s returns nil for shareable_constant_value when comment is CSV.generate(encoding: Encoding::UTF_8) do |csv| 292s returns "ascii-8bit" for encoding when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 292s returns "strict" for typed when comment is #typed:strict 292s returns "false" for typed when comment is # typed: false 292s returns true for frozen_string_literal when comment is # fRoZeN-sTrInG_lItErAl: true 292s returns nil for shareable_constant_value when comment is # encoding: utf-8 292s returns "ascii-8bit" for encoding when comment is # -*- encoding : ascii-8bit -*- 292s returns nil for frozen_string_literal when comment is # encoding: stateless-iso-2022-jp-kddi 292s returns "ascii-8bit" for encoding when comment is # coding: utf-8 -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 292s returns nil for shareable_constant_value when comment is # -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 292s returns nil for encoding when comment is # shareable_constant_value: none 292s returns nil for encoding when comment is # typed: strict 292s returns nil for typed when comment is # ENCODING: utf-8 292s returns nil for shareable_constant_value when comment is # fRoZeN-sTrInG_lItErAl: true 292s returns "ascii-8bit" for encoding when comment is # -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 292s returns true for frozen_string_literal when comment is # frozen-string-literal: true 292s returns nil for frozen_string_literal when comment is # frozen_string_literal: true encoding: ascii-8bit 292s returns nil for typed when comment is # frozen_string_literal:true 292s returns nil for frozen_string_literal when comment is # shareable-constant-value: literal 292s returns nil for typed when comment is # encoding: utf-8 292s returns nil for frozen_string_literal when comment is # vim: filetype=ruby,fileencoding=ascii-8bit 292s returns nil for typed when comment is # frozen-string-literal: true 292s returns nil for typed when comment is # FROZEN-STRING-LITERAL: true 292s returns nil for encoding when comment is # typed: strong 292s returns nil for shareable_constant_value when comment is # frozen-string-literal: true 292s returns nil for encoding when comment is # -*- frozen-string-literal: true -*- 292s returns nil for typed when comment is #vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for encoding when comment is # FROZEN-STRING-LITERAL: true 292s returns nil for frozen_string_literal when comment is # -*- encoding : ascii-8bit -*- 292s returns nil for shareable_constant_value when comment is # typed: true 292s returns nil for typed when comment is # shareable-constant-value: literal 292s returns "utf-8" for encoding when comment is # eNcOdInG: utf-8 292s returns nil for encoding when comment is # 292s returns nil for frozen_string_literal when comment is # SHAREABLE-CONSTANT-VALUE: literal 292s returns nil for typed when comment is # frozen_string_literal: true 292s returns nil for shareable_constant_value when comment is # typed:strict 292s returns nil for encoding when comment is # incoding: utf-8 292s returns nil for shareable_constant_value when comment is # -*- coding: ASCII-8BIT; typed: strict -*- 292s returns "none" for shareable_constant_value when comment is # shareable_constant_value: none 292s returns nil for shareable_constant_value when comment is # eNcOdInG: utf-8 292s returns nil for encoding when comment is # sHaReaBLE-CoNstANT-ValUE: literal 292s returns nil for frozen_string_literal when comment is # typed: strict 292s returns "utf-8" for encoding when comment is # coding: utf-8 292s returns nil for typed when comment is # frozen_string_literal: true encoding: ascii-8bit 292s returns nil for shareable_constant_value when comment is # -*- frozen-string-literal: true -*- 292s returns nil for shareable_constant_value when comment is # encoding: stateless-iso-2022-jp-kddi 292s returns nil for typed when comment is # coding: utf-8 vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for typed when comment is # coding: utf-8 -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 292s returns nil for frozen_string_literal when comment is # typed: ignore 292s returns true for frozen_string_literal when comment is # -*- frozen-string-literal: true -*- 292s returns nil for typed when comment is # -*- coding: ASCII-8BIT; typed: strict -*- 292s returns nil for frozen_string_literal when comment is #vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for shareable_constant_value when comment is # typed: strict 292s returns nil for typed when comment is # xyz shareable_constant_value: literal xyz 292s returns nil for shareable_constant_value when comment is # coding: utf-8 -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 292s returns nil for frozen_string_literal when comment is # incoding: utf-8 292s returns nil for frozen_string_literal when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for typed when comment is # shareable_constant_value: literal 292s returns nil for encoding when comment is # frozen_string_literal: true 292s returns nil for typed when comment is # shareable_constant_value: experimental_everything 292s returns "literal" for shareable_constant_value when comment is # shareable_constant_value:literal 292s returns nil for frozen_string_literal when comment is # encoding: ascii-8bit frozen_string_literal: true 292s returns nil for frozen_string_literal when comment is # @typed 292s returns nil for encoding when comment is # frozen_string_literal: true 292s returns nil for shareable_constant_value when comment is # frozen_string_literal: invalid 292s returns nil for frozen_string_literal when comment is # shareable_constant_value: literal 292s returns nil for shareable_constant_value when comment is # -*- encoding : ascii-8bit -*- 292s returns nil for shareable_constant_value when comment is # coding: utf-8 292s returns nil for frozen_string_literal when comment is # typed: false 292s returns nil for shareable_constant_value when comment is # typed: false 292s returns "ascii-8bit" for encoding when comment is #vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for shareable_constant_value when comment is # encoding: ascii-8bit frozen_string_literal: true 292s returns nil for typed when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 292s returns nil for frozen_string_literal when comment is # eNcOdInG: utf-8 292s returns nil for frozen_string_literal when comment is # coding: utf-8 vim: filetype=ruby, fileencoding=ascii-8bit 292s returns "ascii-8bit" for encoding when comment is # encoding: ascii-8bit frozen_string_literal: true 292s returns nil for encoding when comment is # shareable_constant_value: literal 292s returns nil for typed when comment is # shareable_constant_value: none 292s returns nil for encoding when comment is # xyz shareable_constant_value: literal 292s returns nil for encoding when comment is # typed: ignore 292s returns "invalid" for frozen_string_literal when comment is # frozen_string_literal: invalid 292s returns nil for typed when comment is # incoding: utf-8 292s returns "literal" for shareable_constant_value when comment is # shareable-constant-value: literal 292s returns nil for typed when comment is # -*- frozen-string-literal: true -*- 292s returns true for frozen_string_literal when comment is # FROZEN-STRING-LITERAL: true 292s returns nil for typed when comment is # SHAREABLE-CONSTANT-VALUE: literal 292s returns "strong" for typed when comment is # typed: strong 292s returns nil for encoding when comment is # frozen-string-literal: true 292s returns nil for encoding when comment is # typed:strict 292s returns "utf-8" for encoding when comment is # ENCODING: utf-8 292s returns nil for typed when comment is # eNcOdInG: utf-8 292s returns nil for frozen_string_literal when comment is # coding: utf-8 292s returns nil for encoding when comment is # @typed 292s returns nil for shareable_constant_value when comment is # vim: filetype=ruby, fileencoding=ascii-8bit 292s returns "true" for typed when comment is # typed: true 292s returns nil for encoding when comment is # frozen_string_literal: invalid 292s returns nil for shareable_constant_value when comment is # vim:fileencoding=utf-8 292s returns nil for shareable_constant_value when comment is # xyz shareable_constant_value: literal xyz 292s returns nil for shareable_constant_value when comment is # ENCODING: utf-8 292s returns nil for encoding when comment is # frozen_string_literal:true 292s returns nil for typed when comment is # frozen_string_literal: true 292s returns nil for typed when comment is # shareable_constant_value:literal 292s returns nil for shareable_constant_value when comment is #typed:strict 292s returns nil for typed when comment is # sHaReaBLE-CoNstANT-ValUE: literal 292s returns nil for frozen_string_literal when comment is # ENCODING: utf-8 292s returns nil for frozen_string_literal when comment is # shareable_constant_value: none 292s returns nil for shareable_constant_value when comment is # vim: filetype=python, fileencoding=ascii-8bit 292s returns true for frozen_string_literal when comment is # frozen_string_literal: true 292s returns "stateless-iso-2022-jp-kddi" for encoding when comment is # encoding: stateless-iso-2022-jp-kddi 292s returns nil for typed when comment is # 292s returns "experimental_everything" for shareable_constant_value when comment is # shareable_constant_value: experimental_everything 292s returns true for frozen_string_literal when comment is # frozen_string_literal:true 292s returns "utf-8" for encoding when comment is # coding: utf-8 292s returns nil for frozen_string_literal when comment is # typed:strict 292s returns "ascii-8bit" for encoding when comment is # vim: filetype=python, fileencoding=ascii-8bit 292s returns true for frozen_string_literal when comment is # coding: utf-8 -*- encoding: ASCII-8BIT; frozen_string_literal: true -*- 292s returns nil for encoding when comment is # vim:fileencoding=utf-8 292s returns "strict" for typed when comment is # typed: strict 292s #valid_shareable_constant_value? 292s when given comment specified as `literal` 292s is expected to equal true 292s when given comment is not specified 292s is expected to equal false 292s when given comment specified as `none` 292s is expected to equal true 292s when given comment specified as unknown value 292s is expected to equal false 292s when given comment specified as `experimental_copy` 292s is expected to equal true 292s when given comment specified as `experimental_everything` 292s is expected to equal true 292s #valid? 292s with an frozen string literal comment 292s is expected to equal true 292s with an shareable constant value comment 292s is expected to equal true 292s with an encoding comment 292s is expected to equal true 292s with an empty string 292s is expected to equal false 292s with a non magic comment 292s is expected to equal false 292s #without 292s emacs format 292s with one token 292s is expected to eq "" 292s with multiple tokens 292s is expected to eq "# -*- frozen_string_literal: true -*-" 292s vim format 292s when the comment has multiple tokens 292s is expected to eq "# vim: filetype=ruby" 292s simple format 292s when the comment contains a different magic value 292s is expected to eq "# frozen-string-literal: true" 292s when the entire comment is a single value 292s is expected to eq "" 292s 292s RuboCop::Cop::Style::CommandLiteral 292s when PercentLiteralDelimiters is configured with curly braces 292s respects the configuration when autocorrecting 292s when PercentLiteralDelimiters is configured and a default exists 292s ignores the default when autocorrecting 292s when EnforcedStyle is set to percent_x 292s a single-line ` string with backticks 292s registers an offense without autocorrection 292s a multi-line %x string without backticks 292s is accepted 292s a single-line %x string without backticks 292s is accepted 292s a single-line %x string with backticks 292s is accepted 292s a single-line ` string without backticks 292s registers an offense and corrects to %x 292s a multi-line ` string without backticks 292s registers an offense and corrects to %x 292s a multi-line ` string with backticks 292s registers an offense without autocorrection 292s a multi-line %x string with backticks 292s is accepted 292s when PercentLiteralDelimiters only has a default 292s respects the configuration when autocorrecting 292s %x commands with other delimiters than parentheses 292s registers an offense 292s heredoc commands 292s is ignored 292s when EnforcedStyle is set to mixed 292s a single-line %x string with backticks 292s is accepted 292s when configured to allow inner backticks 292s registers an offense without autocorrection 292s a multi-line ` string with backticks 292s registers an offense without autocorrection 292s a multi-line ` string without backticks 292s registers an offense and corrects to %x 292s a multi-line %x string without backticks 292s is accepted 292s a single-line %x string without backticks 292s registers an offense and corrects to backticks 292s a multi-line %x string with backticks 292s is accepted 292s a single-line ` string with backticks 292s registers an offense without autocorrection 292s when configured to allow inner backticks 292s is accepted 292s a single-line ` string without backticks 292s is accepted 292s when EnforcedStyle is set to backticks 292s a multi-line %x string with backticks 292s is accepted 292s when configured to allow inner backticks 292s registers an offense without autocorrection 292s a multi-line %x string without backticks 292s registers an offense and corrects to backticks 292s a single-line %x string with backticks 292s is accepted 292s when configured to allow inner backticks 292s registers an offense without autocorrection 292s a multi-line ` string with backticks 293s registers an offense without autocorrection 293s when configured to allow inner backticks 293s is accepted 293s a multi-line ` string without backticks 293s is accepted 293s a single-line %x string without backticks 293s registers an offense and corrects to backticks 293s a single-line ` string without backticks 293s is accepted 293s a single-line ` string with backticks 293s registers an offense without autocorrection 293s when configured to allow inner backticks 293s is accepted 293s 293s RuboCop::Cop::Style::MultilineInPatternThen 293s >= Ruby 2.7 293s doesn't register an offense for multiline `in` statement with `then` followed by other lines 293s autocorrects when the body of `in` branch starts with `then` 293s doesn't register an offense for singleline `in` statement with `then` 293s doesn't register an offense when `then` required for a body of `in` is used 293s does not register an offense for hash `in` statement with `then` 293s registers an offense for multiline (one line in a body) `in` statement with `then` 293s does not register an offense for array `when` statement with `then` 293s registers an offense for multiline (two lines in a body) `in` statement with `then` 293s doesn't register an offense for multiline `in` statement without `then` 293s registers an offense for empty `in` statement with `then` 293s does not register an offense when line break for multiple candidate values of `in` 293s registers an offense when one line for multiple candidate values of `in` 293s doesn't register an offense for empty `in` statement without `then` 293s 293s RuboCop::Cop::Style::FloatDivision 293s EnforcedStyle is left_coerce 293s registers offense and corrects for right coerce with calculations 293s registers offense and corrects for right coerce 293s does not register offense for left coerce 293s registers offense and corrects for both coerce 293s EnforcedStyle is single_coerce 293s registers offense and corrects for left coerce with calculations 293s registers offense and corrects for both coerce 293s does not register offense for left coerce only 293s does not register offense for right coerce only 293s EnforcedStyle is fdiv 293s registers offense and corrects for right coerce 293s registers offense and corrects for left coerce with calculations 293s registers offense and corrects for left coerce 293s registers offense and corrects for both coerce 293s does not register offense on usage of fdiv 293s EnforcedStyle is right_coerce 293s registers offense and corrects for left coerce 293s registers offense and corrects for both coerce 293s registers offense and corrects for left coerce with calculations 293s does not register offense for right coerce 293s 293s RuboCop::Cop::Lint::UselessAccessModifier 293s when using ActiveSupport's `concerning` method 293s still points out redundant uses within the block 293s is aware that this creates a new scope 293s Ruby 2.7 293s still points out redundant uses within the block 293s behaves like at the top of the body 293s doesn't register an offense for `protected` 293s registers an offense and corrects for `public` 293s doesn't register an offense for `private` 293s behaves like repeated visibility modifiers 293s registers an offense when `protected` is repeated 293s behaves like nested in a begin..end block 293s still flags repeated `public` 293s behaves like nested modules 293s doesn't register an offense for nested classs 293s unused modifiers 293s registers an offense when outside a nested class 293s registers an offense when inside a nested class 293s registers an offense with a nested class 293s behaves like nested in a begin..end block 293s still flags repeated `protected` 293s doesn't flag an access modifier from surrounding scope 293s behaves like repeated visibility modifiers 293s registers an offense when `private` is repeated 293s when using ActiveSupport behavior when Rails is not eabled 293s reports offenses and corrects 293s behaves like nested in a begin..end block 293s still flags repeated `public` 293s behaves like repeated visibility modifiers 293s registers an offense when `protected` is repeated 293s behaves like at the end of the body 293s registers an offense for trailing `public` 293s behaves like def in new block 293s doesn't register an offense if a method is defined in ::Struct.new 293s registers an offense if no method is defined in ::Struct.new 293s behaves like def in new block 293s doesn't register an offense if a method is defined in Module.new 293s registers an offense if no method is defined in Module.new 293s behaves like methods defined in an iteration 293s doesn't register an offense for each 293s doesn't register an offense for map 293s when using the class_methods method from ActiveSupport::Concern 293s is aware that this creates a new scope 293s behaves like def in new block 293s doesn't register an offense if a method is defined in ::Module.new 293s registers an offense if no method is defined in ::Module.new 293s behaves like def in new block 293s doesn't register an offense if a method is defined in Struct.new 293s registers an offense if no method is defined in Struct.new 293s when there are consecutive access modifiers 293s registers an offense and corrects 293s behaves like unused visibility modifiers 293s registers an offense and corrects when visibility is immediately changed without any intervening defs 293s behaves like nested modules 293s doesn't register an offense for nested classs 293s unused modifiers 293s registers an offense when outside a nested class 293s registers an offense when inside a nested class 293s registers an offense with a nested class 293s behaves like method defined with define_method 293s doesn't register an offense if a lambda is passed 293s doesn't register an offense if a block is passed 293s doesn't register an offense if a proc is passed 293s doesn't register an offense if a -> is passed 293s behaves like def in new block 293s registers an offense if no method is defined in Module.new 293s doesn't register an offense if a method is defined in Module.new 293s when private_class_method is used without arguments 293s registers an offense and corrects 293s behaves like method defined on a singleton class 293s outside a class 293s registers an offense if no method is defined after the modifier 293s registers an offense if no method is defined 293s doesn't register an offense if a method is defined 293s inside a class 293s doesn't register an offense if the modifier is the same as outside the meta-class 293s doesn't register an offense if a method is defined 293s registers an offense even if a non-singleton-class method is defined 293s registers an offense if no method is defined after the modifier 293s registers an offense if no method is defined 293s behaves like at the end of the body 293s registers an offense for trailing `private` 293s behaves like method named by access modifier name 293s does not register an offense for `protected` 293s when using a known method-creating method 293s is aware that this creates a new method 293s still points out redundant uses within the module 293s behaves like method defined with define_method 293s doesn't register an offense if a proc is passed 293s doesn't register an offense if a lambda is passed 293s doesn't register an offense if a block is passed 293s doesn't register an offense if a -> is passed 293s behaves like method defined on a singleton class 293s inside a class 293s registers an offense if no method is defined after the modifier 293s registers an offense even if a non-singleton-class method is defined 293s doesn't register an offense if the modifier is the same as outside the meta-class 293s doesn't register an offense if a method is defined 293s registers an offense if no method is defined 293s outside a class 293s doesn't register an offense if a method is defined 293s registers an offense if no method is defined 293s registers an offense if no method is defined after the modifier 293s when using inline modifiers 293s does not register an offense 293s behaves like def in new block 293s registers an offense if no method is defined in ::Class.new 293s doesn't register an offense if a method is defined in ::Class.new 293s behaves like def in new block 293s doesn't register an offense if a method is defined in ::Class.new 293s registers an offense if no method is defined in ::Class.new 293s behaves like method named by access modifier name 293s does not register an offense for `protected` 293s behaves like conditionally defined method 293s doesn't register an offense for if 293s doesn't register an offense for unless 293s behaves like nested modules 293s doesn't register an offense for nested modules 293s unused modifiers 293s registers an offense when outside a nested module 293s registers an offense with a nested module 293s registers an offense when inside a nested module 293s when an access modifier has no methods 293s registers an offense and corrects 293s when private_class_method is used with arguments 293s does not register an offense 293s behaves like repeated visibility modifiers 293s registers an offense when `private` is repeated 293s behaves like unused visibility modifiers 293s registers an offense and corrects when visibility is immediately changed without any intervening defs 293s behaves like non-repeated visibility modifiers 293s doesn't register an offense when `private` is not repeated 293s registers an offense and corrects even when `public` is not repeated 293s doesn't register an offense when `protected` is not repeated 293s behaves like method named by access modifier name 293s does not register an offense for `private` 293s behaves like conditionally defined method 293s doesn't register an offense for unless 293s doesn't register an offense for if 293s behaves like methods defined in an iteration 293s doesn't register an offense for each 293s doesn't register an offense for map 293s when multiple class definitions in file but only one has offense 293s registers an offense and corrects 293s behaves like methods defined in an iteration 293s doesn't register an offense for each 293s doesn't register an offense for map 293s behaves like def in new block 293s doesn't register an offense if a method is defined in ::Struct.new 293s registers an offense if no method is defined in ::Struct.new 293s behaves like repeated visibility modifiers 293s registers an offense when `public` is repeated 293s when an access modifier is followed by a class method defined on constant 293s registers an offense and corrects 293s when only a constant or local variable is defined after the modifier 293s registers an offense and corrects 293s registers an offense and corrects 293s behaves like method defined with define_method 293s doesn't register an offense if a lambda is passed 293s doesn't register an offense if a -> is passed 293s doesn't register an offense if a proc is passed 293s doesn't register an offense if a block is passed 293s behaves like nested in a begin..end block 293s doesn't flag an access modifier from surrounding scope 293s still flags repeated `private` 293s behaves like method named by access modifier name 293s does not register an offense for `private` 293s behaves like nested in a begin..end block 293s doesn't flag an access modifier from surrounding scope 293s still flags repeated `protected` 293s when class is empty save modifier 293s registers an offense and corrects 293s behaves like method defined on a singleton class 293s inside a class 293s doesn't register an offense if a method is defined 293s registers an offense if no method is defined 293s registers an offense if no method is defined after the modifier 293s doesn't register an offense if the modifier is the same as outside the meta-class 293s registers an offense even if a non-singleton-class method is defined 293s outside a class 293s doesn't register an offense if a method is defined 293s registers an offense if no method is defined 293s registers an offense if no method is defined after the modifier 293s behaves like method defined using instance_eval 293s registers an offense if no method is defined 293s doesn't register an offense if a method is defined 293s inside a class 293s registers an offense when a modifier is outside the block and a method is defined only inside the block 293s registers two offenses when a modifier is inside and outside the and no method is defined 293s when a def is an argument to a method call 293s does not register an offense 293s behaves like at the end of the body 293s registers an offense for trailing `protected` 293s behaves like nested modules 293s doesn't register an offense for nested modules 293s unused modifiers 293s registers an offense with a nested module 293s registers an offense when inside a nested module 293s registers an offense when outside a nested module 293s behaves like method defined with define_method 293s doesn't register an offense if a proc is passed 293s doesn't register an offense if a lambda is passed 293s doesn't register an offense if a block is passed 293s doesn't register an offense if a -> is passed 293s behaves like at the end of the body 293s registers an offense for trailing `private` 293s behaves like conditionally defined method 293s doesn't register an offense for unless 293s doesn't register an offense for if 293s behaves like def in new block 293s registers an offense if no method is defined in Class.new 293s doesn't register an offense if a method is defined in Class.new 293s behaves like def in new block 293s doesn't register an offense if a method is defined in Class.new 293s registers an offense if no method is defined in Class.new 293s behaves like method named by access modifier name 293s does not register an offense for `public` 293s behaves like method defined on a singleton class 293s inside a class 293s registers an offense if no method is defined 293s doesn't register an offense if a method is defined 293s registers an offense if no method is defined after the modifier 293s registers an offense even if a non-singleton-class method is defined 293s doesn't register an offense if the modifier is the same as outside the meta-class 293s outside a class 293s doesn't register an offense if a method is defined 293s registers an offense if no method is defined after the modifier 293s registers an offense if no method is defined 293s behaves like method named by access modifier name 293s does not register an offense for `public` 293s behaves like methods defined in an iteration 293s doesn't register an offense for map 293s doesn't register an offense for each 293s when an access modifier has no effect 293s registers an offense and corrects 293s behaves like at the end of the body 293s registers an offense for trailing `public` 293s behaves like repeated visibility modifiers 293s registers an offense when `public` is repeated 293s behaves like conditionally defined method 293s doesn't register an offense for unless 293s doesn't register an offense for if 293s behaves like def in new block 293s doesn't register an offense if a method is defined in Struct.new 293s registers an offense if no method is defined in Struct.new 293s when passing method as symbol 293s does not register an offense 293s behaves like at the top of the body 293s doesn't register an offense for `private` 293s registers an offense and corrects for `public` 293s doesn't register an offense for `protected` 293s behaves like method defined using class_eval 293s doesn't register an offense if a method is defined 293s registers an offense if no method is defined 293s inside a class 293s registers two offenses when a modifier is inside and outside the block and no method is defined 293s registers an offense when a modifier is outside the block and a method is defined only inside the block 293s behaves like method defined using instance_eval 293s registers an offense if no method is defined 293s doesn't register an offense if a method is defined 293s inside a class 293s registers two offenses when a modifier is inside and outside the and no method is defined 293s registers an offense when a modifier is outside the block and a method is defined only inside the block 293s behaves like at the end of the body 293s registers an offense for trailing `protected` 293s behaves like non-repeated visibility modifiers 293s registers an offense and corrects even when `public` is not repeated 293s doesn't register an offense when `private` is not repeated 293s doesn't register an offense when `protected` is not repeated 293s behaves like nested in a begin..end block 293s doesn't flag an access modifier from surrounding scope 293s still flags repeated `private` 293s behaves like def in new block 293s registers an offense if no method is defined in ::Module.new 293s doesn't register an offense if a method is defined in ::Module.new 293s when an access modifier is followed by attr_* 293s does not register an offense 293s behaves like method defined using class_eval 293s doesn't register an offense if a method is defined 293s registers an offense if no method is defined 293s inside a class 293s registers an offense when a modifier is outside the block and a method is defined only inside the block 293s registers two offenses when a modifier is inside and outside the block and no method is defined 293s 293s RuboCop::Cop::Style::OptionHash 293s registers an offense 293s when the last argument is an options hash named something else 293s does not register an offense 293s when the argument name is in the list of suspicious names 293s registers an offense 293s when there are no arguments 293s does not register an offense 293s when passing options hash to super 293s does not register an offense when code exists before call to super 293s does not register an offense 293s does not register an offense when call to super is in a nested block 293s when the last argument is a non-options-hash optional hash 293s does not register an offense 293s permitted list 293s ignores if the method is permitted 293s 293s RuboCop::Cop::Style::TrailingCommaInArguments 293s with multi-line list of values 293s when EnforcedStyleForMultiline is comma 293s accepts a method call with two parameters on the same line 293s does not break when a safe method call is chained on the offending more complex one 293s accepts no trailing comma in a method call with a multiline braceless hash at the end with more than one parameter on a line 293s accepts trailing comma in a method call with hash parameters at the end 293s registers an offense for no trailing comma in a method call with hash parameters at the end 293s accepts missing comma after heredoc with comments 293s accepts a trailing comma in a method call with single line hashes 293s accepts an empty hash being passed as a method argument 293s does not break when a method call is chained on the offending one 293s does not break when a safe method call is chained on the offending simple one 293s accepts a multiline call with a single argument and trailing comma 293s when closing bracket is on same line as last value 293s accepts a method call with Hash as last parameter split on multiple lines 293s when EnforcedStyleForMultiline is consistent_comma 293s autocorrects missing comma after a heredoc 293s accepts a multiline call with a single argument and trailing comma 293s accepts a trailing comma in a method call with a single hash parameter 293s accepts a trailing comma in a method call with a single hash parameter to a receiver object 293s accepts a trailing comma in a method call with single line hashes 294s registers an offense for no trailing comma in a method call with hash parameters at the end 294s registers an offense for no trailing comma in a method call withtwo parameters on the same line 294s accepts a multiline call with single argument on multiple lines 294s accepts a multiline call with arguments on a single line and trailing comma 294s accepts no trailing comma in a method call with a block parameter at the end 294s accepts trailing comma in a method call with hash parameters at the end 294s when closing bracket is on same line as last value 294s registers an offense for a method call, with a Hash as the last parameter, split on multiple lines 294s when EnforcedStyleForMultiline is no_comma 294s accepts comma inside a heredoc with comments inside 294s accepts a method call with hash parameters at the end and no trailing comma 294s accepts comma inside a heredoc in brackets 294s registers an offense for trailing comma in a method call with hash parameters at the end 294s accepts comma inside a heredoc parameter at the end 294s autocorrects unwanted comma after modified heredoc parameter 294s accepts comma inside a heredoc with method and comments inside 294s accepts comma inside a modified heredoc parameter 294s when there is string interpolation inside heredoc parameter 294s accepts comma inside a heredoc parameter when on a single line 294s accepts comma inside a heredoc parameter 294s autocorrects unwanted comma inside string interpolation 294s with a single argument of anonymous function spanning multiple lines 294s when EnforcedStyleForMultiline is consistent_comma 294s accepts a single argument with no trailing comma 294s with single line list of values 294s when EnforcedStyleForMultiline is consistent_comma 294s accepts method call without trailing comma with single element hash parameters at the end 294s registers an offense for trailing comma preceded by whitespace in a method call 294s accepts method call without trailing comma 294s accepts chained single-line method calls 294s registers an offense for trailing comma in a method call with hash parameters at the end 294s accepts heredoc without trailing comma 294s accepts method call without trailing comma when a line break before a method call 294s accepts method call without parameters 294s registers an offense for trailing comma in a method call 294s when using safe navigation operator 294s registers an offense for trailing comma in a method call 294s registers an offense for trailing comma in a method call with hash parameters at the end 294s when EnforcedStyleForMultiline is comma 294s accepts method call without trailing comma 294s accepts method call without trailing comma when a line break before a method call 294s registers an offense for trailing comma preceded by whitespace in a method call 294s registers an offense for trailing comma in a method call 294s registers an offense for trailing comma in a method call with hash parameters at the end 294s accepts chained single-line method calls 294s accepts method call without parameters 294s accepts method call without trailing comma with single element hash parameters at the end 294s accepts heredoc without trailing comma 294s when using safe navigation operator 294s registers an offense for trailing comma in a method call with hash parameters at the end 294s registers an offense for trailing comma in a method call 294s when EnforcedStyleForMultiline is no_comma 294s registers an offense for trailing comma in a method call with hash parameters at the end 294s accepts method call without parameters 294s accepts chained single-line method calls 294s accepts method call without trailing comma 294s accepts method call without trailing comma when a line break before a method call 294s registers an offense for trailing comma preceded by whitespace in a method call 294s registers an offense for trailing comma in a method call 294s accepts heredoc without trailing comma 294s accepts method call without trailing comma with single element hash parameters at the end 294s when using safe navigation operator 294s registers an offense for trailing comma in a method call 294s registers an offense for trailing comma in a method call with hash parameters at the end 294s with a single argument spanning multiple lines 294s when EnforcedStyleForMultiline is consistent_comma 294s accepts a single argument with no trailing comma 294s 294s RuboCop::Cop::Style::ClassAndModuleChildren 294s nested style 294s accepts cbase class name 294s preserves comments 294s registers an offense for partially nested modules 294s registers an offense for not nested modules 294s accepts nested children 294s registers an offense for not nested classes when namespace is defined as a module 294s accepts :: in parent class on inheritance 294s accepts cbase module name 294s registers an offense for not nested classes 294s registers an offense for not nested classes when namespace is defined as a class 294s registers an offense for not nested classes with explicit superclass 294s registers an offense for partially nested classes 294s compact style 294s accepts nesting for classes with an explicit superclass 294s accepts class/module with single method 294s registers an offense for modules with partially nested children 294s correctly indents heavily nested children 294s registers a offense for modules with nested children 294s accepts nesting for classes/modules with more than one child 294s registers a offense for classes with nested one-liner children 294s registers an offense for classes with partially nested children 294s registers and offense for deeply nested children 294s accepts compact style for classes/modules 294s preserves comments between classes 294s registers a offense for classes with nested children 294s 294s RuboCop::Cop::Lint::DeprecatedClassMethods 294s when using `ENV.clone` 294s does not register an offense for method calls to `ENV` other than `clone` 294s registers an offense 294s prefer `Addrinfo#getaddrinfo` over `Socket.gethostbyname` 294s does not register an offense for method `gethostbyname` on other receivers 294s registers an offense for Socket.gethostbyname 294s registers an offense for ::Socket.gethostbyname 294s when using `ENV.dup` 294s does not register an offense for method calls to `ENV` other than `dup` 294s registers an offense 294s when using `ENV.freeze` 294s does not register an offense for method calls to `ENV` other than `freeze` 294s registers an offense 294s prefer `Addrinfo#getnameinfo` over `Socket.gethostbyaddr` 294s registers an offense for Socket.gethostbyaddr 294s registers an offense for ::Socket.gethostbyaddr 294s does not register an offense for method `gethostbyaddr` on other receivers 294s prefer `block_given?` over `iterator?` 294s does not register an offense for offensive method `iterator?`on other receivers 294s does not register an offense for block_given? 294s registers an offense and corrects iterator? 294s prefer `Dir.exist?` over `Dir.exists?` 294s registers an offense and corrects Dir.exists? 294s does not register an offense for Dir.exist? 294s does not register an offense for offensive method `exists?`on other receivers 294s registers an offense and corrects ::Dir.exists? 294s prefer `File.exist?` over `File.exists?` 294s does not register an offense for File.exist? 294s registers an offense and corrects ::File.exists? 294s registers an offense and corrects File.exists? 294s 294s RuboCop::Cop::Style::Attr 294s does not register offense for custom `attr` method 294s registers an offense attr 294s accepts attr when it has a receiver 294s accepts attr when it does not take arguments 294s registers offense for attr within class_eval 294s registers offense for attr within module_eval 294s autocorrects 294s attr to attr_reader 294s attr :name, true to attr_accessor :name 294s attr, false to attr_reader 294s attr with multiple names to attr_reader 294s 294s RuboCop::Cop::Layout::MultilineMethodArgumentLineBreaks 294s when many arguments are on multiple lines, two on same line 294s registers an offense and corrects 294s when many arguments including hash are on multiple lines, three on same line 294s registers an offense and corrects 294s when bracket hash assignment on multiple lines 294s does not add any offenses 294s when there are multiple arguments on the first line 294s registers an offense and corrects starting from the 2nd argument 294s when one argument on same line 294s does not add any offenses 294s when argument starts on same line but ends on different line 294s registers an offense and corrects 294s when two arguments are on next line 294s does not add any offenses 294s when many arguments are on multiple lines, three on same line 294s registers an offense and corrects 294s when bracket hash assignment key on multiple lines 294s does not add any offenses 294s when second argument starts on same line as end of first 294s registers an offense and corrects 294s 294s RuboCop::Cop::Style::SwapValues 294s does not register an offense when almost swapping variables 294s does not register an offense when idiomatically swapping variables 294s does not register an offense when assigning receiver object at `def` 294s handles comments when correcting 294s behaves like verbosely swapping 294s registers an offense and corrects when verbosely swapping class variables 294s behaves like verbosely swapping 294s registers an offense and corrects when verbosely swapping instance variables 294s behaves like verbosely swapping 294s registers an offense and corrects when verbosely swapping global variables 294s behaves like verbosely swapping 294s registers an offense and corrects when verbosely swapping local variables 294s behaves like verbosely swapping 294s registers an offense and corrects when verbosely swapping mixed variables 294s behaves like verbosely swapping 294s registers an offense and corrects when verbosely swapping constant variables 294s behaves like verbosely swapping 294s registers an offense and corrects when verbosely swapping constant with namespaces variables 294s 294s RuboCop::Cop::Lint::EachWithObjectArgument 294s registers an offense for fixnum argument 294s accepts two arguments 294s registers an offense for bignum argument 294s registers an offense for float argument 294s accepts a string argument 294s accepts a variable argument 294s when using safe navigation operator 294s registers an offense for fixnum argument 294s 294s RuboCop::Cop::Style::MissingElse 294s EmptyElse enabled and set to warn on nil 294s given a case statement 294s with no else-clause 294s registers an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s >= Ruby 2.7 294s does not register an offense 294s given an unless-statement 294s with no else-clause 294s registers an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s given an if-statement 294s with a completely empty else-clause 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s UnlessElse disabled 294s given an unless-statement 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s given an if-statement 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s given a case statement 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s >= Ruby 2.7 294s does not register an offense 294s EmptyElse enabled and set to warn on empty 294s given an if-statement 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s >= Ruby 2.7 294s does not register an offense 294s given a case statement 294s with no else-clause 294s registers an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s given an unless-statement 294s with an else-clause with side-effects 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s configured to warn only on empty case 294s given a case statement 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s given an unless-statement 294s with no else-clause 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s given an if-statement 294s with an else-clause with side-effects 294s doesn't register an offense 294s with no else-clause 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s >= Ruby 2.7 294s does not register an offense 294s configured to warn only on empty if 294s given a case statement 294s with no else-clause 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s given an unless-statement 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s >= Ruby 2.7 294s does not register an offense 294s given an if-statement 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with no else-clause 294s registers an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s UnlessElse enabled 294s given an if-statement 294s with no else-clause 294s registers an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s given a case statement 294s with no else-clause 294s registers an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s given an unless-statement 294s with no else-clause 294s doesn't register an offense 294s with a completely empty else-clause 294s doesn't register an offense 294s with an else-clause containing only the literal nil 294s doesn't register an offense 294s with an else-clause with side-effects 294s doesn't register an offense 294s >= Ruby 2.7 294s does not register an offense 294s 294s RuboCop::Cop::Style::StabbyLambdaParentheses 294s require_parentheses 294s does not register an offense for a stabby lambda with parentheses 294s registers an offense for a stabby lambda without parentheses 294s behaves like common 294s does not check a stabby lambda without arguments 294s does not check a method call named lambda 294s does not check the old lambda syntax 294s require_no_parentheses 294s registers an offense for a stabby lambda with parentheses 294s behaves like common 294s does not check a method call named lambda 294s does not check the old lambda syntax 294s does not check a stabby lambda without arguments 294s 294s RuboCop::Cop::Lint::RequireRelativeSelfPath 294s does not register an offense when using a variable as an argument of `require_relative` 294s registers an offense when using `require_relative` with self file path argument 294s does not register an offense when the filename is the same but the extension does not match 294s does not register an offense when using `require_relative` without argument 294s does not register an offense when using `require_relative` without self file path argument 294s registers an offense when using `require_relative` with self file path argument (with ext) 294s 294s RuboCop::Cop::InternalAffairs::RedundantLocationArgument 294s when location argument is passed 294s when location argument is :expression 294s registers an offense 294s removes default `location` when preceded by another keyword 294s removes default `location` surrounded by other keywords 294s when there is a message argument 294s registers an offense 294s when location argument does not equal to :expression 294s does not register an offense 294s when location argument is not passed 294s does not register an offense 294s 294s RuboCop::Cop::Lint::NumberedParameterAssignment 294s registers an offense when using `_0` lvar 294s does not register an offense when index assignment 294s does not register an offense when using non numbered parameter 294s registers an offense when using `_10` lvar 294s when Ruby 2.7 or lower 294s registers an offense when using `_9` numbered parameter 294s registers an offense when using `_8` numbered parameter 294s registers an offense when using `_3` numbered parameter 294s registers an offense when using `_1` numbered parameter 294s registers an offense when using `_2` numbered parameter 294s registers an offense when using `_7` numbered parameter 294s registers an offense when using `_6` numbered parameter 294s registers an offense when using `_4` numbered parameter 294s registers an offense when using `_5` numbered parameter 294s 294s RuboCop::Cop::Layout::ExtraSpacing 294s when AllowForAlignment is true 294s ignores whitespace inside a string 294s registers an offense and corrects extra spacing in class inheritance 294s registers an offense and corrects extra spacing before a unary plus in an argument list 294s accepts space between key and value in a hash with hash rockets 294s ignores whitespace at the beginning of the line 294s ignores trailing whitespace 294s registers an offense and corrects alignment with token not preceded by space 294s registers an offense and corrects extra space before a float 294s accepts aligned values of an implicit hash literal 294s registers an offense and corrects double extra spacing in variable assignment 294s with extra spacing for alignment purposes 294s such as aligning with the same character 294s allows it 294s such as lining up assignments with empty lines and comments in between 294s allows it 294s such as aligning comments on non-adjacent lines 294s allows it 294s such as lining up assignments 294s allows it 294s such as lining up different kinds of assignments 294s allows it 294s such as aligning tokens with empty line between 294s allows it 294s such as aligning long assignment expressions that include line breaks 295s allows it 295s such as aligning = on lines where there are trailing comments 295s allows it 295s such as aligning trailing comments 295s allows it 295s when spaces are present in a single-line hash literal 295s registers an offense and corrects hashes with hash rockets 295s registers an offense and corrects hashes with symbol keys 295s when AllowBeforeTrailingComments is 295s true 295s allows it 295s doesn't interfere with AllowForAlignment 295s being false 295s such as aligning tokens with empty line between 295s does not register an offense 295s such as lining up different kinds of assignments 295s registers offense(s) 295s such as lining up assignments with empty lines and comments in between 295s registers offense(s) 295s such as aligning long assignment expressions that include line breaks 295s registers offense(s) 295s such as aligning comments on non-adjacent lines 295s registers offense(s) 295s such as aligning trailing comments 295s does not register an offense 295s such as aligning with the same character 295s registers offense(s) 295s such as aligning = on lines where there are trailing comments 295s registers offense(s) 295s such as lining up assignments 295s registers offense(s) 295s being true 295s such as aligning long assignment expressions that include line breaks 295s allows it 295s such as aligning = on lines where there are trailing comments 295s allows it 295s such as aligning with the same character 295s allows it 295s such as lining up different kinds of assignments 295s allows it 295s such as aligning comments on non-adjacent lines 295s allows it 295s such as lining up assignments 295s allows it 295s such as lining up assignments with empty lines and comments in between 295s allows it 295s such as aligning tokens with empty line between 295s allows it 295s such as aligning trailing comments 295s allows it 295s false 295s does not trigger on only one space before comment 295s regsiters offense 295s when AllowForAlignment is false 295s ignores trailing whitespace 295s registers an offense and corrects alignment with token not preceded by space 295s registers an offense and corrects extra space before a float 295s ignores whitespace inside a string 295s registers an offense and corrects extra spacing in class inheritance 295s registers an offense and corrects double extra spacing in variable assignment 295s ignores whitespace at the beginning of the line 295s registers an offense and corrects extra spacing before a unary plus in an argument list 295s accepts aligned values of an implicit hash literal 295s accepts space between key and value in a hash with hash rockets 295s with extra spacing for alignment purposes 295s such as lining up assignments 295s registers offense(s) 295s such as lining up assignments with empty lines and comments in between 295s registers offense(s) 295s such as aligning = on lines where there are trailing comments 295s registers offense(s) 295s such as aligning trailing comments 295s registers offense(s) 295s such as lining up different kinds of assignments 295s registers offense(s) 295s such as aligning long assignment expressions that include line breaks 295s registers offense(s) 295s such as aligning comments on non-adjacent lines 295s registers offense(s) 295s such as aligning tokens with empty line between 295s registers offense(s) 295s such as aligning with the same character 295s registers offense(s) 295s when spaces are present in a single-line hash literal 295s registers an offense and corrects hashes with symbol keys 295s registers an offense and corrects hashes with hash rockets 295s when ForceEqualSignAlignment is true 295s aligns the first assignment with the following assignment 295s register offenses and correct consecutive operator assignments which are not aligned 295s does not register an offense when optarg equals is not aligned with assignment equals sign 295s does not register alignment errors on outdented lines 295s does not register an offense if assignments are separated by blanks 295s register offenses and correct consecutive attribute assignments which are not aligned 295s registers an offense and corrects consecutive assignments that are not aligned 295s registers an offense and corrects consecutive aref assignments which are not aligned 295s register offenses and correct complex nested assignments 295s does not register offenses for multiple complex nested assignments 295s does not register an offense if assignments are aligned 295s 295s RuboCop::Cop::Style::NegatedWhile 295s autocorrects by replacing until not with while 295s accepts a while where only part of the condition is negated 295s registers an offense for while with "not" condition 295s registers an offense for until with exclamation point condition 295s does not blow up for empty while condition 295s accepts a while where the condition is doubly negated 295s registers an offense for while with exclamation point condition 295s autocorrects by replacing while not with until 295s does not blow up for empty until condition 295s 295s RuboCop::Cop::Style::RedundantSortBy 295s autocorrects array.sort_by do |x| x end 295s autocorrects array.sort_by { |y| y } 295s autocorrects array.sort_by { |x| x } 295s Ruby 2.7 295s autocorrects array.sort_by { |x| x } 295s 295s RuboCop::Formatter::DisabledConfigFormatter 295s when exclude_limit option is omitted 295s disables the cop with 15 offending files 295s when no files are inspected 295s creates a .rubocop_todo.yml even in such case 295s when there's .rubocop.yml 295s merges in excludes from .rubocop.yml 295s when any offenses are detected 295s displays YAML configuration disabling all cops with offenses 295s with autocorrect supported cop 295s adds a comment about --autocorrect option 295s when exclude_limit option is passed 295s respects the file exclusion list limit 295s 295s RuboCop::Cop::Lint::TrailingCommaInAttributeDeclaration 295s registers an offense when using trailing comma 295s does not register an offense when not using trailing comma 295s 295s RuboCop::Cop::Layout::SpaceInsideReferenceBrackets 295s with space inside empty braces allowed 295s accepts empty brackets with space inside 295s registers offense and corrects empty brackets with no space inside 295s registers offense and corrects empty brackets with newline inside 295s registers offense and corrects empty brackets with more than one space inside 295s with space inside empty brackets not allowed 295s registers an offense and corrects empty brackets with multiple spaces inside 295s registers an offense and corrects empty brackets with newline inside 295s registers an offense and corrects empty brackets with 1 space inside 295s accepts empty brackets with no space inside 295s when EnforcedStyle is space 295s registers an offense and corrects ref brackets with no trailing whitespace 295s accepts square brackets called with method call syntax 295s accepts square brackets as method name 295s registers an offense and corrects second ref brackets with no leading whitespace 295s does not register offense for array literals 295s does not register offense for reference brackets with spaces 295s registers an offense and corrects when a reference bracket with no trailing whitespace is assigned by another reference bracket 295s accepts spaces in array brackets 295s accepts an array as a reference object 295s registers an offense and correct third ref brackets with no trailing whitespace 295s registers and corrects multiple offenses in one set of ref brackets 295s registers an offense and corrects ref brackets with no leading whitespace 295s registers an offense and corrects when a reference bracket with no leading whitespace is assigned by another reference bracket 295s registers and corrects multiple offenses for multiple sets of ref brackets 295s registers an offense and corrects when a reference bracket is assigned by another reference bracket with no trailing whitespace 295s registers an offense and corrects second ref brackets with no trailing whitespace 295s does not register offense for ref bcts with spaces that assign 295s registers an offense and corrects third ref brackets with no leading whitespace 295s when EnforcedStyle is no_space 295s accepts an array as a reference object 295s registers an offense and corrects second ref brackets with leading whitespace 295s accepts square brackets called with method call syntax 295s does not register offense for reference brackets with no spaces 295s does not register offense for non-empty brackets with newline inside 295s registers an offense and corrects when a reference bracket with a trailing whitespace is assigned by another reference bracket 295s does not register offense for array literals 295s registers an offense and corrects outer ref brackets 295s does not register offense for ref bcts with no spaces that assign 295s accepts square brackets as method name 295s registers an offense and corrects ref brackets with leading whitespace 295s register and correct multiple offenses for multiple sets of ref brackets 295s registers an offense and corrects when a reference bracket is assigned by another reference bracket with trailing whitespace 295s registers an offense and corrects third ref brackets with trailing whitespace 295s registers multiple offenses and corrects one set of ref brackets 295s registers an offense and corrects second ref brackets with trailing whitespace 295s registers an offense and corrects third ref brackets with leading whitespace 295s registers an offense and corrects when a reference bracket with a leading whitespace is assigned by another reference bracket 295s registers an offense and corrects ref brackets with trailing whitespace 295s accepts extra spacing in array brackets 295s registers multiple offenses and corrects multiple sets of ref brackets 295s 295s RuboCop::Cop::Lint::ErbNewArguments 295s <= Ruby 2.5 295s does not register an offense when using `ERB.new` with non-keyword arguments 295s >= Ruby 2.6 295s registers an offense when using `ERB.new` with non-keyword 2nd, 3rd and 4th arguments andkeyword 5th argument 295s registers an offense when using `ERB.new` with non-keyword 2nd and 3rd arguments 295s registers an offense when using `ERB.new` with non-keyword 2nd argument 295s registers an offense when using `ERB.new` with non-keyword 2nd, 3rd and 4th arguments 295s registers an offense when using `ERB.new` with non-keyword 2nd and 3rd arguments andkeyword 4th argument 295s registers an offense when using `::ERB.new` with non-keyword 2nd, 3rd and 4th arguments 295s does not register an offense when using `ERB.new` without optional arguments 295s does not register an offense when using `ERB.new` with keyword arguments 295s when using `ActionView::Template::Handlers::ERB.new` 295s does not register an offense when using `ERB.new` without arguments 295s 295s RuboCop::Cop::Style::Alias 295s when EnforcedStyle is prefer_alias 295s does not register an offense for alias_method in self.method def 295s registers an offense for alias_method at the top level 295s does not register an offense for alias_method with non-literal constant argument 295s does not register an offense for alias_method with non-literal method call argument 295s does not register an offense for alias_method in a method def 295s does not register an offense for alias with bareword args 295s does not register an offense for alias_method in a block 295s does not register an offense for alias in an instance_eval block 295s does not register an offense for alias_method with explicit receiver 295s registers an offense for alias with symbol args 295s registers an offense for alias_method in a class block 295s registers an offense for alias_method in a module block 295s when EnforcedStyle is prefer_alias_method 295s does not register an offense for alias_method 295s registers an offense for alias with bareword args 295s does not register an offense for alias in an instance_eval block 295s does not register an offense for alias with gvars 295s registers an offense for alias with symbol args 295s 295s RuboCop::Formatter::HTMLFormatter 295s outputs the result in HTML 296s outputs the cached result in HTML 296s 296s RuboCop::Cop::Style::RedundantStringEscape 296s does not register an offense for a __FILE__ literal 296s does not register an offense for a x-str literal 296s does not register an offense for a __dir__ literal 296s does not register an offense for a regexp literal 296s with an interpolation-disabled HEREDOC 296s behaves like a literal without interpolation 296s does not register an offense without escapes 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for an octal escape 296s does not register an offense for a unicode escape 296s does not register an offense with escaped single quote 296s does not register an offense for an escaped # with following { 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for an escaped interpolation 296s does not register an offense for an escaped ivar interpolation 296s does not register an offense for a @-escaped ivar interpolation 296s does not register an offense for an escaped newline 296s does not register an offense for a meta character 296s does not register an offense for control characters 296s does not register an offense for an escaped cvar interpolation 296s does not register an offense for a $-escaped gvar interpolation 296s does not register an offense for meta control characters 296s does not register an offense with escaped double quote 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense for a newline 296s does not register an offense for a technically-unnecessary escape 296s does not register an offense for an allowed escape inside multi-line literal 296s does not register an offense for multiple unicode escapes 296s does not register an offense for an escaped # followed { 296s does not register an offense for an escaped backslash 296s does not register an offense for an ascii DEL 296s does not register an offense for a hex escape 296s does not register an offense with escaped # at end-of-string 296s does not register an offense for a @-escaped cvar interpolation 296s does not register an offense with escaped # without following { 296s with a %(...) literal 296s behaves like a literal with interpolation 296s does not register an offense for meta control characters 296s registers an offense and corrects an escaped single quote 296s does not register an offense for an escaped ivar interpolation 296s does not register an offense for an escaped delimiter before interpolation 296s does not register an offense for an escaped interpolation 296s registers an offense and corrects an escaped # before interpolation 296s does not register an offense without escapes 296s does not register an offense for an escaped delimiter 296s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 296s does not register an offense for a $-escaped gvar interpolation 296s registers an offense and corrects an escaped double quote 296s registers an offense and corrects an escaped # without following { 296s does not register an offense for multiple unicode escapes 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense for a @-escaped cvar interpolation 296s registers an offense and corrects an escaped # at end-of-string 296s does not register an offense for an escaped # followed { 296s does not register an offense for an octal escape 296s does not register an offense for a technically-unnecessary escape 296s registers an offense and corrects a escaped nested delimiter in a double quoted string 296s does not register an offense for a @-escaped ivar interpolation 296s does not register an offense for an escaped newline 296s does not register an offense for a meta character 296s does not register an offense for a newline 296s does not register an offense for an ascii DEL 296s does not register an offense for a unicode escape 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for an escaped backslash 296s does not register an offense for a hex escape 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for an escaped cvar interpolation 296s does not register an offense for control characters 296s with a %W(...) literal 296s does not register an offense for escaped spaces 296s behaves like a literal with interpolation 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for a hex escape 296s registers an offense and corrects an escaped double quote 296s does not register an offense for an escaped newline 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for a @-escaped cvar interpolation 296s does not register an offense for a newline 296s does not register an offense for a technically-unnecessary escape 296s does not register an offense for an escaped # followed { 296s registers an offense and corrects an escaped # without following { 296s does not register an offense for an octal escape 296s does not register an offense for an escaped backslash 296s does not register an offense for meta control characters 296s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 296s does not register an offense without escapes 296s does not register an offense for an escaped interpolation 296s does not register an offense for an escaped cvar interpolation 296s does not register an offense for a $-escaped gvar interpolation 296s does not register an offense for a meta character 296s does not register an offense for an escaped ivar interpolation 296s registers an offense and corrects an escaped # at end-of-string 296s does not register an offense for a unicode escape 296s registers an offense and corrects an escaped # before interpolation 296s does not register an offense for an escaped delimiter before interpolation 296s does not register an offense for an ascii DEL 296s registers an offense and corrects an escaped single quote 296s registers an offense and corrects a escaped nested delimiter in a double quoted string 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense for control characters 296s does not register an offense for multiple unicode escapes 296s does not register an offense for an escaped delimiter 296s does not register an offense for a @-escaped ivar interpolation 296s with a single quoted string 296s behaves like a literal without interpolation 296s does not register an offense for an escaped cvar interpolation 296s does not register an offense for an ascii DEL 296s does not register an offense for an escaped ivar interpolation 296s does not register an offense with escaped # without following { 296s does not register an offense for an escaped backslash 296s does not register an offense for an escaped delimiter 296s does not register an offense for an escaped interpolation 296s does not register an offense for a hex escape 296s does not register an offense for an escaped # followed { 296s does not register an offense for an escaped # with following { 296s does not register an offense for a meta character 296s does not register an offense for an octal escape 296s does not register an offense for a newline 296s does not register an offense with escaped # at end-of-string 296s does not register an offense with escaped single quote 296s does not register an offense for a $-escaped gvar interpolation 296s does not register an offense for a technically-unnecessary escape 296s does not register an offense for an escaped delimiter before interpolation 296s does not register an offense without escapes 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense with escaped double quote 296s does not register an offense for a @-escaped ivar interpolation 296s does not register an offense for an allowed escape inside multi-line literal 296s does not register an offense for a @-escaped cvar interpolation 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for a unicode escape 296s does not register an offense for meta control characters 296s does not register an offense for an escaped newline 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for control characters 296s does not register an offense for multiple unicode escapes 296s with a %Q!...! literal 296s behaves like a literal with interpolation 296s registers an offense and corrects an escaped double quote 296s does not register an offense for an escaped # followed { 296s does not register an offense for a technically-unnecessary escape 296s does not register an offense for an escaped delimiter before interpolation 296s does not register an offense for an escaped interpolation 296s registers an offense and corrects an escaped # without following { 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense for a meta character 296s registers an offense and corrects an escaped # before interpolation 296s does not register an offense for meta control characters 296s registers an offense and corrects an escaped # at end-of-string 296s registers an offense and corrects an escaped single quote 296s does not register an offense for an escaped newline 296s does not register an offense for a @-escaped cvar interpolation 296s does not register an offense for an octal escape 296s does not register an offense for an escaped cvar interpolation 296s does not register an offense for a $-escaped gvar interpolation 296s does not register an offense for a newline 296s registers an offense and corrects a escaped nested delimiter in a double quoted string 296s does not register an offense for a hex escape 296s does not register an offense for an escaped ivar interpolation 296s does not register an offense for an escaped delimiter 296s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 296s does not register an offense without escapes 296s does not register an offense for a @-escaped ivar interpolation 296s does not register an offense for a unicode escape 296s does not register an offense for an ascii DEL 296s does not register an offense for an escaped backslash 296s does not register an offense for multiple unicode escapes 296s does not register an offense for control characters 296s does not register a bracket-escaped lvar interpolation 296s with a %Q(...) literal 296s behaves like a literal with interpolation 296s does not register an offense for a meta character 296s registers an offense and corrects an escaped # without following { 296s registers an offense and corrects an escaped # before interpolation 296s does not register an offense for control characters 296s does not register an offense for meta control characters 296s registers an offense and corrects a escaped nested delimiter in a double quoted string 296s does not register an offense for a @-escaped ivar interpolation 296s registers an offense and corrects an escaped single quote 296s does not register an offense for an escaped newline 296s does not register an offense for an escaped delimiter 296s does not register an offense for a unicode escape 296s does not register an offense for a @-escaped cvar interpolation 296s does not register an offense for an escaped delimiter before interpolation 296s does not register an offense for a technically-unnecessary escape 296s does not register an offense for an escaped cvar interpolation 296s does not register an offense for multiple unicode escapes 296s does not register an offense for an escaped interpolation 296s does not register an offense for an escaped backslash 296s does not register an offense for a $-escaped gvar interpolation 296s registers an offense and corrects an escaped # at end-of-string 296s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 296s does not register an offense for a newline 296s does not register an offense without escapes 296s does not register an offense for an escaped # followed { 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense for an octal escape 296s registers an offense and corrects an escaped double quote 296s does not register an offense for a hex escape 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for an escaped ivar interpolation 296s does not register an offense for an ascii DEL 296s does not register an offense for an escaped gvar interpolation 296s with a %q(...) literal 296s behaves like a literal without interpolation 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for an escaped ivar interpolation 296s does not register an offense for an escaped delimiter 296s does not register an offense for an escaped newline 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for an escaped backslash 296s does not register an offense for control characters 296s does not register an offense with escaped # at end-of-string 296s does not register an offense for an escaped # with following { 296s does not register an offense for a $-escaped gvar interpolation 296s does not register an offense for an escaped # followed { 296s does not register an offense with escaped double quote 296s does not register an offense for a meta character 296s does not register an offense for a @-escaped cvar interpolation 296s does not register an offense for a hex escape 296s does not register an offense for a technically-unnecessary escape 296s does not register an offense for an allowed escape inside multi-line literal 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense for an escaped interpolation 296s does not register an offense for meta control characters 296s does not register an offense for an octal escape 296s does not register an offense for multiple unicode escapes 296s does not register an offense with escaped single quote 296s does not register an offense for an escaped cvar interpolation 296s does not register an offense without escapes 296s does not register an offense for an ascii DEL 296s does not register an offense for a unicode escape 296s does not register an offense for a newline 296s does not register an offense for a @-escaped ivar interpolation 296s does not register an offense for an escaped delimiter before interpolation 296s does not register an offense with escaped # without following { 296s when using character literals 296s does not register an offense for `?\n` 296s does not register an offense for `?a` 296s with a double quoted string 296s does not register an offense when escaping a quote in multi-line broken string 296s registers an offense and corrects an unnecessary escape in multi-line broken string 296s does not register an offense with multiple escaped backslashes 296s does not register an offense with escaped double quote 296s behaves like a literal with interpolation 296s does not register an offense for an escaped delimiter before interpolation 296s does not register an offense for an escaped ivar interpolation 296s does not register an offense for an octal escape 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense for a hex escape 296s does not register an offense for a newline 296s does not register an offense without escapes 296s does not register an offense for an escaped # followed { 296s registers an offense and corrects an escaped # without following { 296s does not register an offense for an escaped delimiter 296s registers an offense and corrects an escaped # at end-of-string 296s does not register an offense for a @-escaped ivar interpolation 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for control characters 296s registers an offense and corrects an escaped single quote 296s does not register an offense for a meta character 296s does not register an offense for a @-escaped cvar interpolation 296s does not register an offense for a technically-unnecessary escape 296s does not register an offense for an escaped cvar interpolation 296s registers an offense and corrects an escaped } when escaping both brackets to avoid interpolation 296s does not register an offense for meta control characters 296s does not register an offense for an escaped newline 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for multiple unicode escapes 296s does not register an offense for an ascii DEL 296s does not register an offense for a $-escaped gvar interpolation 296s does not register an offense for a unicode escape 296s registers an offense and corrects an escaped # before interpolation 296s does not register an offense for an escaped interpolation 296s does not register an offense for an escaped backslash 296s with a %w(...) literal 296s does not register an offense for escaped spaces 296s behaves like a literal without interpolation 296s does not register an offense for an escaped # followed { 296s does not register an offense with escaped # at end-of-string 296s does not register an offense for an escaped ivar interpolation 296s does not register an offense for an ascii DEL 296s does not register an offense for an escaped # with following { 296s does not register an offense for an escaped delimiter 296s does not register an offense for an escaped newline 296s does not register an offense for an escaped delimiter before interpolation 296s does not register an offense for an escaped cvar interpolation 296s does not register an offense for a newline 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for a technically-unnecessary escape 296s does not register an offense for a unicode escape 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for a @-escaped ivar interpolation 296s does not register an offense for a hex escape 296s does not register an offense with escaped single quote 296s does not register an offense with escaped # without following { 296s does not register an offense for an escaped interpolation 296s does not register an offense for meta control characters 296s does not register an offense for an escaped backslash 296s does not register an offense for an allowed escape inside multi-line literal 296s does not register an offense for a $-escaped gvar interpolation 296s does not register an offense for control characters 296s does not register an offense for a bracket-escaped interpolation 296s does not register an offense for multiple unicode escapes 296s does not register an offense for an octal escape 296s does not register an offense with escaped double quote 296s does not register an offense for a meta character 296s does not register an offense without escapes 296s does not register an offense for a @-escaped cvar interpolation 296s with an interpolation-enabled HEREDOC 296s does not register an offense without escapes 296s registers an offense and corrects an escaped # without following { 296s does not register an offense for a @-escaped ivar interpolation 296s does not register an offense for an escaped gvar interpolation 296s does not register an offense for an ascii DEL 296s registers an offense and corrects an escaped # at end-of-string 296s does not register a bracket-escaped lvar interpolation 296s does not register an offense for meta control characters 297s does not register an offense for a heredoc interpolating a string with an allowed escape 297s does not register an offense for an escaped newline 297s does not register an offense for a unicode escape 297s does not register an offense for an escaped interpolation 297s does not register an offense for a meta character 297s does not register an offense for multiple unicode escapes 297s does not register an offense for an escaped cvar interpolation 297s does not register an offense for an escaped # followed { 297s does not register an offense for control characters 297s does not register an offense for an escaped backslash 297s registers an offense and corrects an escaped # before interpolation 297s does not register an offense for a hex escape 297s does not register an offense for an octal escape 297s does not register an offense for a technically-unnecessary escape 297s does not register an offense for a @-escaped cvar interpolation 297s does not register an offense for a nested heredoc without interpolation 297s registers an offense and corrects an escaped single quote 297s does not register an offense for a $-escaped gvar interpolation 297s does not register an offense for a newline 297s does not register an offense for an escaped ivar interpolation 297s does not register an offense for a bracket-escaped interpolation 297s 297s RuboCop::Cop::Layout::SpaceInsidePercentLiteralDelimiters 297s accepts execute-string literals 297s accepts other percent literals 297s for i type and ["(", ")"] delimiters 297s registers an offense for spaces after first delimiter 297s accepts literals with escaped spaces 297s accepts literals without additional spaces 297s accepts spaces between entries 297s accepts multi-line literals within a method 297s accepts multi-line literals 297s registers an offense for unnecessary spaces 297s accepts newlines and additional following alignment spaces 297s registers an offense for literals with escaped and other spaces 297s registers an offense for spaces before final delimiter 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s for W type and ["[", "]"] delimiters 297s accepts spaces between entries 297s registers an offense for spaces after first delimiter 297s accepts literals with escaped spaces 297s accepts multi-line literals 297s registers an offense for literals with escaped and other spaces 297s accepts multi-line literals within a method 297s accepts newlines and additional following alignment spaces 297s registers an offense for spaces before final delimiter 297s accepts literals without additional spaces 297s registers an offense for unnecessary spaces 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s for x type and ["[", "]"] delimiters 297s registers an offense for literals with escaped and other spaces 297s registers an offense for unnecessary spaces 297s accepts literals without additional spaces 297s registers an offense for spaces before final delimiter 297s accepts literals with escaped spaces 297s accepts spaces between entries 297s accepts multi-line literals within a method 297s registers an offense for spaces after first delimiter 297s accepts newlines and additional following alignment spaces 297s accepts multi-line literals 297s with space in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s for W type and ["{", "}"] delimiters 297s accepts literals without additional spaces 297s accepts spaces between entries 297s registers an offense for literals with escaped and other spaces 297s accepts newlines and additional following alignment spaces 297s accepts multi-line literals 297s registers an offense for spaces before final delimiter 297s accepts literals with escaped spaces 297s registers an offense for unnecessary spaces 297s registers an offense for spaces after first delimiter 297s accepts multi-line literals within a method 297s with newline in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s for I type and ["{", "}"] delimiters 297s registers an offense for spaces after first delimiter 297s accepts spaces between entries 297s accepts literals with escaped spaces 297s registers an offense for unnecessary spaces 297s accepts multi-line literals 297s registers an offense for literals with escaped and other spaces 297s registers an offense for spaces before final delimiter 297s accepts newlines and additional following alignment spaces 297s accepts literals without additional spaces 297s accepts multi-line literals within a method 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s for i type and ["{", "}"] delimiters 297s accepts literals without additional spaces 297s accepts literals with escaped spaces 297s accepts spaces between entries 297s registers an offense for spaces after first delimiter 297s accepts newlines and additional following alignment spaces 297s accepts multi-line literals within a method 297s registers an offense for spaces before final delimiter 297s registers an offense for unnecessary spaces 297s accepts multi-line literals 297s registers an offense for literals with escaped and other spaces 297s with space in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s for W type and ["(", ")"] delimiters 297s registers an offense for literals with escaped and other spaces 297s registers an offense for unnecessary spaces 297s registers an offense for spaces after first delimiter 297s accepts spaces between entries 297s accepts literals with escaped spaces 297s accepts newlines and additional following alignment spaces 297s accepts literals without additional spaces 297s accepts multi-line literals within a method 297s accepts multi-line literals 297s registers an offense for spaces before final delimiter 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s for w type and ["!", "!"] delimiters 297s accepts multi-line literals 297s accepts spaces between entries 297s registers an offense for unnecessary spaces 297s accepts literals with escaped spaces 297s registers an offense for spaces before final delimiter 297s accepts newlines and additional following alignment spaces 297s accepts multi-line literals within a method 297s registers an offense for literals with escaped and other spaces 297s registers an offense for spaces after first delimiter 297s accepts literals without additional spaces 297s with space in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s for w type and ["{", "}"] delimiters 297s accepts multi-line literals 297s registers an offense for spaces before final delimiter 297s registers an offense for spaces after first delimiter 297s registers an offense for unnecessary spaces 297s registers an offense for literals with escaped and other spaces 297s accepts newlines and additional following alignment spaces 297s accepts spaces between entries 297s accepts literals with escaped spaces 297s accepts multi-line literals within a method 297s accepts literals without additional spaces 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s for I type and ["(", ")"] delimiters 297s accepts literals with escaped spaces 297s accepts literals without additional spaces 297s accepts spaces between entries 297s accepts multi-line literals within a method 297s accepts multi-line literals 297s registers an offense for literals with escaped and other spaces 297s registers an offense for spaces after first delimiter 297s accepts newlines and additional following alignment spaces 297s registers an offense for unnecessary spaces 297s registers an offense for spaces before final delimiter 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s for I type and ["[", "]"] delimiters 297s accepts spaces between entries 297s registers an offense for literals with escaped and other spaces 297s accepts literals with escaped spaces 297s registers an offense for spaces before final delimiter 297s accepts literals without additional spaces 297s registers an offense for unnecessary spaces 297s accepts multi-line literals within a method 297s accepts newlines and additional following alignment spaces 297s accepts multi-line literals 297s registers an offense for spaces after first delimiter 297s with newline in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s for w type and ["(", ")"] delimiters 297s accepts newlines and additional following alignment spaces 297s accepts literals with escaped spaces 297s registers an offense for spaces after first delimiter 297s registers an offense for spaces before final delimiter 297s accepts spaces between entries 297s accepts multi-line literals within a method 297s accepts multi-line literals 297s registers an offense for unnecessary spaces 297s registers an offense for literals with escaped and other spaces 297s accepts literals without additional spaces 297s with newline in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s for i type and ["!", "!"] delimiters 297s accepts multi-line literals within a method 297s accepts literals with escaped spaces 297s registers an offense for spaces after first delimiter 297s registers an offense for spaces before final delimiter 297s registers an offense for unnecessary spaces 297s accepts newlines and additional following alignment spaces 297s accepts literals without additional spaces 297s registers an offense for literals with escaped and other spaces 297s accepts spaces between entries 297s accepts multi-line literals 297s with space in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s for i type and ["[", "]"] delimiters 297s registers an offense for spaces before final delimiter 297s accepts newlines and additional following alignment spaces 297s accepts multi-line literals within a method 297s registers an offense for spaces after first delimiter 297s accepts literals without additional spaces 297s accepts spaces between entries 297s registers an offense for literals with escaped and other spaces 297s accepts multi-line literals 297s registers an offense for unnecessary spaces 297s accepts literals with escaped spaces 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s for x type and ["{", "}"] delimiters 297s accepts literals without additional spaces 297s registers an offense for literals with escaped and other spaces 297s registers an offense for spaces before final delimiter 297s accepts newlines and additional following alignment spaces 297s registers an offense for unnecessary spaces 297s registers an offense for spaces after first delimiter 297s accepts multi-line literals within a method 297s accepts literals with escaped spaces 297s accepts spaces between entries 297s accepts multi-line literals 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s for w type and ["[", "]"] delimiters 297s accepts multi-line literals within a method 297s accepts multi-line literals 297s registers an offense for spaces after first delimiter 297s registers an offense for spaces before final delimiter 297s accepts newlines and additional following alignment spaces 297s registers an offense for literals with escaped and other spaces 297s accepts spaces between entries 297s accepts literals with escaped spaces 297s registers an offense for unnecessary spaces 297s accepts literals without additional spaces 297s with spaces in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s for I type and ["!", "!"] delimiters 297s accepts newlines and additional following alignment spaces 297s registers an offense for unnecessary spaces 297s accepts spaces between entries 297s accepts multi-line literals within a method 297s registers an offense for literals with escaped and other spaces 297s accepts literals with escaped spaces 297s registers an offense for spaces after first delimiter 297s registers an offense for spaces before final delimiter 297s accepts literals without additional spaces 297s accepts multi-line literals 297s with space in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s for W type and ["!", "!"] delimiters 297s registers an offense for spaces before final delimiter 297s registers an offense for literals with escaped and other spaces 297s accepts multi-line literals within a method 297s accepts newlines and additional following alignment spaces 297s accepts spaces between entries 297s registers an offense for spaces after first delimiter 297s registers an offense for unnecessary spaces 297s accepts multi-line literals 297s accepts literals with escaped spaces 297s accepts literals without additional spaces 297s with newline in blank percent literals 297s registers and corrects an offense 297s with space in blank percent literals 297s registers and corrects an offense 297s with spaces in blank percent literals 297s registers and corrects an offense 297s for x type and ["!", "!"] delimiters 297s registers an offense for spaces after first delimiter 297s accepts multi-line literals 297s accepts literals with escaped spaces 297s accepts literals without additional spaces 297s accepts spaces between entries 297s accepts multi-line literals within a method 297s registers an offense for spaces before final delimiter 297s registers an offense for literals with escaped and other spaces 297s accepts newlines and additional following alignment spaces 297s registers an offense for unnecessary spaces 297s with space in blank percent literals 297s registers and corrects an offense 297s with newline in blank percent literals 298s registers and corrects an offense 298s with spaces in blank percent literals 298s registers and corrects an offense 298s for x type and ["(", ")"] delimiters 298s registers an offense for spaces after first delimiter 298s accepts multi-line literals within a method 298s registers an offense for spaces before final delimiter 298s accepts newlines and additional following alignment spaces 298s registers an offense for unnecessary spaces 298s accepts literals with escaped spaces 298s accepts literals without additional spaces 298s accepts multi-line literals 298s registers an offense for literals with escaped and other spaces 298s accepts spaces between entries 298s with newline in blank percent literals 298s registers and corrects an offense 298s with spaces in blank percent literals 298s registers and corrects an offense 298s with space in blank percent literals 298s registers and corrects an offense 298s 298s RuboCop::Cop::Style::Strip 298s registers an offense for str.lstrip.rstrip 298s registers an offense for str.rstrip.lstrip 298s 298s RuboCop::Cop::Gemspec::OrderedDependencies 298s behaves like ordered dependency 298s when add_runtime_dependency 298s When gems are alphabetically sorted 298s does not register any offenses 298s when each individual group of line is sorted 298s does not register any offenses 298s when dependency is separated by multiline comment 298s with TreatCommentsAsGroupSeparators: true 298s accepts 298s with TreatCommentsAsGroupSeparators: false 298s registers an offense 298s when gems are not alphabetically sorted 298s registers an offense 298s When using method call to gem names 298s does not register any offenses 298s behaves like ordered dependency 298s when add_dependency 298s When gems are alphabetically sorted 298s does not register any offenses 298s when each individual group of line is sorted 298s does not register any offenses 298s when dependency is separated by multiline comment 298s with TreatCommentsAsGroupSeparators: true 298s accepts 298s with TreatCommentsAsGroupSeparators: false 298s registers an offense 298s when gems are not alphabetically sorted 298s registers an offense 298s When using a local variable in an argument of dependent gem 298s does not register any offenses 298s when different dependencies are consecutive 298s does not register any offenses 298s behaves like ordered dependency 298s when add_development_dependency 298s When gems are alphabetically sorted 298s does not register any offenses 298s when each individual group of line is sorted 298s does not register any offenses 298s when dependency is separated by multiline comment 298s with TreatCommentsAsGroupSeparators: true 298s accepts 298s with TreatCommentsAsGroupSeparators: false 298s registers an offense 298s when gems are not alphabetically sorted 298s registers an offense 298s 298s RuboCop::Cop::Security::CompoundHash 298s does not register an offense when delegating to Array#hash 298s registers an offense when using XOR involving super 298s registers an offense when using XOR operator in the implementation of a dynamic hash singleton method 298s registers an offense when using XOR operator in the implementation of a dynamic hash method 298s registers an offense when using XOR operator in the implementation of the hash method 298s registers an offense when using addition assignment operator in the implementation of the hash method 298s registers an offense when using XOR operator in the implementation of the hash method, even if intermediate variable is used 298s registers an offense when using multiplication assignment operator in the implementation of the hash method 298s registers an offense when using XOR operator in the implementation of the hash singleton method 298s registers an offense when using addition in the implementation of the hash method 298s registers an offense when using multiplication in the implementation of the hash method 298s registers an offense when using bitshift and OR 298s registers an offense when using XOR operator in the implementation of the hash method, even without sub-calls to hash 298s registers an offense when using XOR and bitshifts 298s registers an offense when using XOR between an array hash and a class 298s registers an offense when delegating to Array#hash for a single value 298s registers an offense for complex usage 298s registers an offense if .hash is called on any elements of a hashed array 298s does not register an offense when delegating to a single object 298s registers an offense when using XOR assignment operator in the implementation of the hash method 298s 298s RuboCop::Cop::Lint::NumberConversion 298s AllowedPatterns 298s registers an offense for other methods 298s does not register an offense for an allowed method 298s to_method in symbol form 298s registers offense with try 298s registers offense and autocorrects without parentheses 298s does not register an offense when using `Complex` constructor 298s does not register an offense when using `Integer` constructor 298s registers offense with send 298s registers offense and autocorrects 298s does not register an offense when using `Float` constructor 298s registers an offense when using nested number conversion methods 298s registers an offense 298s when using `#to_f` 298s when using `#to_i` for number literals 298s when using `#to_f` for number literals 298s when using `#to_r` for number literals 298s when `#to_i` called on a variable 298s when `#to_i` called on a variable on a array 298s when using `#to_r` 298s when using `#to_c` 298s when `#to_i` called on a hash value 298s when `#to_i` called on a variable on a hash 298s when using `#to_i` 298s when using `#to_c` for number literals 298s IgnoredClasses 298s when using Time/DateTime with multiple method calls 298s when using Time 298s when using DateTime 298s AllowedMethods 298s does not register an offense for an allowed method 298s registers an offense for other methods 298s does not register an offense 298s when `#to_i` called without a receiver 298s when `:to_f` is one of multiple method arguments 298s when using Float() 298s when using Complex() 298s when using Integer() with integer 298s 298s RuboCop::Cop::Corrector 298s #rewrite 298s allows replacement of a range 298s accepts a node instead of a range 298s allows removal of characters from range beginning 298s allows insertion after a source range 298s allows insertion before a source range 298s allows insertion before and after a source range 298s allows removal of a range 298s allows removal of characters from range ending 298s raises a useful error if not given a node or a range 298s allows removal of characters preceding range 298s when range is from incorrect source 298s raises exception from insert_before 298s raises exception from remove_preceding 298s raises exception from remove_leading 298s raises exception from replace 298s raises exception from remove 298s raises exception from insert_after 298s raises exception from remove_trailing 298s 298s RuboCop::Cop::Lint::DuplicateBranch 298s does not register an offense when `case` has no duplicate branches 298s registers an offense when `case` has duplicate `when` branch 298s does not register an offense when ternary has no duplicate branches 298s does not register an offense for simple `unless` without other branches 298s registers an offense when ternary has duplicate branches 298s does not register an offense when `unless` has no duplicate branches 298s registers an offense when `rescue` has duplicate `else` branch 298s registers an offense when `if` has duplicate `else` branch 298s does not register an offense for empty `unless` 298s registers an offense when `rescue` has duplicate `resbody` branch 298s registers an offense when `case` has multiple duplicate branches 298s registers an offense when `unless` has duplicate `else` branch 298s registers an offense when `if` has duplicate `elsif` branch 298s registers an offense when `case` has duplicate `else` branch 298s registers an offense when `rescue` has multiple duplicate `resbody` branches 298s does not register an offense when `rescue` has no duplicate branches 298s does not register an offense when `if` has no duplicate branches 298s does not register an offense for modifier `unless` 298s registers an offense when `if` has multiple duplicate branches 298s does not register an offense for modifier `if` 298s does not register an offense for empty `if` 298s does not register an offense for simple `if` without other branches 298s with IgnoreConstantBranches: true 298s with `case` 298s behaves like literal case disallowed 298s when returning a object in multiple branches 298s registers an offense 298s behaves like literal case allowed 298s when returning a constant in multiple branches 298s allows branches to be duplicated 298s with `case-match` 298s behaves like literal case-match allowed 298s when returning a constant in multiple branches 298s allows branches to be duplicated 298s behaves like literal case-match disallowed 298s when returning a object in multiple branches 298s registers an offense 298s with `if` 298s behaves like literal if allowed 298s when returning a constant in multiple branches 298s allows branches to be duplicated 298s behaves like literal if disallowed 298s when returning a object in multiple branches 298s registers an offense 298s with `rescue` 298s behaves like literal rescue allowed 298s when returning a constant in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue disallowed 298s when returning a object in multiple branches 298s registers an offense 298s with IgnoreLiteralBranches: true 298s with `case` 298s behaves like literal case allowed 298s when returning a false in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a simple irange in multiple branches 298s allows branches to be duplicated 298s behaves like literal case disallowed 298s when returning a dsym in multiple branches 298s registers an offense 298s behaves like literal case disallowed 298s when returning a dstr in multiple branches 298s registers an offense 298s behaves like literal case allowed 298s when returning a regexp with modifier in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a nil in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a regexp in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a complex in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a true in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a float in multiple branches 298s allows branches to be duplicated 298s behaves like literal case disallowed 298s when returning a xstr in multiple branches 298s registers an offense 298s behaves like literal case allowed 298s when returning a hash of literals in multiple branches 298s allows branches to be duplicated 298s behaves like literal case disallowed 298s when returning a variable in multiple branches 298s registers an offense 298s behaves like literal case allowed 298s when returning a empty array in multiple branches 298s allows branches to be duplicated 298s behaves like literal case disallowed 298s when returning a complex irange in multiple branches 298s registers an offense 298s behaves like literal case allowed 298s when returning a integer in multiple branches 298s allows branches to be duplicated 298s behaves like literal case disallowed 298s when returning a complex regexp in multiple branches 298s registers an offense 298s and IgnoreConstBranches: true 298s behaves like literal case allowed 298s when returning a hash of constants in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a array of constants in multiple branches 298s allows branches to be duplicated 298s behaves like literal case disallowed 298s when returning a method call in multiple branches 298s registers an offense 298s behaves like literal case disallowed 298s when returning a complex erange in multiple branches 298s registers an offense 298s behaves like literal case disallowed 298s when returning a complex array in multiple branches 298s registers an offense 298s behaves like literal case disallowed 298s when returning a complex hash in multiple branches 298s registers an offense 298s behaves like literal case allowed 298s when returning a simple erange in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a string in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a array of literals in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a empty hash in multiple branches 298s allows branches to be duplicated 298s and IgnoreConstBranches: false 298s behaves like literal case disallowed 298s when returning a array of constants in multiple branches 298s registers an offense 298s behaves like literal case disallowed 298s when returning a hash of constants in multiple branches 298s registers an offense 298s behaves like literal case allowed 298s when returning a symbol in multiple branches 298s allows branches to be duplicated 298s behaves like literal case allowed 298s when returning a rational in multiple branches 298s allows branches to be duplicated 298s with `rescue` 298s behaves like literal rescue allowed 298s when returning a float in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a false in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a simple erange in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a true in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue disallowed 298s when returning a complex regexp in multiple branches 298s registers an offense 298s behaves like literal rescue disallowed 298s when returning a complex irange in multiple branches 298s registers an offense 298s behaves like literal rescue disallowed 298s when returning a method call in multiple branches 298s registers an offense 298s and IgnoreConstBranches: true 298s behaves like literal rescue allowed 298s when returning a array of constants in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a hash of constants in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a empty hash in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue disallowed 298s when returning a xstr in multiple branches 298s registers an offense 298s behaves like literal rescue allowed 298s when returning a regexp with modifier in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue disallowed 298s when returning a dstr in multiple branches 298s registers an offense 298s behaves like literal rescue allowed 298s when returning a simple irange in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue disallowed 298s when returning a complex erange in multiple branches 298s registers an offense 298s behaves like literal rescue allowed 298s when returning a array of literals in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a nil in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a empty array in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a rational in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a symbol in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a hash of literals in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue allowed 298s when returning a string in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue disallowed 298s when returning a complex array in multiple branches 298s registers an offense 298s behaves like literal rescue allowed 298s when returning a complex in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue disallowed 298s when returning a complex hash in multiple branches 298s registers an offense 298s behaves like literal rescue disallowed 298s when returning a dsym in multiple branches 298s registers an offense 298s behaves like literal rescue allowed 298s when returning a regexp in multiple branches 298s allows branches to be duplicated 298s and IgnoreConstBranches: false 298s behaves like literal rescue disallowed 298s when returning a hash of constants in multiple branches 298s registers an offense 298s behaves like literal rescue disallowed 298s when returning a array of constants in multiple branches 298s registers an offense 298s behaves like literal rescue allowed 298s when returning a integer in multiple branches 298s allows branches to be duplicated 298s behaves like literal rescue disallowed 298s when returning a variable in multiple branches 298s registers an offense 298s with `if` 298s behaves like literal if allowed 298s when returning a complex in multiple branches 298s allows branches to be duplicated 298s behaves like literal if disallowed 298s when returning a complex array in multiple branches 298s registers an offense 298s behaves like literal if allowed 298s when returning a float in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a empty array in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a integer in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a rational in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a regexp with modifier in multiple branches 298s allows branches to be duplicated 298s behaves like literal if disallowed 298s when returning a complex hash in multiple branches 298s registers an offense 298s and IgnoreConstBranches: false 298s behaves like literal if disallowed 298s when returning a hash of constants in multiple branches 298s registers an offense 298s behaves like literal if disallowed 298s when returning a array of constants in multiple branches 298s registers an offense 298s behaves like literal if disallowed 298s when returning a complex erange in multiple branches 298s registers an offense 298s behaves like literal if disallowed 298s when returning a complex irange in multiple branches 298s registers an offense 298s behaves like literal if disallowed 298s when returning a dstr in multiple branches 298s registers an offense 298s behaves like literal if allowed 298s when returning a simple irange in multiple branches 298s allows branches to be duplicated 298s behaves like literal if disallowed 298s when returning a variable in multiple branches 298s registers an offense 298s behaves like literal if allowed 298s when returning a array of literals in multiple branches 298s allows branches to be duplicated 298s behaves like literal if disallowed 298s when returning a complex regexp in multiple branches 298s registers an offense 298s behaves like literal if disallowed 298s when returning a method call in multiple branches 298s registers an offense 298s behaves like literal if allowed 298s when returning a nil in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a empty hash in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a regexp in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a string in multiple branches 298s allows branches to be duplicated 298s behaves like literal if disallowed 298s when returning a dsym in multiple branches 298s registers an offense 298s behaves like literal if allowed 298s when returning a simple erange in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a true in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a false in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a symbol in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a hash of literals in multiple branches 298s allows branches to be duplicated 298s and IgnoreConstBranches: true 298s behaves like literal if allowed 298s when returning a hash of constants in multiple branches 298s allows branches to be duplicated 298s behaves like literal if allowed 298s when returning a array of constants in multiple branches 298s allows branches to be duplicated 298s behaves like literal if disallowed 298s when returning a xstr in multiple branches 298s registers an offense 298s 298s RuboCop::Cop::Style::StringChars 298s registers and corrects an offense when using `split("")` 298s registers and corrects an offense when using `split(//)` 298s registers and corrects an offense when using `split` without parentheses 298s does not register an offense when using `split(/ /)` 298s does not register an offense when using `split` 298s does not register an offense when using `chars` 298s registers and corrects an offense when using `split('')` 298s 298s RuboCop::Cop::Style::HashEachMethods 298s when node matches a keys#each or values#each 298s when receiver is a send 298s registers offense, autocorrects foo#keys.each to foo#each_key with a symbol proc argument 298s registers offense, autocorrects foo#values.each to foo#each_value with a symbol proc argument 299s does not register an offense for foo#each_key 299s does not register an offense for Hash#each_value 299s registers offense, autocorrects foo#values.each to foo#each_value 299s registers offense, autocorrects foo#keys.each to foo#each_key 299s Ruby 2.7 299s registers offense, autocorrects foo#keys.each to foo#each_key with numblock 299s when receiver is a hash literal 299s registers offense, autocorrects {}#values.each with {}#each_value 299s does not register an offense for {}#each_value 299s registers offense, autocorrects {}#keys.each to {}#each_key with a symbol proc argument 299s registers offense, autocorrects {}#keys.each with {}#each_key 299s registers offense, autocorrects {}#values.each to {}#each_value with a symbol proc argument 299s does not register an offense for {}#each_key 299s when `AllowedReceivers: ['execute']` 299s does not register an offense when receiver is `execute` variable 299s registers an offense when receiver is not allowed name 299s does not register an offense when receiver is `execute` method 299s does not register an offense when receiver is `execute` method with a symbol proc argument 299s when receiver is implicit 299s does not register an offense for `keys.each` with a symbol proc argument 299s does not register an offense for `values.each` with a symbol proc argument 299s does not register an offense for `values.each` 299s does not register an offense for `keys.each` 299s does not register an offense for each_key 299s does not register an offense for each_value 299s 299s RuboCop::Cop::Lint::FlipFlop 299s registers an offense for inclusive flip-flops 299s registers an offense for exclusive flip-flops 299s 299s RuboCop::Cop::Layout::ClosingParenthesisIndentation 299s accepts begin nodes that are not grouped expressions 299s for grouped expressions 299s with no line break before 1st operand 299s accepts a correctly aligned ) 299s registers an offense for misaligned ) 299s accepts ) that does not begin its line 299s with line break before 1st operand 299s accepts a correctly aligned ) 299s registers an offense for misaligned ) 299s for method assignments with indented parameters 299s with no line break before 1st parameter 299s registers an offense for misaligned ) 299s accepts a correctly aligned ) 299s can handle inner method calls 299s can handle hash arguments that are not broken over lines 299s can handle individual arguments that are broken over lines 299s can handle indentation up against the left edge 299s accepts a correctly indented ) 299s without arguments 299s accepts empty () 299s accepts a correctly aligned ) against ( 299s registers an offense for misaligned ) 299s can handle indentation up against the method 299s can handle indentation up against the left edge 299s with line break before 1st parameter 299s registers an offense for misaligned ) 299s accepts a correctly aligned ) 299s for method calls 299s with first multiline arg on new line 299s accepts ) on the same level as ( with args on same line 299s accepts ) on the same level as ( with second arg on new line 299s without arguments 299s accepts a correctly aligned ) against ( 299s accepts empty () 299s can handle indentation up against the left edge 299s with line break before 1st parameter 299s accepts a correctly aligned ) 299s registers an offense for misaligned ) 299s with no line break before 1st parameter 299s accepts a correctly aligned ) 299s accepts a correctly indented ) inside a block 299s registers an offense and corrects misindented ) when ) is aligned with the params 299s accepts a correctly indented ) 299s does not register an offense when using keyword arguments 299s registers an offense for misaligned ) 299s for method chains 299s registers an offense and corrects method chains 299s can handle multiple chains with differing breaks 299s when using safe navigation operator 299s registers an offense and corrects misaligned ) 299s for method definitions 299s with no line break before 1st parameter 299s accepts a correctly aligned ) 299s accepts empty () 299s registers an offense for misaligned ) 299s with line break before 1st parameter 299s accepts a correctly aligned ) 299s registers an offense for misaligned ) 299s 299s RuboCop::Cop::Lint::FloatComparison 299s registers an offense when comparing with float method that can return numeric and returns float 299s registers an offense when comparing with float 299s registers an offense when comparing with arightmetic operator on floats 299s does not register an offense when comparing with float using epsilon 299s registers an offense when comparing with float returning method 299s does not register an offense when comparing with float method that can return numeric and returns integer 299s registers an offense when comparing with method on float receiver 299s 299s RuboCop::Cop::Lint::DuplicateHashKey 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `%r{abx#{foo}}ixo` hash keys 299s when there are two duplicated keys in a hash 299s registers two offenses 299s behaves like duplicated literal key 299s registers an offense for duplicated `!true` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `1` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `(x == false)` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `some_method_call` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `{ :a => 1, :b => 2 }` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `/./` hash keys 299s when there is a duplicated key in the hash literal 299s registers an offense 299s When there is no duplicated key in the hash 299s does not register an offense 299s behaves like duplicated literal key 299s registers an offense for duplicated `nil` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `(false <=> true)` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `(1)` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `{ a: 1, b: 2 }` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `'str'` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `some_method_call(x, y)` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `/.#{some_method_call}/` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `[1, 2, 3]` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `(x && false)` hash keys 299s When a key is duplicated three times in a hash literal 299s registers two offenses 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `{ :sym => some_method_call }` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `[some_method_call]` hash keys 299s target ruby version >= 2.6 299s behaves like duplicated literal key 299s registers an offense for duplicated `(42..)` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `(false or true)` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `1.0` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `"#{2}"` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `(false && true)` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `(x or false)` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `{ some_method_call => :sym }` hash keys 299s behaves like duplicated non literal key 299s does not register an offense for duplicated `"#{some_method_call}"` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `%r{abx}ixo` hash keys 299s behaves like duplicated literal key 299s registers an offense for duplicated `false` hash keys 299s 299s RuboCop::Cop::Style::ExpandPathArguments 299s registers an offense when using `Pathname(__FILE__).parent.expand_path` 299s does not register an offense when using `File.expand_path(path, __FILE__)` 299s registers an offense when using `::File.expand_path('./../..', __FILE__)` 299s does not register an offense when using `File.expand_path(__dir__)` 299s does not register an offense when using `File.expand_path("#{path_to_file}.png", __FILE__)` 299s registers an offense when using `::Pathname.new(__FILE__).parent.expand_path` 299s registers an offense when using `File.expand_path('../../lib', __FILE__)` 299s registers an offense when using `File.expand_path('.', __FILE__)` 299s registers an offense when using `File.expand_path('..', __FILE__)` 299s does not register an offense when using `Pathname(__dir__).expand_path` 299s registers an offense when using `File.expand_path('./../..', __FILE__)` 299s does not register an offense when using `File.expand_path('..', __dir__)` 299s registers an offense when using `Pathname.new(__FILE__).parent.expand_path` 299s registers an offense when using `File.expand_path('../../..', __FILE__)` 299s registers an offense when using `File.expand_path('../..', __FILE__)` 299s does not register an offense when using `File.expand_path(__FILE__)` 299s 299s RuboCop::Cop::Style::EmptyLambdaParameter 299s accepts a keyword lambda 299s registers an offense for an empty block parameter with a lambda 299s does not crash on a super 299s 299s RuboCop::Cop::AnnotationComment 299s #correct? 299s when there is duplication in the keywords 299s when the longer keyword is given first 299s behaves like correct 299s is expected to be truthy 299s behaves like incorrect 299s is expected to be falsey 299s behaves like correct 299s is expected to be truthy 299s behaves like incorrect 299s is expected to be falsey 299s when the shorter keyword is given first 299s behaves like incorrect 299s is expected to be falsey 299s behaves like correct 299s is expected to be truthy 299s behaves like correct 299s is expected to be truthy 299s behaves like incorrect 299s is expected to be falsey 299s when a colon is required 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like correct 299s is expected to be truthy 299s behaves like correct 299s is expected to be truthy 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like correct 299s is expected to be truthy 299s behaves like incorrect 299s is expected to be falsey 299s when no colon is required 299s behaves like correct 299s is expected to be truthy 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like correct 299s is expected to be truthy 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like correct 299s is expected to be truthy 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s behaves like incorrect 299s is expected to be falsey 299s #annotation? 299s when the keyword is not capitalized properly 299s is expected to equal true 299s when given as the first word of a sentence 299s is expected to be falsey 299s when given a keyword followed by a colon 299s is expected to equal true 299s when given a keyword followed by a space 299s is expected to equal true 299s when it includes a keyword 299s is expected to be falsey 299s when the keyword is multiple words 299s is expected to equal true 299s when annotated with a non keyword 299s is expected to be falsey 299s 299s RuboCop::Cop::Style::KeywordParametersOrder 299s registers an offense and corrects when multiple `kwoptarg`s are interleaved with `kwarg`sand last argument is `kwrestarg` and argument parentheses omitted 299s does not register an offense when there are no `kwoptarg`s before `kwarg`s 299s registers an offense and corrects when multiple `kwoptarg` are before `kwarg` and argument parentheses omitted 299s registers an offense and corrects when `kwoptarg` is before `kwarg` 299s registers an offense and corrects when multiple `kwoptarg`s are interleaved with `kwarg`s 299s registers an offense and corrects when `kwoptarg` is before `kwarg` and argument parentheses omitted 299s registers an offense and corrects when multiple `kwoptarg`s are interleaved with `kwarg`sand last argument is `blockarg` and argument parentheses omitted 299s when using block keyword parameters 299s registers an offense and corrects when `kwoptarg` is before `kwarg` 299s does not register an offense when there are no `kwoptarg`s before `kwarg`s 299s 299s RuboCop::Cop::Style::TrailingBodyOnMethodDefinition 299s registers when body starts on def line & continues many more lines 299s does not register offense with trailing body on method end 299s registers when body starts on def line & continues one more line 299s accepts a method with one line of body 299s removes semicolon from method definition but not body when autocorrecting 299s accepts a method with multiple lines of body 299s autocorrects body with method definition with args not in parens 299s registers an offense when body trails after method definition 299s autocorrects with comment after body 299s when method is not on first line of processed_source 299s autocorrects offense 299s Ruby 3.0 or higher 299s does not register offense when endless method definition body is after newline in opening parenthesis 299s 299s RuboCop::Cop::Lint::UnmodifiedReduceAccumulator 299s behaves like reduce/inject 299s does not affect inject called with no block args 299s does not affect inject called without a block 299s given a inject block 299s does not register an offense when returning a method called on the accumulator 299s does not register an offense with the accumulator in interpolation 299s does not register an offense when calling a method on the accumulator with the element 299s does not register an offense if the return value cannot be determined 299s registers an offense with the element in interpolation 299s allows break with no value 299s does not register an offense when returning accumulator[element] 299s does not register an offense with the accumulator in heredoc 299s registers an offense when mutating the accumulator with the element but not returning it 299s registers an offense for values returned with `break` 299s registers an offense for every violating return value 299s does not register an offense when and-assigning the accumulator 299s registers an offense for values returned with `next` 299s registers an offense when returning an index setter on the accumulator 299s registers an offense with the element in heredoc 299s does not look inside inner blocks 299s does not register an offense when returning the accumulator in a boolean statement 299s registers an offense when called with no argument 299s does not register an offense when comparing 299s registers an offense when returning an expression with the element 299s registers an offense when returning the element 299s does not register an offense when or-assigning the accumulator 299s does not register an offense when returning a method called with the accumulator 299s does not register an offense when assigning the accumulator 299s does not register an offense when mutating the element with the another value 299s registers an offense when returning accumulator[element]= 299s allows the element to be the return value if the accumulator is returned in any branch 299s does not register an offense when op-assigning the accumulator 299s does not register an offense when returning the accumulator in an expression 299s does not register an offense when returning a literal 299s does not register an offense when shovelling the accumulator 299s registers an offense when returning an index of the accumulator 299s does not register an offense when mutating the element with the accumulator 299s does not register an offense when returning the accumulator 299s argument count 299s ignores when there are not enough block arguments 299s ignores when there is a splat argument 299s registers an offense when there are more than two arguments but the element is returned 299s numblocks 299s does not register an offense when when returning the accumulator 299s registers an offense when returning the element 299s behaves like reduce/inject 299s does not affect reduce called with no block args 299s does not affect reduce called without a block 299s given a reduce block 299s does not register an offense when returning the accumulator in an expression 299s registers an offense when mutating the accumulator with the element but not returning it 299s does not register an offense when shovelling the accumulator 299s does not register an offense when calling a method on the accumulator with the element 299s allows break with no value 299s does not register an offense when returning the accumulator 299s registers an offense with the element in heredoc 299s registers an offense for values returned with `next` 299s registers an offense when returning an index setter on the accumulator 299s does not register an offense when returning the accumulator in a boolean statement 299s registers an offense when returning an index of the accumulator 299s does not register an offense with the accumulator in interpolation 299s allows the element to be the return value if the accumulator is returned in any branch 299s registers an offense with the element in interpolation 299s does not register an offense when or-assigning the accumulator 299s registers an offense when called with no argument 299s does not register an offense when mutating the element with the accumulator 299s registers an offense when returning an expression with the element 299s does not register an offense when mutating the element with the another value 299s registers an offense for values returned with `break` 299s does not register an offense if the return value cannot be determined 299s does not look inside inner blocks 299s does not register an offense when assigning the accumulator 299s registers an offense when returning the element 299s does not register an offense when returning a method called on the accumulator 299s does not register an offense with the accumulator in heredoc 299s does not register an offense when and-assigning the accumulator 299s does not register an offense when returning accumulator[element] 299s registers an offense when returning accumulator[element]= 299s does not register an offense when op-assigning the accumulator 299s does not register an offense when returning a method called with the accumulator 299s does not register an offense when returning a literal 299s registers an offense for every violating return value 299s does not register an offense when comparing 299s numblocks 299s registers an offense when returning the element 299s does not register an offense when when returning the accumulator 299s argument count 299s ignores when there is a splat argument 300s registers an offense when there are more than two arguments but the element is returned 300s ignores when there are not enough block arguments 300s 300s RuboCop::Cop::Style::HashExcept 300s does not register an offense when using `select` and comparing with `:key == lvar` 300s does not register an offense when using `select` and comparing with `lvar == :key` 300s does not register an offense when using `reject` and comparing with `lvar != :key` 300s does not register an offense when using `reject` and `include?` 300s does not register an offense when using `reject` and comparing with `:key != lvar` 300s does not register an offense when using `Hash#except` 300s does not register an offense when not using key block argument` 300s does not register an offense when not using block` 300s Ruby 3.0 or higher 300s does not register an offense when using `delete_if` and comparing with `lvar == :sym` 300s does not register an offense when using `keep_if` and comparing with `lvar != :sym` 300s registers and corrects an offense when using `reject` and comparing with `lvar == 'str'` 300s registers and corrects an offense when using `reject` and comparing with `lvar == :sym` 300s does not register an offense when comparing with hash value 300s registers and corrects an offense when using `reject` and comparing with `:sym == lvar` 300s does not register an offense when using `reject` and other than comparison by string and symbol using `==` 300s registers and corrects an offense when using `select` and comparing with `:sym != lvar` 300s registers and corrects an offense when using `select` and comparing with `lvar != :sym` 300s registers and corrects an offense when using `filter` and comparing with `lvar != :sym` 300s registers and corrects an offense when using `reject` and other than comparison by string and symbol using `eql?` 300s using `exclude?` 300s does not register offenses when using `reject` and calling `!exclude?` method with symbol array 300s when `AllCops/ActiveSupportExtensionsEnabled: true` 300s does not register an offense when using `keep_if` and comparing with `lvar != :sym` 300s does not register an offense when comparing with hash value 300s does not register an offense when using `reject` and other than comparison by string and symbol using `==` 300s registers and corrects an offense when using `reject` and comparing with `:sym == lvar` 300s registers and corrects an offense when using `reject` and other than comparison by string and symbol using `eql?` 300s registers and corrects an offense when using `filter` and comparing with `lvar != :sym` 300s registers and corrects an offense when using `select` and comparing with `lvar != :sym` 300s does not register an offense when using `delete_if` and comparing with `lvar == :sym` 300s registers and corrects an offense when using `reject` and comparing with `lvar == 'str'` 300s registers and corrects an offense when using `select` and comparing with `:sym != lvar` 300s registers and corrects an offense when using `reject` and comparing with `lvar == :sym` 300s using `exclude?` 300s does not register an offense when using `reject` and calling `exclude?` method with symbol array and second block value 300s registers and corrects an offense when using `reject` and calling `!exclude?` method with variable 300s registers and corrects an offense when using `reject` and calling `!exclude?` method with dynamic string array 300s registers and corrects an offense when using `filter` and calling `exclude?` method with symbol array 300s registers and corrects an offense when using `reject` and calling `!exclude?` method with symbol array 300s registers and corrects an offense when using `select` and calling `exclude?` method with symbol array 300s registers and corrects an offense when using `reject` and calling `!exclude?` method with dynamic symbol array 300s registers and corrects an offense when using `reject` and calling `!exclude?` method with method call 300s using `in?` 300s registers and corrects an offense when using `filter` and calling `!key.in?` method with symbol array 300s registers and corrects an offense when using `select` and calling `!key.in?` method with symbol array 300s registers and corrects an offense when using `reject` and calling `key.in?` method with method call 300s registers and corrects an offense when using `reject` and calling `key.in?` method with dynamic symbol array 300s registers and corrects an offense when using `reject` and calling `key.in?` method with variable 300s registers and corrects an offense when using `reject` and calling `key.in?` method with symbol array 300s does not register an offense when using `reject` and calling `in?` method with symbol array and second block value 300s registers and corrects an offense when using `reject` and calling `key.in?` method with dynamic string array 300s using `include?` 300s registers and corrects an offense when using `filter` and calling `!include?` method with symbol array 300s registers and corrects an offense when using `reject` and calling `include?` method with method call 300s registers and corrects an offense when using `reject` and calling `include?` method with dynamic symbol array 300s registers and corrects an offense when using `select` and calling `!include?` method with symbol array 300s registers and corrects an offense when using `reject` and calling `include?` method with dynamic string array 300s registers and corrects an offense when using `reject` and calling `include?` method with variable 300s registers and corrects an offense when using `reject` and calling `include?` method with symbol array 300s using `in?` 300s does not register offenses when using `reject` and calling `key.in?` method with symbol array 300s using `include?` 300s does not register an offense when using `reject` and calling `include?` method with symbol array and second block value 300s registers and corrects an offense when using `reject` and calling `include?` method with method call 300s registers and corrects an offense when using `filter` and calling `!include?` method with symbol array 300s registers and corrects an offense when using `select` and calling `!include?` method with symbol array 300s registers and corrects an offense when using `reject` and calling `include?` method with variable 300s registers and corrects an offense when using `reject` and calling `include?` method with dynamic string array 300s registers and corrects an offense when using `reject` and calling `include?` method with dynamic symbol array 300s registers and corrects an offense when using `reject` and calling `include?` method with symbol array 300s Ruby 2.7 or lower 300s does not register an offense when using `reject` and comparing with `lvar == :key` 300s does not register an offense when using `select` and comparing with `:key != lvar` 300s does not register an offense when using `select` and comparing with `lvar != :key` 300s does not register an offense when using `reject` and comparing with `:key == lvar` 300s 300s RuboCop::Cop::Lint::ToJSON 300s registers an offense and corrects using `#to_json` without arguments 300s does not register an offense when using `#to_json` with arguments 300s 300s RuboCop::Cop::Lint::DuplicateMagicComment 300s registers an offense when frozen magic comments are duplicated 300s does not register an offense when encoding and frozen magic comments are not duplicated 300s registers an offense when encoding and frozen magic comments are duplicated 300s registers an offense when different encoding magic comments are duplicated 300s does not register an offense when encoding magic comments are not duplicated 300s does not register an offense when frozen magic comments are not duplicated 300s registers an offense when same encoding magic comments are duplicated 300s 300s RuboCop::Cop::Style::UnpackFirst 300s ruby version >= 2.4 300s registers offense 300s when using `#unpack` with dot and square brackets 300s when using `#unpack` with `#slice` 300s when using `#unpack` with `#first` 300s when using `#unpack` with square brackets 300s when using `#unpack` with `#at` 300s does not register offense 300s when using `#unpack1` 300s when using `#unpack` accessing second element 300s 300s RuboCop::Cop::Layout::FirstParameterIndentation 300s align_parentheses style 300s no paren method defs 300s ignores 300s ignores with hash args 300s single line method defs 300s ignores 300s ignores with hash args 300s valid indentation on multi-line defs 300s accepts correctly indented first element hash 300s accepts correctly indented first element 300s invalid indentation on multi-line defs 300s normal arguments 300s registers an offense and corrects incorrectly indented first element 300s hash arguments static def 300s registers an offense and corrects incorrectly indented first element 300s hash arguments 300s registers an offense and corrects incorrectly indented first element 300s consistent style 300s no paren method defs 300s ignores with hash args 300s ignores 300s valid indentation on static multi-line defs 300s accepts correctly indented first element hash 300s accepts correctly indented first element 300s invalid indentation on multi-line defs 300s normal arguments 300s registers an offense and corrects incorrectly indented first element 300s hash arguments static method def 300s registers an offense and corrects incorrectly indented first element 300s hash arguments 300s registers an offense and corrects incorrectly indented first element 300s valid indentation on multi-line defs 300s accepts correctly indented first element 300s accepts correctly indented first element hash 300s single line method defs 300s ignores 300s ignores with hash args 300s 300s RuboCop::Cop::Lint::EmptyEnsure 300s registers an offense and corrects empty ensure 300s does not register an offense for non-empty ensure 300s 300s RuboCop::Cop::Style::SingleLineMethods 300s autocorrects def with argument in parentheses 300s autocorrects defs with parentheses after method name 300s autocorrects def with semicolon after method name 300s autocorrects def with semicolon before end 300s registers an offense for a single-line method 300s autocorrects def with argument and no parentheses 300s does not crash on an method with a capitalized name 300s accepts a multi-line method 300s registers an offense for a single-line method and method body is enclosed in parentheses 300s when `Style/EndlessMethod` is enabled 300s prior to ruby 3.0 300s corrects to a multiline method 300s with `allow_always` style 300s behaves like convert to endless method 300s does not add parens if they are already present 300s corrects to an endless class method definition when using == 300s corrects to an endless class method definition 300s retains comments 300s corrects to an endless method definition when single line method call without parentheses 300s corrects to an endless method definition when method body is a literal 300s corrects to an endless class method definition when using > 300s does not to an endless class method definition when using `next` 300s corrects to an endless class method definition when using <= 300s corrects to multiline method definition when defining setter method 300s does not to an endless class method definition when using `break` 300s corrects to an endless class method definition when using >= 300s does not to an endless class method definition when using `return` 300s corrects to an endless class method definition when using < 300s corrects to an endless class method definition when using === 300s corrects to an endless class method definition when using != 300s handles arguments properly 300s corrects to an endless method definition 300s corrects to an endless method definition when single line method call with parentheses 300s corrects to a normal method if the method body contains multiple statements 300s with AllowIfMethodIsEmpty: true 300s does not correct 300s with AllowIfMethodIsEmpty: false 300s does not turn a method with no body into an endless method 300s with `allow_single_line` style 300s behaves like convert to endless method 300s corrects to a normal method if the method body contains multiple statements 300s corrects to an endless class method definition when using < 300s corrects to an endless method definition when method body is a literal 300s retains comments 300s corrects to an endless method definition 300s corrects to an endless class method definition when using === 300s corrects to an endless class method definition 300s corrects to an endless class method definition when using > 300s does not add parens if they are already present 300s corrects to an endless method definition when single line method call without parentheses 300s corrects to an endless class method definition when using >= 300s corrects to an endless method definition when single line method call with parentheses 300s corrects to multiline method definition when defining setter method 300s does not to an endless class method definition when using `break` 300s handles arguments properly 300s does not to an endless class method definition when using `next` 300s does not to an endless class method definition when using `return` 300s corrects to an endless class method definition when using != 300s corrects to an endless class method definition when using == 300s corrects to an endless class method definition when using <= 300s with AllowIfMethodIsEmpty: true 300s does not correct 300s with AllowIfMethodIsEmpty: false 300s does not turn a method with no body into an endless method 300s with `disallow` style 300s corrects to an normal method 300s endless methods 300s does not register an offense 300s when AllowIfMethodIsEmpty is disabled 300s registers an offense for an empty method 300s when AllowIfMethodIsEmpty is enabled 300s accepts a single-line empty method 300s when `Style/EndlessMethod` is disabled 300s corrects to an normal method 300s 300s RuboCop::Cop::Style::RedundantArgument 300s does not register an offense when method called with no arguments 300s does not register an offense when method called with no receiver 300s registers an offense and corrects when method called without parenthesis on variable 300s does not register an offense when method called with more than one arguments 300s does not register an offense when method called with different argument 300s registers an offense and corrects when method called on variable 300s registers an offense and corrects when method called without parenthesis on literals 300s registers an offense and corrects when method called on literals 300s works with double-quoted strings when configuration is single-quotes 300s non-builtin method 300s does not register an offense with other argument 300s registers an offense and corrects with configured argument 300s 300s RuboCop::Cop::Layout::EmptyLinesAroundModuleBody 300s when EnforcedStyle is empty_lines 300s accepts modules with an empty body 300s autocorrects beginning and end 300s registers an offense for module body not ending with a blank 300s registers an offense for module body not starting or ending with a blank 300s when EnforcedStyle is empty_lines_special 300s module with empty body 300s with empty line 300s does NOT register offenses 300s without empty line 300s does NOT register offenses 300s when namespace has multiple children 300s requires empty lines for namespace 300s module with only constants 300s registers and autocorrects the offenses 300s when first child is a method 300s requires blank line at the beginning and ending of module body 300s source without blank lines 300s registers an offense for module not beginning and ending with a blank line 300s when module has a namespace 300s requires no empty lines for namespace but requires blank line at the beginning and ending of module body 300s source with blank lines 300s autocorrects the offenses 300s source without blank lines 300s registers and autocorrects the offenses 300s when first child is NOT a method 300s 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 300s source with blank lines 300s registers an offense for module beginning with a blank line 300s source without blank lines 300s registers an offense for module not ending with a blank line 300s when module has a namespace 300s 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 300s source without blank lines 300s registers and autocorrects the offenses 300s source with constants 300s registers and autocorrects the offenses 300s source with blank lines 300s registers and autocorrects the offenses 300s source with comment before method definition 300s registers an offense for module beginning with a blank line 300s when first child is an access modifier 300s with no blank lines at the beginning and ending of module body 300s registers and corrects an offense 300s with blank lines at the beginning and ending of module body 300s registers no offense 300s module with constant and child module 300s registers and autocorrects the offenses 300s when EnforcedStyle is no_empty_lines 300s registers an offense for module body starting with a blank 300s registers an offense for module body ending with a blank 300s autocorrects beginning and end 300s when EnforcedStyle is empty_lines_except_namespace 300s when only child is module 300s requires no empty lines for namespace 300s registers offense for namespace body starting with a blank 300s autocorrects beginning and end 300s registers offenses for namespaced module body not starting with a blank 300s registers offenses for namespaced module body not ending with a blank 300s registers offense for namespace body ending with a blank 300s when has multiple child modules 300s registers offenses for namespace body starting and ending without a blank 300s requires empty lines for namespace 300s when only child is class 300s requires no empty lines for namespace 300s registers offense for namespace body starting with a blank 300s registers offense for namespace body ending with a blank 300s 300s RuboCop::Cop::Generator::RequireFileInjector 300s when using an unknown department 300s inserts a `require_relative` statement to the bottom of the file 300s when a cop of style department already exists 300s injects a `require_relative` statement on the end of style department 300s when a `require` entry already exists 300s does not write to any file 300s when a `require_relative` entry does not exist from before 300s injects a `require_relative` statement on the right line in the root file 300s 300s RuboCop::Cop::Style::TrailingMethodEndStatement 300s does not register on single line no op 300s autocorrects all trailing ends for larger example 300s register offense with trailing end on method with comment 300s register offense with trailing end inside class 300s register offense with trailing end on 3 line method 300s register offense with trailing end on method with block 300s register offense with trailing end on 2 line method 300s does not register on single line method 300s when Ruby 3.0 or higher 300s does not register an offense when endless method definition signature and body are on different lines 300s does not register an offense when using endless method definition 300s 300s RuboCop::Cop::Registry 300s exposes cop departments 300s can filter down to one type 301s exposes a mapping of cop names to cop classes 301s exposes a list of cop names 301s can filter down to all but one type 301s can be cloned 301s exposes the number of stored cops 301s when dismissing a cop class 301s disallows it if done too late 301s allows re-listing 301s allows it if done rapidly 301s names_for_department 301s returns array of cops for specified department 301s #cops 301s exposes a list of cops 301s with cops having the same inner-most module 301s exposes both cops 301s #department? 301s returns false for other names 301s returns true for department name 301s #contains_cop_matching? 301s returns false for cops not included in the store 301s can find cops matching a given name 301s #qualified_cop_name 301s returns the provided name if no namespace is found 301s emits a warning when namespace is incorrect 301s gives back already properly qualified names 301s raises an error when a cop name is ambiguous 301s qualifies names with the correct namespace 301s qualifies names without a namespace 301s #enabled 301s selects cops which are enabled in the config 301s overrides config if :only includes the cop 301s selects only safe cops if :safe passed 301s when new cops are introduced 301s does not include them 301s overrides config if :only includes the cop 301s when specifying `--disable-pending-cops` command-line option 301s does not include them 301s when specifying `NewCops: enable` option in .rubocop.yml 301s does not include them because command-line option takes precedence over .rubocop.yml 301s when specifying `NewCops: pending` option in .rubocop.yml 301s does not include them 301s when specifying `NewCops: enable` option in .rubocop.yml 301s includes them 301s when specifying `NewCops: disable` option in .rubocop.yml 301s does not include them 301s when specifying `--enable-pending-cops` command-line option 301s includes them 301s when specifying `NewCops: disable` option in .rubocop.yml 301s includes them because command-line option takes precedence over .rubocop.yml 301s 301s RuboCop::Cop::Offense 301s has a few required attributes 301s overrides #to_s 301s does not blow up if a message contains % 301s redefines == to compare offenses based on their contents 301s is frozen 301s #severity 301s is frozen 301s #<=> 301s when receiver has {:line=>6, :col=>4} and other has {:line=>5, :col=>5} 301s returns 1 301s when receiver has {:col=>6, :cop=>"A"} and other has {:col=>5, :cop=>"B"} 301s returns 1 301s when receiver has {} and other has {} 301s returns 0 301s when receiver has {:line=>5, :col=>6} and other has {:line=>5, :col=>5} 301s returns 1 301s when receiver has {:cop=>"B"} and other has {:cop=>"A"} 301s returns 1 301s when receiver has {:line=>6, :cop=>"A"} and other has {:line=>5, :cop=>"B"} 301s returns 1 301s when receiver has {:line=>6} and other has {:line=>5} 301s returns 1 301s when unknown severity is passed 301s raises error 301s #cop_name 301s is frozen 301s when the location is pseudo 301s returns the first line 301s returns a column 301s returns a column range 301s returns the last column 301s returns a line 301s returns a column length 301s returns a source line 301s returns the last line 301s returns a location with valid size and length 301s returns a real column 301s #severity_level 301s when severity is :fatal 301s is 6 301s when severity is :info 301s is 1 301s when severity is :refactor 301s is 2 301s #message 301s is frozen 301s offenses that span part of a line 301s highlights the first line 301s offenses that span multiple lines 301s highlights the first line 301s #location 301s is frozen 301s 301s RuboCop::Cop::Style::TrailingCommaInBlockArgs 301s when `->` has multiple arguments 301s does not register an offense 301s curly brace block format 301s does not register an offense when a trailing comma is required 301s does not register an offense for keyword arguments 301s does not register an offense for default arguments 301s does not register an offense when no arguments are present 301s preserves semicolons in block/local variables 301s ignores commas in default argument strings 301s does not register an offense when more than one argument is present with no trailing comma 301s registers an offense when a trailing comma is not needed 301s do/end block format 301s does not register an offense when no arguments are present 301s does not register an offense when a trailing comma is required 301s does not register an offense when more than one argument is present with no trailing comma 301s does not register an offense for keyword arguments 301s preserves semicolons in block/local variables 301s ignores commas in default argument strings 301s does not register an offense for an empty block 301s does not register an offense for default arguments 301s registers an offense when a trailing comma is not needed 301s when `lambda` has multiple arguments 301s registers an offense and corrects when a trailing comma isn't needed 301s does not register an offense when more than one argument is present with no trailing comma 301s 301s RuboCop::Cop::Lint::RaiseException 301s does not register an offense for `fail` without arguments 301s registers an offense and corrects for `raise` with `Exception` and message 301s registers an offense and corrects for `raise` with `::Exception.new` 301s does not register an offense when raising Exception with explicit namespace 301s registers an offense and corrects for `fail` with `Exception` and message 301s registers an offense and corrects for `fail` with `Exception` 301s registers an offense and corrects for `fail` with `Exception.new` and message 301s registers an offense and corrects for `raise` with `::Exception` 301s registers an offense and corrects for `raise` with `Exception` 301s registers an offense and corrects for `raise` with `Exception.new` and message 301s registers an offense and corrects for `raise` with `Exception.new(args*)` 301s does not register an offense for `raise` without arguments 301s registers an offense and corrects for `raise` with `::Exception` and message 301s when under namespace 301s registers an offense and corrects when Exception with cbase specified 301s does not register an offense when Exception without cbase specified 301s 301s RuboCop::Formatter::GitHubActionsFormatter 301s #finished 301s when no offenses are detected 301s does not print anything 301s when offenses are detected 301s reports offenses as errors 301s when message contains % 301s escapes message 301s when file is relative to the current directory 301s reports offenses as error with the relative path 301s when fail level is defined 301s reports offenses below fail level as warnings 301s reports offenses above or at fail level as errors 301s 301s RuboCop::Cop::Lint::ShadowingOuterLocalVariable 301s when a splat block argument has same name as an outer scope variable 301s registers an offense 301s when an outer scope variable is reassigned in a block 301s does not register an offense 301s 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 301s registers an offense 301s when a block argument has a same name starts with "_" as an outer scope variable 301s does not register an offense 301s when a method argument has same name as an outer scope variable 301s does not register an offense 301s with Ractor.new 301s does not register an offense 301s when the same variable name as a block variable is used in return value assignment of `if` 301s does not register an offense 301s when an outer scope variable is referenced in a block 301s does not register an offense 301s when a block local variable has same name as an outer scope variable 301s registers an offense 301s when a block argument has different name with outer scope variables 301s does not register an offense 301s when a block argument has same name as an outer scope variable 301s registers an offense 301s when a block argument has same name "_" as outer scope variable "_" 301s does not register an offense 301s when a block local variable has same name as an outer scope variablewith same branches of same `case` condition node 301s registers an offense 301s when a block local variable has same name as an outer scope variablewith same branches of same nested `if` condition node 301s registers an offense 301s when a block block argument has same name as an outer scope variable 301s registers an offense 301s when a block local variable has same name as an outer scope variablewith same branches of same `unless` condition node 301s registers an offense 301s when a block local variable has same name as an outer scope variablewith different branches of same `case` condition node 301s does not register an offense 301s when a block local variable has same name as an outer scope variablewith same branches of same `if` condition node 301s registers an offense 301s when multiple block arguments have same name "_" 301s does not register an offense 301s when a block local variable has same name as an outer scope variablewith different branches of same `if` condition node 301s does not register an offense 301s when multiple block arguments have a same name starts with "_" 301s does not register an offense 301s when a block local variable has same name as an outer scope variablewith different branches of same `unless` condition node 301s does not register an offense 301s 301s RuboCop::Cop::Style::MultilineMethodSignature 301s when arguments span multiple lines 301s when defining an instance method 301s registers an offense and corrects when `end` is on the following line 301s registers an offense and corrects when `end` is on the same line with only closing parentheses 301s registers an offense and corrects when `end` is on the same line with last argument 301s when defining an class method 301s registers an offense and corrects when `end` is on the same line with only closing parentheses 301s registers an offense and corrects when `end` is on the same line 301s registers an offense and corrects when `end` is on the following line 301s when correction would exceed maximum line length 301s does not register an offense 301s when correction would not exceed maximum line length 301s registers an offense and corrects 301s when arguments span a single line 301s when defining an instance method 301s registers an offense and corrects when closing paren is on the following line 301s registers an offense and corrects when line break after opening parenthesis 301s when method signature is on a single line 301s does not register an offense for parameterized method 301s does not register an offense for unparameterized method 301s when defining an class method 301s when method signature is on a single line 301s does not register an offense for unparameterized method 301s does not register an offense for parameterized method 301s when arguments span a single line 301s registers an offense and corrects when closing paren is on the following line 301s 301s RuboCop::Cop::Style::LambdaCall 301s when style is set to braces 301s accepts a call without receiver 301s registers an offense for x.call() 301s autocorrects x.call asdf, x123 to x.(asdf, x123) 301s autocorrects x.call to x.() 301s registers an offense for opposite + correct 301s registers an offense for correct + multiple opposite styles 301s when style is set to call 301s registers an offense for correct + opposite 301s registers an offense for x.() 301s registers an offense for correct + multiple opposite styles 301s 301s RuboCop::Cop::Style::OptionalArguments 301s allows methods with only required arguments 301s allows methods with only one required argument 301s allows methods with only one optional argument 301s registers an offense when an optional argument is followed by a required argument 301s allows methods without arguments 301s allows methods with multiple optional arguments at the end 301s registers an offense for each optional argument when multiple optional arguments are followed by a required argument 301s allows methods with only optional arguments 301s named params 301s with default values 301s allows optional arguments before an optional named argument 301s required params 301s allows optional arguments to come before a mix of required and optional named argument 301s allows optional arguments before required named arguments 301s registers an offense for optional arguments that come before required arguments where there are name arguments 301s 301s RuboCop::Cop::Lint::RequireRangeParentheses 301s registers an offense when the end of the range (`...`) is line break 301s does not register an offense when the end of the range (`..`) is line break and is enclosed in parentheses 301s registers an offense when the end of the range (`..`) is line break 301s does not register an offense when using `42..nil` 301s does not register an offense when begin and end of the range are on the same line 301s does not register an offense when using `nil..42` 301s Ruby >= 2.7 301s does not register an offense when using beginless range only 301s Ruby >= 2.6 301s does not register an offense when using endless range only 301s 301s RuboCop::Cop::Style::BeginBlock 301s reports an offense for a BEGIN block 301s 301s RuboCop::Cop::Style::MethodCallWithoutArgsParentheses 301s registers an offense for `obj.method += func()` 301s registers an offense for `obj.method ||= func()` 301s registers an offense for `obj.method &&= func()` 301s accepts parentheses for methods starting with an upcase letter 301s accepts special lambda call syntax 301s accepts parens after not 301s autocorrects calls that could be empty literals 301s accepts parens in method call with args 301s registers an offense for parens in method call without args 301s assignment to a variable with the same name 301s accepts parens in parallel assignment 301s accepts parens in local variable assignment 301s accepts parens in shorthand assignment 301s accepts parens in default argument assignment 301s accepts parens in complex assignment 301s when AllowedMethods is enabled 301s ignores method listed in AllowedMethods 301s when AllowedPatterns is enabled 301s ignores method listed in AllowedMethods 301s method call as argument 301s accepts without parens 301s registers an offense with empty parens 301s registers an empty parens offense for multiple assignment 301s 301s RuboCop::Cop::Layout::SpaceAroundMethodCallOperator 301s does not register an offense when no method call operator 301s does not register an offense when using `__ENCODING__` 301s safe navigation operator 301s registers an offense and corrects when space around multiple method call operator 301s registers an offense and corrects when spaces before method call 301s registers an offense and corrects when space after last method call operator 301s does not register an offense when no space around method call 301s registers an offense and corrects when space before method call 301s registers an offense and corrects when spaces around method call 301s registers an offense and corrects when spaces after method call 301s registers an offense and corrects when space before first method call operator 301s registers an offense and corrects when space after method call 301s registers an offense and corrects when space before last method call operator 301s registers an offense and corrects when space after first method call operator 301s registers an offense and corrects when space around intermediate method call operator 301s does not register an offense when no space around any `.` operators 301s when multi line method call 301s does not register an offense when no space after the `&.` 301s registers an offense and corrects when space before method call 301s registers an offense and corrects when space before method call in suffix chaining 301s dot operator 301s registers an offense and corrects when space around intermediate method call operator 301s registers an offense and corrects when spaces after method call 301s registers an offense and corrects when space after last method call operator 301s registers an offense and corrects when space before method call 301s registers an offense and corrects when spaces before method call 301s registers an offense and corrects when space before last method call operator 301s registers an offense and corrects when spaces around method call 301s does not register an offense when no space around method call 301s registers an offense and corrects when space after method call 301s registers an offense and corrects when spaces after `Proc#call` shorthand call 301s registers an offense and corrects when space before first method call operator 301s registers an offense and corrects when space after first method call operator 301s registers an offense and corrects when space around multiple method call operator 301s does not register an offense when no space around any `.` operators 301s when there is a space between `.` operator and a comment 301s does not register an offense when there is not a space before `.` 301s registers an offense when there is a space before `.` 301s when multi line method call 301s does not register an offense when no space after the `.` 301s registers an offense and corrects when space before method call in suffix chaining 301s registers an offense and corrects when space before method call 301s :: operator 301s does not register an offense if no space before `::` operator with assignment 301s registers an offense and corrects when space after last method call operator 301s registers an offense and corrects when space around intermediate method call operator 301s registers an offense and corrects when multiple spaces with assignment 301s registers an offense and corrects when space after method call 301s registers an offense and corrects when space after first operator with assignment 301s registers an offense and corrects when space around multiple method call operator 301s does not register an offense when no space around any `.` operators 301s does not register an offense when no space around method call 301s registers an offense and corrects when spaces after method call 301s does not register an offense if no space with conditionals 301s does not register an offense if no space before `::` operator with inheritance 301s when multi line method call 301s registers an offense and corrects when space before method call 301s does not register an offense when no space after the `::` 301s 301s RuboCop::FeatureLoader 301s .load 301s with dot-prefixed loadable feature 301s loads it as relative path 301s with namespaced feature 301s loads it as namespaced feature 301s with dot-prefixed namespaced feature 301s loads it as namespaced feature 301s with unloadable namespaced feature 301s raises LoadError with preferred message 301s with normally loadable feature 301s loads it normally 301s with unexpected LoadError from require 301s raises LoadError 301s 301s RuboCop::Cop::Metrics::MethodLength 301s accepts a method with multiline arguments and less than 5 lines of body 301s does not count commented lines by default 301s properly counts lines when method ends with block 301s is not fooled by one-liner methods, syntax #1 301s accepts empty methods 301s does not count blank lines 301s is not fooled by one-liner methods, syntax #2 301s accepts a method with less than 5 lines 301s when method is a class method 301s registers an offense 301s when CountComments is enabled 301s also counts commented lines 301s when methods to allow are defined 301s AllowedPatterns is enabled 301s raises offense for firstname 301s accepts the user_name method 301s AllowedMethods is enabled 301s still rejects other methods with more than 5 lines 301s accepts the foo method with more than 5 lines 301s when method is an instance method 301s registers an offense 301s when using numbered parameter 301s when method is defined with `define_method` 301s registers an offense 301s when method is defined with `define_method` 301s registers an offense 301s when method is defined on a singleton class 301s registers an offense 301s when `CountAsOne` is not empty 301s folds array into one line 301s 301s RuboCop::Cop::Style::NilLambda 301s stabby lambda 301s registers an offense when returning nil implicitly 301s registers an offense when returning nil with `break` 301s does not register an offense when not returning nil 301s registers an offense when returning nil with `next` 301s does not register an offense when doing more than returning nil 301s properly corrects multiline 301s registers an offense when returning nil with `return` 301s proc 301s does not register an offense when doing more than returning nil 301s properly corrects single line 301s registers an offense when returning nil with `break` 301s registers an offense when returning nil with `next` 301s registers an offense when returning nil implicitly 301s does not remove block params or change spacing 301s registers an offense when returning nil with `return` 301s does not register an offense when not returning nil 301s Proc.new 301s registers an offense when returning nil implicitly 301s does not register an offense when doing more than returning nil 301s registers an offense when returning nil with `next` 301s does not register an offense when not returning nil 301s does not remove block params or change spacing 301s registers an offense when returning nil with `return` 301s properly corrects single line 301s registers an offense when returning nil with `break` 301s block lambda 302s does not remove block params or change spacing 302s registers an offense when returning nil implicitly 302s registers an offense when returning nil with `return` 302s does not register an offense when not returning nil 302s properly corrects single line 302s registers an offense when returning nil with `next` 302s registers an offense when returning nil with `break` 302s does not register an offense when doing more than returning nil 302s 302s RuboCop::Cop::Style::OrAssignment 302s when using `elsif` statement 302s does not register an offense 302s when using unless var; var = something; end 302s does not register an offense if any of the variables are different 302s registers an offense for normal variables 302s registers an offense for instance variables 302s registers an offense for global variables 302s registers an offense for class variables 302s when using var = something unless var 302s registers an offense for instance variables 302s registers an offense for class variables 302s registers an offense for global variables 302s registers an offense for normal variables 302s does not register an offense if any of the variables are different 302s when using var = var ? var : something 302s registers an offense with global variables 302s does not register an offense if any of the variables are different 302s registers an offense with class variables 302s registers an offense with normal variables 302s registers an offense with instance variables 302s when `then` branch body is empty 302s registers an offense 302s when using var = if var; var; else; something; end 302s registers an offense with instance variables 302s registers an offense with normal variables 302s registers an offense with class variables 302s registers an offense with global variables 302s does not register an offense if any of the variables are different 302s 302s RuboCop::Cop::Style::OperatorMethodCall 302s registers an offense when using `foo.&(bar)` 302s registers an offense when using `foo.~(bar)` 302s registers an offense when chaining `foo.bar.&(baz).round(2)` 302s registers an offense when chaining `foo.bar.>=(baz).round(2)` 302s registers an offense when using `foo.-(bar)` 302s registers an offense when chaining `foo.bar.=~(baz).round(2)` 302s registers an offense when using `foo.<< bar` 302s does not register an offense when using `foo | bar` 302s registers an offense when chaining `foo.bar.!~(baz).round(2)` 302s registers an offense when using `foo.===(bar)` 302s does not register an offense when using `foo < bar` 302s registers an offense when chaining `foo.bar.>(baz).round(2)` 302s registers an offense when using `foo.!= bar` 302s registers an offense when using `foo.==(bar)` 302s does not register an offense when using `foo & bar` 302s registers an offense when using `foo.<<(bar)` 302s does not register an offense when using `foo ** bar` 302s registers an offense when using `foo.<= bar` 302s registers an offense when using `foo.<=>(bar)` 302s registers an offense when using `foo.!(bar)` 302s does not register an offense when using `foo >= bar` 302s registers an offense when using `foo.% bar` 302s registers an offense when using `foo.>(bar)` 302s registers an offense when using `foo.!=(bar)` 302s registers an offense when chaining `foo.bar.<(baz).round(2)` 302s does not register an offense when using `foo << bar` 302s registers an offense when chaining `foo.bar.+(baz).round(2)` 302s registers an offense when using `foo.+(bar)` 302s registers an offense when using `foo.- bar` 302s does not register an offense when using `Foo.+(bar)` 302s registers an offense when using `foo.>> bar` 302s registers an offense when using `foo.== bar` 302s registers an offense when using `foo.>>(bar)` 302s registers an offense when using `foo.^ bar` 302s does not register an offense when using `foo > bar` 302s registers an offense when using `foo.** bar` 302s registers an offense when using `foo.> bar` 302s registers an offense when using `foo.| bar` 302s registers an offense when using `foo.!~(bar)` 302s registers an offense when chaining `foo.bar.<=>(baz).round(2)` 302s does not register an offense when using `foo.+@bar` 302s does not register an offense when using `foo.~@bar` 302s does not register an offense when using `foo.`bar` 302s registers an offense when using `foo.>= bar` 302s registers an offense when chaining `foo.bar.<=(baz).round(2)` 302s does not register an offense when using `foo.-@bar` 302s does not register an offense when using `foo ^ bar` 302s registers an offense when chaining `foo.bar.^(baz).round(2)` 302s registers an offense when using `foo.* bar` 302s registers an offense when chaining `foo.bar./(baz).round(2)` 302s registers an offense when using `foo.< bar` 302s does not register an offense when using `foo =~ bar` 302s does not register an offense when using `foo ~ bar` 302s registers an offense when using `foo.+ bar` 302s registers an offense when using `foo.%(bar)` 302s does not register an offense when using `foo == bar` 302s does not register an offense when using `foo >> bar` 302s registers an offense when using `foo.^(bar)` 302s registers an offense when chaining `foo.bar.|(baz).round(2)` 302s registers an offense when using `foo.<=(bar)` 302s registers an offense when using `foo./(bar)` 302s registers an offense when using `foo.>=(bar)` 302s registers an offense when using `foo.& bar` 302s does not register an offense when using `foo % bar` 302s registers an offense when chaining `foo.bar.-(baz).round(2)` 302s registers an offense when chaining `foo.bar.%(baz).round(2)` 302s does not register an offense when using `foo + bar` 302s registers an offense when using `foo.=== bar` 302s registers an offense when chaining `foo.bar.>>(baz).round(2)` 302s registers an offense when using `foo.!~ bar` 302s registers an offense when using `foo.~ bar` 302s does not register an offense when using `foo * bar` 302s registers an offense when using `foo.|(bar)` 302s does not register an offense when using `foo <= bar` 302s does not register an offense when using `foo != bar` 302s registers an offense when chaining `foo.bar.==(baz).round(2)` 302s registers an offense when using `foo.*(bar)` 302s registers an offense when chaining `foo.bar.!(baz).round(2)` 302s does not register an offense when using `foo / bar` 302s registers an offense when chaining `foo.bar.**(baz).round(2)` 302s registers an offense when using `foo.=~(bar)` 302s registers an offense when chaining `foo.bar.!=(baz).round(2)` 302s does not register an offense when using `foo - bar` 302s registers an offense when chaining `foo.bar.===(baz).round(2)` 302s does not register an offense when using `foo.!@bar` 302s registers an offense when using `foo.<=> bar` 302s registers an offense when using `foo./ bar` 302s does not register an offense when using `foo <=> bar` 302s registers an offense when using `foo.**(bar)` 302s registers an offense when using `foo.=~ bar` 302s registers an offense when using `foo.! bar` 302s registers an offense when using `foo.<(bar)` 302s does not register an offense when using `foo === bar` 302s registers an offense when chaining `foo.bar.<<(baz).round(2)` 302s registers an offense when chaining `foo.bar.*(baz).round(2)` 302s registers an offense when chaining `foo.bar.~(baz).round(2)` 302s does not register an offense when using `foo ! bar` 302s does not register an offense when using `foo !~ bar` 302s does not register an offense when using `foo.+@bar.to_s` 302s does not register an offense when using `obj.!` 302s 302s RuboCop::Cop::Lint::SafeNavigationConsistency 302s registers an offense but does not correct non dot method calls 302s allows && without safe navigation 302s registers an offense and corrects using unsafe navigation with both && and || 302s registers an offense and corrects using unsafe navigation with grouped conditions 302s registers an offense and corrects using safe navigation in conditions on the right hand side 302s allows calls to methods that nil responds to 302s registers an offense and corrects using safe navigation on the left of && 302s registers an offense and corrects using safe navigation inside of separated conditions 302s registers a single offense and corrects when safe navigation is used multiple times 302s registers an offense and corrects using safe navigation on the right of || 302s registers an offense and corrects using safe navigation on the right of && 302s registers an offense and corrects assignment 302s registers an offense and corrects when there is code before or after the condition 302s registers and corrects multiple offenses 302s registers an offense and corrects unsafe navigation that appears before safe navigation 302s registers an offense and corrects using unsafe navigation and the safe navigation appears in a group 302s allows || without safe navigation 302s allows safe navigation when different variables are used 302s registers an offense and corrects using safe navigation on the left of || 302s 302s RuboCop::Cop::Layout::FirstArgumentIndentation 302s when EnforcedStyle is consistent 302s for method calls within method calls 302s registers an offense and corrects an over-indented first argument 302s accepts first argument indented relative to previous line 302s when indentation width is overridden for this cop only 302s accepts a correctly indented first argument 302s registers an offense and corrects an over-indented first argument 302s when IndentationWidth:Width is 2 302s registers an offense and corrects an over-indented first argument of `super` 302s does not view chained call as an outer method call 302s accepts a first argument that is not preceded by a line break 302s registers an offense and corrects an over-indented first argument on a pipe method name 302s registers an offense and corrects an over-indented first argument on a plus sign method name 302s registers an offense and corrects lines affected by another offense 302s registers an offense and corrects an under-indented first argument 302s accepts method calls with no arguments 302s registers an offense and corrects an over-indented first argument 302s does not view []= as an outer method call 302s accepts operator calls 302s registers an offense and corrects an over-indented first argument on an alphanumeric method name 302s for assignment 302s accepts a correctly indented first argument and does not care about the second argument 302s with line break 302s accepts a correctly indented first argument 302s registers an offense and corrects an under-indented first argument 302s when the receiver contains a line break 302s accepts a correctly indented first argument 302s accepts a correctly indented first argument preceded by an empty line 302s registers an offense and corrects an over-indented first argument 302s when preceded by a comment line 302s registers an offense and corrects an under-indented first argument 302s accepts a correctly indented first argument 302s when using safe navigation operator 302s registers an offense and corrects an under-indented 1st argument 302s for a setter call 302s accepts an unindented value 302s when IndentationWidth:Width is 4 302s registers an offense and corrects an over-indented first argument 302s when EnforcedStyle is consistent_relative_to_receiver 302s for method calls within method calls 302s with outer parentheses 302s registers an offense and corrects an over-indented 1st argument 302s indents all relative to the receiver 302s without outer parentheses 302s accepts a first argument with special indentation 302s indents all relative to the receiver 302s when IndentationWidth:Width is 2 302s registers an offense and corrects an over-indented first argument 302s does not view chained call as an outer method call 302s does not register an offense when argument has expected indent width and the method is preceded by double splat 302s accepts operator calls 302s does not register an offense when argument has expected indent width and the method is preceded by splat 302s accepts a first argument that is not preceded by a line break 302s does not view []= as an outer method call 302s accepts method calls with no arguments 302s registers an offense and corrects an under-indented first argument 302s registers an offense and corrects lines affected by other offenses 302s for assignment 302s register an offense and corrects a correctly indented first argument and does not care about the second argument 302s with line break 302s registers an offense and corrects an under-indented first argument 302s accepts a correctly indented first argument 302s when the receiver contains a line break 302s registers an offense and corrects an over-indented 1st argument 302s accepts a correctly indented first argument preceded by an empty line 302s accepts a correctly indented first argument 302s when preceded by a comment line 302s registers an offense and corrects an under-indented first argument 302s accepts a correctly indented first argument 302s when indentation width is overridden for this cop only 302s accepts a correctly indented first argument 302s registers an offense and corrects an over-indented first argument 302s when IndentationWidth:Width is 4 302s registers an offense and corrects an over-indented first argument 302s when EnforcedStyle is special_for_inner_method_call_in_parentheses 302s when IndentationWidth:Width is 2 302s accepts operator calls 302s accepts method calls with no arguments 302s registers an offense and corrects an over-indented first argument on a plus sign method name 302s registers an offense and corrects an under-indented first argument 302s does not view []= as an outer method call 302s accepts a first argument that is not preceded by a line break 302s registers an offense and corrects an over-indented first argument of `super` 302s does not view chained call as an outer method call 302s registers an offense and corrects an over-indented first argument on an alphanumeric method name 302s registers an offense and corrects lines affected by another offense 302s registers an offense and corrects an over-indented first argument 302s registers an offense and corrects an over-indented first argument on a pipe method name 302s when using safe navigation operator 302s registers an offense and corrects an under-indented 1st argument 302s when the receiver contains a line break 302s accepts a correctly indented first argument preceded by an empty line 302s accepts a correctly indented first argument 302s registers an offense and corrects an over-indented first argument 302s when preceded by a comment line 302s registers an offense and corrects an under-indented first argument 302s accepts a correctly indented first argument 302s for a setter call 302s accepts an unindented value 302s for assignment 302s accepts a correctly indented first argument and does not care about the second argument 302s with line break 302s registers an offense and corrects an under-indented first argument 302s accepts a correctly indented first argument 302s when indentation width is overridden for this cop only 302s accepts a correctly indented first argument 302s registers an offense and corrects an over-indented first argument 302s when IndentationWidth:Width is 4 302s registers an offense and corrects an over-indented first argument 302s for method calls within method calls 302s without outer parentheses 302s accepts a first argument with consistent style indentation 302s with outer parentheses 302s registers an offense and corrects an over-indented first argument 302s registers an offense and corrects an under-indented first argument 302s accepts a correctly indented first argument with fullwidth characters 302s accepts a correctly indented first argument in interpolation 302s when EnforcedStyle is special_for_inner_method_call 302s when IndentationWidth:Width is 4 302s registers an offense and corrects an over-indented first argument 302s for method calls within method calls 302s without outer parentheses 302s accepts a first argument with special indentation 302s with outer parentheses 302s registers an offense and corrects an over-indented first argument 302s when indentation width is overridden for this cop only 302s accepts a correctly indented first argument 302s registers an offense and corrects an over-indented first argument 302s when IndentationWidth:Width is 2 302s registers an offense and corrects an over-indented first argument 302s registers an offense and corrects an over-indented first argument of `super` 302s registers an offense and corrects an over-indented first argument on an alphanumeric method name 302s accepts a first argument that is not preceded by a line break 302s accepts method calls with no arguments 302s accepts operator calls 302s does not view []= as an outer method call 302s does not view chained call as an outer method call 302s registers an offense and corrects lines affected by another offense 303s registers an offense and corrects an over-indented first argument on a pipe method name 303s registers an offense and corrects an under-indented first argument 303s registers an offense and corrects an over-indented first argument on a plus sign method name 303s when the receiver contains a line break 303s accepts a correctly indented first argument preceded by an empty line 303s accepts a correctly indented first argument 303s registers an offense and corrects an over-indented first argument 303s when preceded by a comment line 303s registers an offense and corrects an under-indented first argument 303s accepts a correctly indented first argument 303s when using safe navigation operator 303s registers an offense and corrects an under-indented 1st argument 303s for a setter call 303s accepts an unindented value 303s for assignment 303s accepts a correctly indented first argument and does not care about the second argument 303s with line break 303s accepts a correctly indented first argument 303s registers an offense and corrects an under-indented first argument 303s 303s RuboCop::Cop::Style::NegatedIf 303s does not blow up for empty unless condition 303s does not blow up on a negated ternary operator 303s does not blow up for ternary ops 303s does not blow up for empty if condition 303s with “prefix” style 303s does not register an offense for postfix 303s registers an offense for prefix 303s with “both” style 303s accepts an if where only part of the condition is negated 303s accepts an if/else with negative condition 303s is not confused by negated elsif 303s registers an offense for if with exclamation point condition 303s accepts an if where the condition is doubly negated 303s registers an offense for if with "not" condition 303s autocorrects by replacing parenthesized if not with unless 303s with “postfix” style 303s registers an offense for postfix 303s does not register an offense for prefix 303s 303s RuboCop::Cop::Lint::SelfAssignment 303s does not register an offense when using global var assignment 303s registers an offense when using multiple var self-assignment through array 303s registers an offense when using class var self-assignment 303s does not register an offense when using constant var assignment for constant from another scope 303s does not register an offense when using multiple var assignment through splat 303s registers an offense when using multiple var self-assignment 303s does not register an offense when using multiple var assignment 303s does not register an offense when using multiple var assignment through method call 303s does not register an offense when using shorthand-and var assignment 303s does not register an offense when using class var assignment 303s registers an offense when using shorthand-and var self-assignment 303s registers an offense when using global var self-assignment 303s registers an offense when using local var self-assignment 303s registers an offense when using shorthand-or var self-assignment 303s does not register an offense when using local var assignment 303s does not register an offense when using instance var assignment 303s does not register an offense when using shorthand-or var assignment 303s registers an offense when using constant var self-assignment 303s registers an offense when using instance var self-assignment 303s does not register an offense when using constant var or-assignment for constant from another scope 303s 303s RuboCop::Cop::Style::CombinableLoops 303s when looping method 303s does not register an offense when the same loops are interleaved with some code 303s does not register an offense for when the same method with different arguments and safe navigation 303s does not register an offense for when the same method with different arguments 303s does not register an offense when the same loop method is used over different collections 303s registers an offense when looping over the same data as previous loop 303s does not register an offense when different loop methods are used over the same collection 303s does not register an offense when each branch contains the same single loop over the same collection 303s Ruby 2.7 303s registers an offense when looping over the same data as previous loop in numblocks 303s when for loop 303s does not register an offense when the same loop method is used over different collections 303s does not register an offense when the same loops are interleaved with some code 303s registers an offense when looping over the same data as previous loop 303s does not register an offense when each branch contains the same single loop over the same collection 303s 303s RuboCop::Cop::Layout::SpaceInsideArrayPercentLiteral 303s accepts non array percent literals 303s for I type and ["!", "!"] delimiters 303s accepts multi-line literals within a method 303s accepts literals with escaped and additional spaces 303s accepts literals with escaped spaces 303s accepts multi-line literals 303s accepts newlines and additional following alignment spaces 303s accepts literals without additional spaces 303s registers an offense for multiple spaces between items 303s registers an offense for unnecessary spaces 303s for w type and ["!", "!"] delimiters 303s accepts multi-line literals 303s registers an offense for unnecessary spaces 303s accepts literals with escaped spaces 303s accepts newlines and additional following alignment spaces 303s registers an offense for multiple spaces between items 303s accepts literals without additional spaces 303s accepts literals with escaped and additional spaces 303s accepts multi-line literals within a method 303s for w type and ["{", "}"] delimiters 303s registers an offense for multiple spaces between items 303s accepts multi-line literals 303s accepts literals without additional spaces 303s accepts literals with escaped spaces 303s accepts literals with escaped and additional spaces 303s accepts multi-line literals within a method 303s accepts newlines and additional following alignment spaces 303s registers an offense for unnecessary spaces 303s for w type and ["[", "]"] delimiters 303s accepts multi-line literals 303s registers an offense for multiple spaces between items 303s accepts literals with escaped spaces 303s accepts literals without additional spaces 303s accepts literals with escaped and additional spaces 303s accepts multi-line literals within a method 303s registers an offense for unnecessary spaces 303s accepts newlines and additional following alignment spaces 303s for W type and ["{", "}"] delimiters 303s accepts literals with escaped spaces 303s registers an offense for multiple spaces between items 303s accepts multi-line literals 303s accepts newlines and additional following alignment spaces 303s accepts multi-line literals within a method 303s registers an offense for unnecessary spaces 303s accepts literals without additional spaces 303s accepts literals with escaped and additional spaces 303s for I type and ["{", "}"] delimiters 303s accepts multi-line literals 303s accepts literals with escaped spaces 303s registers an offense for unnecessary spaces 303s accepts literals without additional spaces 303s accepts newlines and additional following alignment spaces 303s accepts literals with escaped and additional spaces 303s registers an offense for multiple spaces between items 303s accepts multi-line literals within a method 303s for i type and ["!", "!"] delimiters 303s accepts literals with escaped and additional spaces 303s accepts literals with escaped spaces 303s accepts multi-line literals 303s registers an offense for multiple spaces between items 303s accepts newlines and additional following alignment spaces 303s accepts literals without additional spaces 303s accepts multi-line literals within a method 303s registers an offense for unnecessary spaces 303s for I type and ["(", ")"] delimiters 303s registers an offense for unnecessary spaces 303s registers an offense for multiple spaces between items 303s accepts literals with escaped and additional spaces 303s accepts literals without additional spaces 303s accepts literals with escaped spaces 303s accepts multi-line literals within a method 303s accepts newlines and additional following alignment spaces 303s accepts multi-line literals 303s for W type and ["!", "!"] delimiters 303s accepts newlines and additional following alignment spaces 303s registers an offense for unnecessary spaces 303s registers an offense for multiple spaces between items 303s accepts literals with escaped and additional spaces 303s accepts literals without additional spaces 303s accepts literals with escaped spaces 303s accepts multi-line literals 303s accepts multi-line literals within a method 303s for w type and ["(", ")"] delimiters 303s registers an offense for multiple spaces between items 303s accepts literals with escaped and additional spaces 303s accepts newlines and additional following alignment spaces 303s registers an offense for unnecessary spaces 303s accepts literals with escaped spaces 303s accepts multi-line literals 303s accepts literals without additional spaces 303s accepts multi-line literals within a method 303s for i type and ["{", "}"] delimiters 303s registers an offense for unnecessary spaces 303s accepts literals without additional spaces 303s accepts multi-line literals 303s accepts newlines and additional following alignment spaces 303s accepts literals with escaped spaces 303s accepts literals with escaped and additional spaces 303s accepts multi-line literals within a method 303s registers an offense for multiple spaces between items 303s for i type and ["(", ")"] delimiters 303s accepts newlines and additional following alignment spaces 303s registers an offense for unnecessary spaces 303s accepts literals without additional spaces 303s registers an offense for multiple spaces between items 303s accepts literals with escaped spaces 303s accepts multi-line literals 303s accepts multi-line literals within a method 303s accepts literals with escaped and additional spaces 303s for I type and ["[", "]"] delimiters 303s accepts multi-line literals 303s registers an offense for multiple spaces between items 303s accepts literals with escaped and additional spaces 303s accepts literals without additional spaces 303s accepts multi-line literals within a method 303s accepts newlines and additional following alignment spaces 303s registers an offense for unnecessary spaces 303s accepts literals with escaped spaces 303s for W type and ["[", "]"] delimiters 303s accepts literals with escaped and additional spaces 303s accepts literals with escaped spaces 303s accepts multi-line literals 303s accepts multi-line literals within a method 303s registers an offense for unnecessary spaces 303s accepts newlines and additional following alignment spaces 303s accepts literals without additional spaces 303s registers an offense for multiple spaces between items 303s for i type and ["[", "]"] delimiters 303s accepts literals with escaped spaces 303s accepts multi-line literals within a method 303s registers an offense for unnecessary spaces 303s accepts literals with escaped and additional spaces 303s accepts newlines and additional following alignment spaces 303s accepts multi-line literals 303s accepts literals without additional spaces 303s registers an offense for multiple spaces between items 303s for W type and ["(", ")"] delimiters 303s accepts literals with escaped and additional spaces 303s registers an offense for multiple spaces between items 303s accepts literals without additional spaces 303s accepts multi-line literals within a method 303s accepts newlines and additional following alignment spaces 303s accepts literals with escaped spaces 303s accepts multi-line literals 303s registers an offense for unnecessary spaces 303s 303s RuboCop::Cop::Style::RedundantRegexpCharacterClass 303s with a character class containing an unescaped-# 303s registers an offense and corrects 303s with a character class containing an escaped-# 303s registers an offense and corrects 303s with a character class containing a negated posix bracket expression 303s does not register an offense 303s with a character class containing a single character 303s registers an offense and corrects 303s with a character class containing a posix bracket expression 303s does not register an offense 303s with consecutive escaped square brackets 303s does not register an offense 303s with a character class containing a single character before `{n,m}` quantifier 303s registers an offense and corrects 303s with consecutive escaped square brackets inside a character class 303s does not register an offense 303s with a character class containing a single unicode character property 303s registers an offense and corrects 303s with multiple character classes containing single characters 303s registers an offense and corrects 303s with a character class containing a single character inside a group 303s registers an offense and corrects 303s with escaped square brackets surrounding a single character 303s does not register an offense 303s with a character class containing an escaped-b 303s does not register an offense 303s with a character class containing a negated-space meta-character 303s registers an offense and corrects 303s with a character class containing a single unicode code-point 303s registers an offense and corrects 303s with a character class containing an escaped [ 303s registers an offense and corrects 303s with an array index inside an interpolation 303s does not register an offense 303s with a character class containing an escaped-0 303s does not register an offense 303s with a character class containing a single character before `+` quantifier 303s registers an offense and corrects 303s with a character class containing a single negated unicode character property 303s registers an offense and corrects 303s with a character class containing escaped character requiring escape outside 303s registers an offense and corrects 303s with a regexp containing invalid g escape 303s registers an offense and corrects 303s with a character class containing a space 303s with an unnecessary-character-class after a comment 303s registers an offense and corrects 303s when using free-spaced mode 303s with a single space character class 303s does not register an offense with /ix 303s does not register an offense with only /x 303s does not register an offense with /iux 303s with a commented single-element character class 303s does not register an offense 303s when not using free-spaced mode 303s registers an offense and corrects 303s with a character class containing an interpolation 303s does not register an offense 303s with a character class containing multiple unicode code-points 303s does not register an offense and corrects 303s with a negated character class with a single element 303s does not register an offense 303s with a character class containing a single range 303s does not register an offense 303s with a character class containing a space meta-character 303s registers an offense and corrects 303s with a multi-line interpolation 303s ignores offenses in the interpolated expression 303s with a redundant character class after an interpolation 303s registers an offense and corrects 303s with %r{} regexp 303s with a character class containing a single character before `+` quantifier 303s registers an offense and corrects 303s with multiple character classes containing single characters 303s registers an offense and corrects 303s with a character class containing a single character inside a group 303s registers an offense and corrects 303s with a character class containing a single character before `{n,m}` quantifier 303s registers an offense and corrects 303s with a character class containing a single character 303s registers an offense and corrects 303s with a character class containing set intersection 303s does not register an offense 303s with an interpolated unnecessary-character-class regexp 303s registers an offense and corrects 303s with a character class containing an escaped ] 303s registers an offense and corrects 303s with a character class containing a character requiring escape outside 303s does not register an offense 303s with a character class containing two characters 303s does not register an offense 303s with a character class with first element an escaped ] 303s does not register an offense 303s 303s RuboCop::Cop::Lint::MixedRegexpCaptureTypes 303s does not register offense to a regexp with named capture only 303s does not register offense to a regexp with numbered capture only 303s does not register offense when using a Regexp cannot be processed by regexp_parser gem 303s registers an offense when both of named and numbered captures are used 303s does not register offense to a regexp with named capture and non-capturing group 303s when containing a non-regexp literal 303s does not register an offense when containing a ivar 303s does not register an offense when containing a gvar 303s does not register an offense when containing a constant 303s does not register an offense when containing a cvar 303s does not register an offense when containing a lvar 303s does not register an offense when containing a method 303s 303s RuboCop::Cop::Lint::SafeNavigationChain 303s >= Ruby 2.7 303s registers an offense for ordinary method chain exists after safe navigation method call with a block using numbered parameter 303s TargetRubyVersion >= 2.3 303s registers an offense for safe navigation on the right-hand side of the `*` 303s registers an offense for ordinary method call exists after safe navigation method call 304s registers an offense for ordinary method chain exists after safe navigation method call with a block-pass 304s accepts usages of safe navigation with self assignment method 304s registers an offense for ordinary method chain exists after safe navigation method call with a block 304s accepts usages of safe navigation at last only 304s registers an offense for safe navigation on the right-hand side of the `-` 304s accepts usages of safe navigation with `in?` method 304s accepts usages of safe navigation with `+@` method 304s registers an offense for safe navigation with + operator 304s registers an offense for safe navigation with >= operator 304s accepts usages of safe navigation with | operator 304s accepts usages of safe navigation with === operator 304s accepts usages of ordinary method chain 304s accepts usages of safe navigation with `blank?` method 304s registers an offense for safe navigation with < operator 304s accepts usages of method chain with safe navigation only 304s registers an offense for safe navigation with > operator 304s registers an offense for safe navigation with <= operator 304s accepts usages of safe navigation with && operator 304s registers an offense for ordinary method chain exists after safe navigation method call with an argument 304s accepts usages of safe navigation with `-@` method 304s accepts usages of safe navigation with `nil?` method 304s accepts usages of safe navigation at last only with argument 304s accepts usages of safe navigation with || operator 304s registers an offense for safe navigation with []= operator 304s accepts usages of safe navigation with `to_d` method 304s accepts usages of safe navigation with & operator 304s accepts usages of method chain with safe navigation only with argument 304s accepts usages of safe navigation with `try` method 304s accepts usages of ordinary method chain with argument 304s registers an offense for ordinary method call exists after safe navigation method call with an argument 304s registers an offense for ordinary method chain exists after safe navigation method call 304s accepts usages of safe navigation with `present?` method 304s accepts usages of safe navigation with == operator 304s accepts usages of safe navigation with assignment method 304s registers an offense for safe navigation on the right-hand side of the `+` 304s registers an offense for safe navigation with [] operator 304s registers an offense for safe navigation on the right-hand side of the `/` 304s proper highlighting 304s when in a method 304s when used with a modifier if 304s when in a begin 304s when there are methods after 304s when there are methods before 304s 304s RuboCop::Cop::Lint::Void 304s registers an offense for void op >= if not on last line 304s registers an offense for void lit [1] if not on last line 304s registers two offenses for void literals in a setter method 304s accepts void unary op ! if on last line 304s registers an offense for void op - if not on last line 304s registers an offense for void unary op ~ if not on last line 304s accepts empty block 304s accepts void op < if on last line 304s registers two offenses for void literals in an initialize method 304s registers an offense for void sign op + if not on last line 304s registers an offense for void op > if not on last line 304s accepts void op > if on last line 304s accepts void op == if on last line 304s registers an offense for void var $var if not on last line 304s registers an offense for void var var if not on last line 304s accepts backtick commands 304s accepts void op <= by itself without a begin block 304s accepts void op % by itself without a begin block 304s accepts void op >= by itself without a begin block 304s accepts percent-x commands 304s registers an offense for void var @var if not on last line 304s accepts void op - if on last line 304s registers two offenses for void literals in `#tap` method 304s registers two offenses for void literals in a `#each` method 304s registers an offense for void `defined?` if not on last line 304s registers an offense for void `self` if not on last line 304s registers an offense for void sign op - if not on last line 304s handles `#each` block with single expression 304s accepts void op + if on last line 304s registers an offense for void lit /test/ if not on last line 304s registers an offense for void op <=> if not on last line 304s registers an offense for void op != if not on last line 304s accepts void unary op - by itself without a begin block 304s accepts void op === by itself without a begin block 304s accepts void unary op ! by itself without a begin block 304s registers an offense for void lit 2.0 if not on last line 304s accepts void unary op + if on last line 304s accepts method with irange block 304s accepts void unary op - if on last line 304s registers an offense for void op < if not on last line 304s accepts void op % if on last line 304s registers an offense for void lit 1 if not on last line 304s accepts void op / if on last line 304s accepts void op <= if on last line 304s registers an offense for void lit {} if not on last line 304s accepts void op >= if on last line 304s accepts void op != by itself without a begin block 304s accepts void op * if on last line 304s accepts void op === if on last line 304s registers an offense for void op % if not on last line 304s accepts void op - by itself without a begin block 304s handles explicit begin blocks 304s registers an offense for void op <= if not on last line 304s accepts void op / by itself without a begin block 304s accepts void unary op + by itself without a begin block 304s registers an offense for void literal in a method definition 304s accepts void op <=> by itself without a begin block 304s registers an offense for void unary op ! if not on last line 304s accepts short call syntax 304s accepts void op == by itself without a begin block 304s accepts void unary op ~ by itself without a begin block 304s registers two offenses for void literals in a `for` 304s accepts void op * by itself without a begin block 304s accepts method with erange block 304s registers an offense for void op * if not on last line 304s accepts void op < by itself without a begin block 304s registers an offense for void op == if not on last line 304s accepts void op + by itself without a begin block 304s accepts void op <=> if on last line 304s registers an offense for void lit :test if not on last line 304s accepts void op != if on last line 304s accepts void unary op ~ if on last line 304s registers an offense for void op / if not on last line 304s accepts void op > by itself without a begin block 304s registers an offense for void op === if not on last line 304s registers an offense for void var VAR if not on last line 304s registers an offense for void var @@var if not on last line 304s registers an offense for void op + if not on last line 304s when checking for methods with no side effects 304s registers an offense if not on last line 304s registers an offense for chained methods 304s when not checking for methods with no side effects 304s does not register an offense for void nonmutating methods 304s Ruby 2.7 304s registers two offenses for void literals in `#tap` method 304s 304s RuboCop::Cop::Style::MethodCallWithArgsParentheses 304s allowing parens in string interpolation 304s accepts parens for camel-case method names 304s when inspecting macro methods with IncludedMacros 304s for a macro in both IncludedMacros and AllowedMethods 304s allows 304s behaves like endless methods 304s endless methods 304s with arguments 304s requires method calls to have parens 304s without arguments 304s does not register an offense when there are no parens 304s does not register an offense when there are parens 304s does not register an offense for `defs` when there are parens 304s does not register an offense for `defs` when there are arguments 304s does not register an offense when there are arguments 304s for a macro not on the included list 304s allows 304s in a class body 304s finds offense 304s in a module body 304s finds offense 304s when EnforcedStyle is omit_parentheses 304s accepts parens in default argument value calls 304s register an offense for camel-case methods with arguments 304s accepts parens in block passing calls 304s accepts parens in camel case method without args 304s accepts parens in literals with unary operators as first argument 304s accepts parens in argument calls with braced blocks 304s accepts parens in slash regexp literal as argument 304s accepts parens in chained method calls 304s accepts no parens in method call with args 304s register an offense for parens in string interpolation 304s register an offense for multi-line method calls 304s accepts parens in super without args 304s accepts no parens in method call without args 304s register an offense for %r regex literal as arguments 304s register an offense for parens in method call without args 304s accepts parens in calls with logical operators 304s accepts parens in operator method calls 304s autocorrects single-line calls 304s accepts parens in splat calls 304s register an offense in multi-line inheritance 304s register an offense for superclass call with parens 304s register an offense for parens in do-end blocks 304s accepts parens in chaining with safe operators 304s accepts parens in calls with hash as arg 304s accepts parens in ternary condition calls 304s register an offense for hashes in keyword values 304s accepts parens in nested method args 304s register an offense for yield call with parens 304s accepts parens in super method calls as arguments 304s accepts parens in implicit #to_proc 304s autocorrects multi-line calls with trailing whitespace 304s accepts parens in single-line inheritance 304s accepts parens in chaining with operators 304s accepts parens in args splat 304s accepts parens in range literals 304s accepts parens in assignment in conditions 304s register an offense for parens in the last chain 304s accepts parens in calls with args with logical operators 304s accepts parens in args with ternary conditions 304s accepts parens in yield argument method calls 304s accepts parens in blocks with braces 304s accepts parens in super calls with braced blocks 304s register an offense in complex conditionals 304s accepts parens in method args 304s accepts special lambda call syntax 304s autocorrects complex multi-line calls 304s accepts parens in default keyword argument value calls 304s register an offense in assignments 304s forwarded arguments in 3.0 304s accepts parens for forwarded arguments 304s hash value omission in 3.1 304s does not register an offense when without parentheses call expr follows 304s registers an offense when with parentheses call expr follows 304s registers an offense when last argument is a hash value omission 304s registers an offense using assignment with parentheses call expr follows 304s does not register an offense when hash value omission with parentheses and using modifier form 304s registers and corrects an offense when explicit hash value with parentheses and using modifier form 304s behaves like endless methods 304s endless methods 304s with arguments 304s requires method calls to have parens 304s without arguments 304s registers an offense when there are parens 304s does not register an offense when there are arguments 304s does not register an offense for `defs` when there are arguments 304s does not register an offense when there are no parens 304s registers an offense for `defs` when there are parens 304s forwarded arguments in 2.7 304s accepts parens for forwarded arguments 304s numbered parameters in 2.7 304s accepts parens for braced numeric block calls 304s allowing parens in camel-case methods 304s accepts parens for camel-case method names 304s allowing parenthesis in chaining 304s accepts parens in the last call if any previous calls with parentheses 304s accepts no parens in the last call if previous calls with parens 304s register offense for multi-line chaining without previous parens 304s register offense for single-line chaining without previous parens 304s allowing parens in multi-line calls 304s accepts parens for multi-line calls 304s when EnforcedStyle is require_parentheses (default) 304s accepts no parens for operators 304s autocorrects calls where the argument node is a number 304s register an offense for non-receiver method call without parens 304s accepts no parens for unary operators 304s autocorrects parenthesized args for local methods by removing space 304s accepts no parens for setter methods 304s autocorrects partially parenthesized args by adding needed braces 304s autocorrects fully parenthesized args by removing space 304s autocorrects calls where multiple args are method calls 304s register no offense for yield without args 304s accepts no parens in method call without args 304s register an offense for method call without parens 304s autocorrects calls with multiple args by adding needed braces 304s register an offense for yield without parens 304s register an offense for superclass call without parens 304s register no offense for superclass call without args 304s accepts parens in method call with args 304s autocorrects call with multiple args by adding braces 304s autocorrects calls where arg is method call 304s autocorrects calls where the argument node is a constant 304s register an offense for methods starting with capital without parens 304s register no offense for superclass call with parens 304s accepts parens in method call with do-end blocks 304s when using safe navigation operator 304s register an offense for method call without parens 304s when inspecting macro methods 304s in a class body 304s does not register an offense 304s in a module body 304s does not register an offense 304s behaves like endless methods 304s endless methods 304s without arguments 304s does not register an offense when there are parens 304s does not register an offense when there are arguments 304s does not register an offense for `defs` when there are parens 304s does not register an offense for `defs` when there are arguments 304s does not register an offense when there are no parens 304s with arguments 304s requires method calls to have parens 304s with AllowedMethods 304s allow method listed in AllowedMethods 304s AllowedPatterns 304s ignored methods listed in AllowedPatterns 304s 304s RuboCop::Cop::Style::EnvHome 304s registers and corrects an offense when using `ENV.fetch('HOME')` 304s registers and corrects an offense when using `ENV.fetch('HOME', nil)` 304s does not register an offense when using `ENV.fetch('HOME', default)` 304s does not register an offense when using `ENV['HOME'] = '/home/foo'` 304s registers and corrects an offense when using `ENV['HOME']` 304s registers and corrects an offense when using `::ENV['HOME']` 304s does not register an offense when using `Dir.home` 304s 304s isolated environment 305s is not affected by a config file above the work directory 305s 305s RuboCop::Cop::Style::DefWithParentheses 305s accepts empty parentheses in one liners 305s reports an offense for def with empty parens 305s accepts def with arg and parens 305s accepts def without arguments 305s reports an offense for class def with empty parens 305s Ruby >= 3.0 305s reports an offense for endless method definition with empty parens 305s 305s RuboCop::Cop::Gemspec::DependencyVersion 305s with `EnforcedStyle: forbidden` 305s using add_development_dependency 305s registers an offense when adding development dependency by parenthesized call with commit ref specification 305s registers an offense when adding development dependency by parenthesized call with branch specification 305s registers an offense when adding development dependency with commit ref specification 305s registers an offense when adding development dependency with tag specification 305s does not register an offense when adding development dependency using git option without version specification 305s does not register an offense when adding development dependency using git option by parenthesized call without version specification 305s registers an offense when adding development dependency with version specification 305s does not register an offense when adding development dependency without version specification 305s registers an offense when adding development dependency by parenthesized call with version specification 305s does not register an offense when adding development dependency by parenthesized call without version specification 305s registers an offense when adding development dependency with branch specification 305s registers an offense when adding development dependency by parenthesized call with tag specification 305s using add_dependency 305s registers an offense when adding dependency with tag specification 305s does not register an offense when adding dependency without version specification 305s registers an offense when adding dependency with version specification 305s does not register an offense when adding dependency using git option by parenthesized call without version specification 305s registers an offense when adding dependency by parenthesized call with tag specification 305s registers an offense when adding dependency by parenthesized call with version specification 305s registers an offense when adding dependency with branch specification 305s does not register an offense when adding dependency using git option without version specification 305s registers an offense when adding dependency by parenthesized call with commit ref specification 305s registers an offense when adding dependency by parenthesized call with branch specification 305s registers an offense when adding dependency with commit ref specification 305s does not register an offense when adding dependency by parenthesized call without version specification 305s using add_runtime_dependency 305s registers an offense when adding runtime dependency with commit ref specification 305s registers an offense when adding runtime dependency by parenthesized call with branch specification 305s registers an offense when adding runtime dependency by parenthesized call with version specification 305s registers an offense when adding runtime dependency with version specification 305s does not register an offense when adding runtime dependency using git option by parenthesized call without version specification 305s does not register an offense when adding runtime dependency by parenthesized call without version specification 305s does not register an offense when adding runtime dependency using git option without version specification 305s does not register an offense when adding runtime dependency without version specification 305s registers an offense when adding runtime dependency by parenthesized call with commit ref specification 305s registers an offense when adding runtime dependency by parenthesized call with tag specification 305s registers an offense when adding runtime dependency with branch specification 305s registers an offense when adding runtime dependency with tag specification 305s with `AllowedGems` 305s registers an offense when adding dependency without version specification 305s registers an offense when adding dependency by parenthesized call without version specification 305s with `EnforcedStyle: required` 305s with `AllowedGems` 305s registers an offense when adding dependency by parenthesized call without version specification excepts allowed gems 305s registers an offense when adding dependency without version specification excepts allowed gems 305s using add_development_dependency 305s registers an offense when adding development dependency using git option without version specification 305s does not register an offense when adding development dependency with version specification 305s does not register an offense when adding development dependency by parenthesized call with tag specification 305s registers an offense when adding development dependency using git option by parenthesized call without version specification 305s does not register an offense when adding development dependency with tag specification 305s registers an offense when adding development dependency without version specification 305s does not register an offense when adding development dependency by parenthesized call with commit ref specification 305s does not register an offense when adding development dependency by parenthesized call with version specification 305s does not register an offense when adding development dependency by parenthesized call with branch specification 305s does not register an offense when adding development dependency with branch specification 305s registers an offense when adding development dependency by parenthesized call without version specification 305s does not register an offense when adding development dependency with commit ref specification 305s using add_runtime_dependency 305s does not register an offense when adding runtime dependency with branch specification 305s registers an offense when adding runtime dependency using git option without version specification 305s does not register an offense when adding runtime dependency with tag specification 305s registers an offense when adding runtime dependency without version specification 305s does not register an offense when adding runtime dependency by parenthesized call with branch specification 305s does not register an offense when adding runtime dependency by parenthesized call with version specification 305s registers an offense when adding runtime dependency by parenthesized call without version specification 305s does not register an offense when adding runtime dependency with version specification 305s does not register an offense when adding runtime dependency with commit ref specification 305s does not register an offense when adding runtime dependency by parenthesized call with tag specification 305s does not register an offense when adding runtime dependency by parenthesized call with commit ref specification 305s registers an offense when adding runtime dependency using git option by parenthesized call without version specification 305s using add_dependency 305s does not register an offense when adding dependency with branch specification 305s registers an offense when adding dependency by parenthesized call without version specification 305s registers an offense when adding dependency using git option by parenthesized call without version specification 305s does not register an offense when adding dependency with commit ref specification 305s does not register an offense when adding dependency by parenthesized call with tag specification 305s does not register an offense when adding dependency by parenthesized call with version specification 305s does not register an offense when adding dependency by parenthesized call with commit ref specification 305s does not register an offense when adding dependency with tag specification 305s does not register an offense when adding dependency with version specification 305s registers an offense when adding dependency without version specification 305s does not register an offense when adding dependency by parenthesized call with branch specification 305s registers an offense when adding dependency using git option without version specification 305s 305s RuboCop::Cop::Cop 305s will set default severity 305s will warn if custom severity is invalid 305s initially has 0 offenses 305s will set custom severity if present 305s will report registered offenses 305s keeps track of offenses 305s #relevant_file? 305s when the file doesn't match the Include configuration 305s is expected to equal false 305s when the file matches the Include configuration 305s is expected to equal true 305s when the file is an anonymous source 305s is expected to equal true 305s .qualified_cop_name 305s returns the given cop name if it is not found in any namespace 305s adds namespace if the cop name is found in exactly one namespace 305s raises an error if the cop name is in more than one namespace 305s returns the given cop name if it already has a namespace even when the cop exists in multiple namespaces 305s returns the given cop name if it already has a namespace 305s returns the cop name in a different namespace if the provided namespace is incorrect 305s #safe_autocorrect? 305s when safety is undeclared 305s is expected to equal true 305s when autocorrection of the cop is declared unsafe 305s is expected to equal false 305s when cop is declared unsafe 305s is expected to equal false 305s Registry 305s #departments 305s is expected to include :Style 305s has departments 305s contains every value only once 305s is expected to include :Lint 305s #with_department 305s has each cop in exactly one type 305s returns 0 for an invalid type 305s has at least one cop per department 305s for a cop with a name 305s registers offense with its name 305s with no submodule 305s has right department 305s has right name 305s with lint cops 305s has right department 305s has right name 305s with style cops 305s has right name 305s has right department 305s #autocorrect? 305s when the option is not given 305s is expected to equal false 305s when the option is given 305s is expected to equal true 305s when cop does not support autocorrection 305s is expected to equal false 305s when disable_uncorrectable is enabled 305s is expected to equal true 305s when the cop is set to not autocorrect 305s is expected to equal false 305s setting of Offense#corrected attribute 305s when cop does not support autocorrection 305s is not specified (set to nil) 305s when autocorrect is requested 305s is not specified (set to nil) 305s when disable_uncorrectable is enabled 305s is set to true 305s when cop supports autocorrection 305s when autocorrection is not needed 305s is set to false 305s when offense was not corrected because of an error 305s is set to false 305s when offense was corrected 305s is set to true 305s .documentation_url 305s for a custom cop class 305s is expected to be nil 305s for a builtin cop class 305s is expected to eq "https://docs.rubocop.org/rubocop/cops_layout.html#layoutblockendnewline" 305s when disabled by a comment 305s ignore_disable_comments is false 305s will set offense as disabled 305s ignore_disable_comments is true 305s will not set offense as disabled 305s 305s RuboCop::Cop::Style::EmptyBlockParameter 305s registers an offense for an empty block parameter with super 305s registers an offense for an empty block parameter with lambda 305s accepts a non-empty block parameter with do-end style 305s accepts a non-empty block parameter with {} style 305s registers an offense for an empty block parameter with do-end style 305s accepts a block that is {} style without parameter 305s registers an offense for an empty block parameter with {} style 305s accepts an empty block parameter with a lambda 305s accepts a block that is do-end style without parameter 305s 305s RuboCop::Runner 305s how formatter is invoked 305s #finished 305s when RuboCop finished inspecting all files normally 305s sends all file paths 305s the passed files paths 306s is frozen 306s when RuboCop is interrupted by user 306s sends only processed file paths 306s #started 306s sends all file paths 306s the passed files paths 306s is frozen 306s #file_finished 306s sends an array of detected offenses for the file 307s sends a file path 307s the passed path 307s is frozen 307s invocation order 307s is called in the proper sequence 307s #file_started 307s sends file specific information hash 307s sends a file path 307s the passed path 308s is frozen 308s 308s RuboCop::Cop::Lint::UnderscorePrefixedVariableName 308s when non-underscore-prefixed variable is used 308s does not register an offense 308s when an underscore-prefixed block argument is used 308s registers an offense 308s registers an offense 308s in a method calling `binding` with arguments 308s when an underscore-prefixed argument is not used 308s does not register an offense 308s when an underscore-prefixed argument is used explicitly 308s registers an offense 308s when an underscore-prefixed variable is reassigned 308s does not register an offense 308s when an underscore-prefixed named capture variable is used 308s registers an offense 308s when an underscore-prefixed variable is captured by a block 308s accepts 308s when an underscore-prefixed keyword block argument is used 308s registers an offense 308s when AllowKeywordBlockArguments is set 308s does not register an offense 308s in a method calling `super` without arguments 308s when an underscore-prefixed argument is not used explicitly 308s does not register an offense 308s when an underscore-prefixed argument is used explicitly 308s registers an offense 308s in a method calling `super` with arguments 308s when an underscore-prefixed argument is not used 308s does not register an offense 308s when an underscore-prefixed argument is used explicitly 308s registers an offense 308s when an underscore-prefixed method argument is used 308s registers an offense 308s when an underscore-prefixed variable is used 308s registers an offense 308s when an underscore-prefixed variable in top-level scope is used 308s registers an offense 308s in a method calling `binding` without arguments 308s when an underscore-prefixed argument is used explicitly 308s registers an offense 308s when an underscore-prefixed argument is not used explicitly 308s does not register an offense 308s 308s RuboCop::Cop::Style::ObjectThen 308s EnforcedStyle: yield_self 308s registers an offense for then with block 308s registers an offense for then with proc param 308s accepts then without a block 308s accepts then with more than 1 param 308s EnforcedStyle: then 308s accepts yield_self with more than 1 param 308s registers an offense for yield_self with proc param 308s accepts yield_self without a block 308s Ruby 2.6 308s registers an offense for yield_self with block 308s Ruby 2.7 308s registers an offense for yield_self with block 308s Ruby 2.5 308s accepts yield_self with block 308s 308s RuboCop::Cop::Style::ArrayCoercion 308s registers an offense and corrects when splatting variable into array 308s does not register an offense when converting variable into other named array variable with check 308s does not register an offense when splatting multiple variables into array 308s registers an offense and corrects when converting variable into array with check 308s does not register an offense when splat is not in array 308s 308s RuboCop::Cop::Lint::DuplicateRescueException 308s registers an offense when duplicate exception exists within rescues with `else` branch 308s registers an offense when duplicate exception exists 308s registers an offense when multiple duplicate exceptions exist 308s does not register an offense when there are no duplicate exceptions 308s registers an offense when duplicate exception exists within rescues with empty `rescue` branch 308s registers an offense when duplicate exception splat exists 308s 308s RuboCop::Cop::Naming::VariableNumber 308s when configured for normal 308s registers an offense for snake case numbering in symbol 308s registers an offense for snake case numbering in method camel case parameter 308s registers an offense for snake case numbering in a global variable name 308s registers an offense for snake case numbering in method name 308s registers an offense for snake case numbering in method parameter 308s does not register an offense for normal case numbering in symbol 308s behaves like accepts 308s accepts user_1_id in normalcase 308s behaves like offense 308s registers an offense for @myAttribute_1 in normalcase 308s behaves like accepts 308s accepts local_ in normalcase 308s behaves like offense 308s registers an offense for local_FOO_1 in normalcase 308s behaves like accepts 308s accepts sha256 in normalcase 308s behaves like offense 308s registers an offense for myAttribute_1 in normalcase 308s behaves like offense 308s registers an offense for localFOO_1 in normalcase 308s behaves like accepts 308s accepts _1 in normalcase 308s behaves like offense 308s registers an offense for @local_1 in normalcase 308s behaves like accepts 308s accepts foo10_bar in normalcase 308s behaves like offense 308s registers an offense for local_1 in normalcase 308s behaves like accepts 308s accepts _ in normalcase 308s behaves like offense 308s registers an offense for _myLocal_1 in normalcase 308s behaves like accepts 308s accepts target_u2f_device in normalcase 308s behaves like accepts integer symbols 308s accepts integer symbol 308s accepts integer symbol array literal 308s behaves like accepts 308s accepts user1_id in normalcase 308s behaves like accepts 308s accepts snake_case in normalcase 308s behaves like accepts 308s accepts localFOO1 in normalcase 308s behaves like accepts 308s accepts _foo in normalcase 308s behaves like offense 308s registers an offense for sha_256 in normalcase 308s behaves like offense 308s registers an offense for @@local_1 in normalcase 308s behaves like accepts 308s accepts @__foo__ in normalcase 308s behaves like accepts 308s accepts local1 in normalcase 308s behaves like accepts 308s accepts @foo in normalcase 308s behaves like accepts 308s accepts emparejó in normalcase 308s behaves like offense_array 308s registers an offense for ["a_1", "a2"] in normalcase 308s when configured for non integer 308s registers an offense for snake case numbering in symbol 308s registers an offense for normal case numbering in method parameter 308s registers an offense for normal case numbering in symbol 308s registers an offense for normal case numbering in method camel case parameter 308s registers an offense for snake case numbering in method name 308s registers an offense for normal case numbering in method name 308s registers an offense for snake case numbering in method camel case parameter 308s registers an offense for snake case numbering in method parameter 308s behaves like accepts 308s accepts _foo in non_integer 308s behaves like offense 308s registers an offense for local1 in non_integer 308s behaves like offense 308s registers an offense for @myAttribute1 in non_integer 308s behaves like accepts 308s accepts local_ in non_integer 308s behaves like accepts 308s accepts _1 in non_integer 308s behaves like accepts 308s accepts emparejó in non_integer 308s behaves like offense 308s registers an offense for myAttribute1 in non_integer 308s behaves like offense_array 308s registers an offense for ["a_1", "aone"] in non_integer 308s behaves like accepts 308s accepts @@foo in non_integer 308s behaves like offense 308s registers an offense for @local_1 in non_integer 308s behaves like offense 308s registers an offense for _myLocal1 in non_integer 308s behaves like offense 308s registers an offense for local_1 in non_integer 308s behaves like accepts 308s accepts fooBar in non_integer 308s behaves like accepts 308s accepts @__foo__ in non_integer 308s behaves like accepts 308s accepts local_one in non_integer 308s behaves like accepts 308s accepts localone in non_integer 308s behaves like offense 308s registers an offense for _myLocal_1 in non_integer 308s behaves like offense 308s registers an offense for myAttribute_1 in non_integer 308s behaves like accepts 308s accepts @foo in non_integer 308s behaves like accepts 308s accepts _ in non_integer 308s behaves like offense 308s registers an offense for @myAttribute_1 in non_integer 308s behaves like offense 308s registers an offense for @local1 in non_integer 308s behaves like accepts integer symbols 308s accepts integer symbol 308s accepts integer symbol array literal 308s when configured for snake_case 308s does not register an offense for snake case numbering in symbol 308s registers an offense for normal case numbering in a global variable name 308s registers an offense for normal case numbering in method camel case parameter 308s registers an offense for normal case numbering in symbol 308s registers an offense for normal case numbering in method name 308s registers an offense for normal case numbering in method parameter 308s behaves like accepts 308s accepts @__foo__ in snake_case 308s behaves like accepts 308s accepts @foo in snake_case 308s behaves like offense_array 308s registers an offense for ["a1", "a_2"] in snake_case 308s behaves like offense 308s registers an offense for @local1 in snake_case 308s behaves like accepts 308s accepts a_1_b in snake_case 308s behaves like accepts 308s accepts _1 in snake_case 308s behaves like offense 308s registers an offense for _unused1 in snake_case 308s behaves like accepts 308s accepts _foo in snake_case 308s behaves like accepts 308s accepts a_1_b_1 in snake_case 308s behaves like offense 308s registers an offense for @camelCase1 in snake_case 308s behaves like offense 308s registers an offense for camelCase1 in snake_case 308s behaves like accepts 308s accepts emparejó in snake_case 308s behaves like accepts 308s accepts _ in snake_case 308s behaves like accepts 308s accepts local_1 in snake_case 308s behaves like accepts 308s accepts aB_1 in snake_case 308s behaves like offense 308s registers an offense for local1 in snake_case 308s behaves like accepts integer symbols 308s accepts integer symbol 308s accepts integer symbol array literal 308s behaves like offense 308s registers an offense for aB1 in snake_case 308s behaves like accepts 308s accepts local_123 in snake_case 308s behaves like accepts 308s accepts local_12 in snake_case 308s behaves like accepts 308s accepts local_ in snake_case 308s behaves like offense 308s registers an offense for @@local1 in snake_case 308s when AllowedPatterns is set 308s does not register an offense for a class variable name that matches an allowed pattern 308s registers an offense for a symbol that does not match an allowed pattern 308s does not register an offense for a global variable name that matches an allowed pattern 308s registers an offense for a class variable name that does not match an allowed pattern 308s registers an offense for a local variable name that does not match an allowed pattern 308s registers an offense for a instance variable name that does not match an allowed pattern 308s does not register an offense for a instance variable name that matches an allowed pattern 308s does not register an offense for a method name that matches an allowed pattern 308s does not register an offense for a symbol that matches an allowed pattern 308s registers an offense for a global variable name that does not match an allowed pattern 308s does not register an offense for a local variable name that matches an allowed pattern 308s registers an offense for a method name that does not match an allowed pattern 308s when AllowedIdentifiers is set 308s does not register an offense for a global variable name that is allowed 308s does not register an offense for a class variable name that is allowed 308s does not register an offense for a local variable name that is allowed 308s does not register an offense for a method name that is allowed 308s does not register an offense for a symbol that is allowed 308s does not register an offense for a instance variable name that is allowed 308s when CheckSymbols is false 308s does not register an offense for snake case numbering in symbol 308s when CheckMethodNames is false 308s does not register an offense for snake case numbering in method name 308s 308s RuboCop::Formatter::EmacsStyleFormatter 308s #file_finished 308s displays parsable text 308s when the offense is marked as todo 308s prints [Todo] along with message 308s when the offense is automatically corrected 308s prints [Corrected] along with message 308s when the offense message contains a newline 308s strips newlines out of the error message 308s #finished 308s does not report summary 308s 308s RuboCop::Cop::Utils::FormatString 308s finds the correct number of fields 308s #valid? 308s returns false when there are numbered and named formats 308s returns true when there are only unnumbered formats 308s returns true when there are only named with escaped `%` formats 308s returns true when there are only named formats 308s returns false when there are unnumbered and named formats 308s returns false when there are unnumbered and numbered formats 308s returns true when there are only numbered formats 308s #named_interpolation? 308s behaves like named format sequence 308s detects named format sequence 308s does not detect escaped named format sequence 308s behaves like named format sequence 308s detects named format sequence 308s does not detect escaped named format sequence 308s behaves like named format sequence 308s does not detect escaped named format sequence 308s detects named format sequence 308s behaves like named format sequence 308s does not detect escaped named format sequence 308s detects named format sequence 308s 308s RuboCop::Cop::Style::StringLiteralsInInterpolation 308s configured with double quotes preferred 308s registers an offense for single quotes within embedded expression in a heredoc string 308s registers an offense for single quotes within embedded expression 308s configured with single quotes preferred 308s accepts double quotes on a static string 308s can handle character literals 308s accepts double quotes on static strings within a method 308s registers an offense for double quotes within embedded expression 308s registers an offense for double quotes within embedded expression in a heredoc string 308s accepts double quotes on a broken static string 308s can handle a built-in constant parsed as string 308s when configured with a bad value 308s fails 308s 308s RuboCop::Cop::Style::FormatString 308s when enforced style is percent 308s registers an offense for sprintf with a hash argument 308s accepts format with 1 argument 308s accepts String#% 308s accepts sprintf with 1 argument 308s accepts sprintf without arguments 308s registers an offense for sprintf 308s registers an offense for sprintf with 3 arguments 308s registers an offense for format with 3 arguments 308s registers an offense and corrects when using springf with second argument that uses an operator 308s accepts format without arguments 308s registers an offense for format with a hash argument 308s registers an offense for format 308s when enforced style is sprintf 308s registers an offense for variable argument and assignment but does not autocorrect 308s does not register an offense for ambiguous cases 308s registers an offense for something followed by an array 308s does not register an offense for numbers 308s registers an offense for format with 2 arguments 308s registers an offense for format 308s works if the first operand contains embedded expressions 308s registers an offense for String#% with a hash argument 308s registers an offense for variable argument but does not autocorrect 308s registers an offense for a string followed by something 308s when enforced style is format 308s registers an offense for sprintf 308s does not register an offense for ambiguous cases 308s does not register an offense for numbers 308s registers an offense for sprintf with 2 arguments 308s does not autocorrect String#% with variable argument and assignment 308s registers an offense for variable argument but does not autocorrect 308s works if the first operand contains embedded expressions 308s registers an offense for a string followed by something 308s registers an offense for something followed by a hash 308s registers an offense for something followed by an array 308s 308s RuboCop::Cop::Style::ParallelAssignment 308s corrects when the expression uses a modifier if statement inside a method 308s corrects when the expression uses a modifier rescue statement 308s allows more left variables than right variables 308s corrects when assigning from multiple methods with blocks 308s registers an offense with indices 308s corrects parallel assignment inside rescue statements within method definitions 308s corrects when the expression uses a modifier rescue statement as the only thing inside of a method 308s corrects when the expression uses a modifier if statement 308s corrects when the expression is missing spaces 308s corrects when using single indentation 308s registers an offense with attributes when assignments must be reordered to preserve meaning 308s corrects when using constants 308s corrects parallel assignment in until statements 308s corrects when the expression uses a modifier until statement 309s corrects when assignments must be reordered to avoid changing meaning 309s registers an offense when assignments must be reordered to preserve meaning 309s registers an offense when assigning to namespaced constants 309s corrects when the right variable is an array 309s allows more right variables than left variables 309s registers an offense when the right side has constants 309s corrects when the right variable is a symbol array 309s corrects when the right variable is a word array 309s registers an offense when left hand side ends with an implicit variable 309s corrects when using parallel assignment in singleton method 309s registers an offense when the right side has multiple hashes 309s registers an offense when the right side has mixed expressions 309s corrects when the expression uses a modifier rescue statement inside of a method 309s corrects parallel assignment in unless statements 309s allows expanding an assigned var 309s corrects when the number of left hand variables matches the number of right hand variables 309s registers an offense with indices of different variables 309s registers an offense when the right side has mulitiple arrays 309s corrects when assigning to method returns 309s corrects when using nested indentation 309s registers an offense when right hand side has namespaced constants 309s corrects when the expression uses a modifier unless statement 309s registers an offense when right hand side has maps with blocks 309s registers an offense when assigning to same variables in same order 309s corrects parallel assignment in rescue statements within begin ... rescue 309s corrects when the expression uses a modifier while statement 309s corrects parallel assignment in while statements 309s registers an offense with indices and attributes when assignments must be reordered to preserve meaning 309s registers an offense when the right side has methods with/without blocks 309s corrects parallel assignment in if statements 309s behaves like allowed 309s allows assignment of: a, b = foo.map { |e| e.id } 309s behaves like allowed 309s allows assignment of: a, = 1, 2, 3 309s behaves like allowed 309s allows assignment of: a, = *foo 309s behaves like allowed 309s allows assignment of: a, b = *foo 309s behaves like allowed 309s allows assignment of: self.a, self.b = self.b, self.a 309s behaves like allowed 309s allows assignment of: a, = *'foo' 309s behaves like allowed 309s allows assignment of: a = 1 309s behaves like allowed 309s allows assignment of: a = *'foo' 309s behaves like allowed 309s allows assignment of: ary[0], ary[1], ary[2] = ary[1], ary[2], ary[0] 309s behaves like allowed 309s allows assignment of: a, b = Float::INFINITY 309s using custom indentation width 309s works with nesting 309s works with standard correction 309s works with rescue 309s works with guard clauses 309s behaves like allowed 309s allows assignment of: a = a 309s behaves like allowed 309s allows assignment of: a, = a 309s behaves like allowed 309s allows assignment of: a, = 1 309s behaves like allowed 309s allows assignment of: begin_token, end_token = CONSTANT 309s behaves like allowed 309s allows assignment of: a = 1; b = 2; 309s behaves like allowed 309s allows assignment of: obj.attr1, ary[0] = ary[0], obj.attr1 309s behaves like allowed 309s allows assignment of: *a, b = [1, 2, 3] 309s behaves like allowed 309s allows assignment of: a, b = foo() 309s behaves like allowed 309s allows assignment of: a, b, c = 1, 2, *node 309s behaves like allowed 309s allows assignment of: a, b, c = *node, 1, 2 309s behaves like allowed 309s allows assignment of: self.a, self.b = b, a 309s behaves like allowed 309s allows assignment of: CONSTANT, = 1, 2 309s behaves like allowed 309s allows assignment of: a, *b = [1, 2, 3] 309s behaves like allowed 309s allows assignment of: a, b = (a + b), (a - b) 309s behaves like allowed 309s allows assignment of: array = [1, 2, 3]; a, = array; 309s behaves like allowed 309s allows assignment of: a[0], a[1] = a[1], a[0] 309s behaves like allowed 309s allows assignment of: a, b, c = b, c, a 309s behaves like allowed 309s allows assignment of: obj.attr1, obj.attr2 = obj.attr2, obj.attr1 309s behaves like allowed 309s allows assignment of: foo = [1, 2, 3]; a, b, c = foo; 309s behaves like allowed 309s allows assignment of: a, b = b, a 309s 309s RuboCop::Cop::Style::GlobalVars 309s does not register an offense for built-in variable $0 309s does not register an offense for built-in variable $-p 309s does not register an offense for built-in variable $OFS 309s does not register an offense for built-in variable $+ 309s does not register an offense for built-in variable $MATCH 309s does not register an offense for built-in variable $ERROR_INFO 309s does not register an offense for built-in variable $LAST_PAREN_MATCH 309s does not register an offense for built-in variable $POSTMATCH 309s does not register an offense for built-in variable $" 309s does not register an offense for built-in variable $DEFAULT_OUTPUT 309s does not register an offense for built-in variable $FS 309s does not register an offense for built-in variable $= 309s registers an offense for $custom 309s does not register an offense for built-in variable $` 309s does not register an offense for built-in variable $-a 309s does not register an offense for built-in variable $PREMATCH 309s does not register an offense for built-in variable $CLASSPATH 309s does not register an offense for built-in variable $-d 309s does not register an offense for built-in variable $ENV_JAVA 309s does not register an offense for built-in variable $$ 309s does not register an offense for built-in variable $-F 309s does not register an offense for built-in variable $ERROR_POSITION 309s does not register an offense for built-in variable $PID 309s does not register an offense for built-in variable $LAST_READ_LINE 309s does not register an offense for built-in variable $* 309s does not register an offense for built-in variable $RS 309s does not register an offense for built-in variable $< 309s does not register an offense for built-in variable $-0 309s does not register an offense for built-in variable $, 309s does not register an offense for built-in variable $_ 309s does not register an offense for backrefs like $1 309s does not register an offense for built-in variable $-l 309s does not register an offense for built-in variable $stderr 309s does not register an offense for built-in variable $-i 309s does not register an offense for built-in variable $! 309s does not register an offense for built-in variable $-w 309s does not register an offense for built-in variable $; 309s does not register an offense for built-in variable $& 309s does not register an offense for built-in variable $: 309s does not register an offense for built-in variable $OUTPUT_FIELD_SEPARATOR 309s does not register an offense for built-in variable $INPUT_LINE_NUMBER 309s does not register an offense for built-in variable $VERBOSE 309s does not register an offense for built-in variable $\ 309s does not register an offense for built-in variable $@ 309s does not register an offense for built-in variable $PROGRAM_NAME 309s does not register an offense for built-in variable $. 309s does not register an offense for built-in variable $OUTPUT_RECORD_SEPARATOR 309s does not register an offense for built-in variable $ORS 309s does not register an offense for built-in variable $> 309s does not register an offense for built-in variable $INPUT_RECORD_SEPARATOR 309s does not register an offense for built-in variable $stdin 309s does not register an offense for built-in variable $LOAD_PATH 309s does not register an offense for built-in variable $FIELD_SEPARATOR 309s does not register an offense for built-in variable $IGNORECASE 309s does not register an offense for built-in variable $' 309s does not register an offense for built-in variable $LAST_MATCH_INFO 309s allows user permitted variables 309s does not register an offense for built-in variable $stdout 309s does not register an offense for built-in variable $NR 309s does not register an offense for built-in variable $DEFAULT_INPUT 309s does not register an offense for built-in variable $JRUBY_VERSION 309s does not register an offense for built-in variable $/ 309s does not register an offense for built-in variable $LOADED_FEATURES 309s does not register an offense for built-in variable $FILENAME 309s does not register an offense for built-in variable $PROCESS_ID 309s does not register an offense for built-in variable $? 309s does not register an offense for built-in variable $-I 309s does not register an offense for built-in variable $JRUBY_REVISION 309s does not register an offense for built-in variable $ARGV 309s does not register an offense for built-in variable $SAFE 309s does not register an offense for built-in variable $DEBUG 309s does not register an offense for built-in variable $CHILD_STATUS 309s does not register an offense for built-in variable $-v 309s does not register an offense for built-in variable $~ 309s 309s RuboCop::Cop::Lint::NonAtomicFileOperation 309s registers an offense when use `FileTest.exist?` before creating file with an option not `force` 309s registers an offense when use `FileTest.exist?` before remove file 309s does not register an offense when using complex conditional with `||` 309s registers an offense when use `FileTest.exist?` before force creating file 309s registers an offense when use `FileTest.exist?` with negated `if` before creating file 309s registers an offense when use `FileTest.exist?` before remove file 309s registers an offense when use `FileTest.exist?` before remove file 309s registers an offense when use `FileTest.exist?` before force creating file 309s registers an offense when use `FileTest.exist?` before creating file with an option `force: true` 309s registers an offense when use `FileTest.exist?` before remove file 309s does not register an offense when use `FileTest.exist?` before remove recursive file 309s does not register an offense when use `FileTest.exist?` before creating file with an option `force: false` 309s registers an offense when use `FileTest.exist?` before force remove file 309s registers an offense when using `FileTest.exist?` as a condition for `elsif` 309s registers an offense when use `FileTest.exist?` before remove file 309s registers an offense when use `FileTest.exist?` before force creating file 309s does not register an offense when using `FileTest.exist?` with `if` condition that has `else` branch 309s registers an offense when use `FileTest.exist?` before remove file 309s registers an offense when use `FileTest.exists?` before creating file 309s registers an offense when use `FileTest.exist?` before remove file 309s does not register an offense when not a method of file operation 309s registers an offense when use `FileTest.exist?` before remove file 309s registers an offense when use `FileTest.exist?` before creating file 309s registers an offense when use `FileTest.exist?` before remove file 309s registers an offense when use file existence checks `unless` by postfix before creating file 309s does not register an offense when use `FileTest.exist?` before remove recursive file 309s does not register an offense when checking for the existence of different files 309s does not register an offense when not an exist check 309s registers an offense when use `FileTest.exist?` before force remove file 309s does not register an offense when processing other than file operations 309s registers an offense when use file existence checks `if` by postfix before removing file 309s does not register an offense when not checking for the existence 309s registers an offense when use `FileTest.exist?` before remove file 309s does not register an offense when using complex conditional with `&&` 309s 309s RuboCop::Cop::Style::SpecialGlobalVars 309s when style is use_english_names 309s when add require English is disabled 309s is clear about variables from the English library vs those not 309s autocorrects $/ to $INPUT_RECORD_SEPARATOR 309s generates correct auto-config when mixed styles are used 309s registers an offense for $: 309s registers an offense for $" 309s registers an offense for $$ 309s autocorrects #{$!} to #{$ERROR_INFO} 309s autocorrects #$: to #{$LOAD_PATH} 309s does not register an offense for backrefs like $1 309s registers an offense for $0 309s generates correct auto-config when Perl variable names are used 309s when add require English is enabled 309s when English is already required at top-level 309s leaves require English alone for $$ 309s moves require English above replacement 309s when English has not been required at top-level 309s adds require English for twice `$*` in nested code 309s adds require English for $$ in nested code 309s adds require English for $$ 309s does not add for replacement outside of English lib 309s when style is use_perl_names 309s registers an offense for $LOAD_PATH 309s registers an offense for $PROGRAM_NAME 309s autocorrects #{$LOAD_PATH} to #$: 309s registers an offense for $PID 309s autocorrects $INPUT_RECORD_SEPARATOR to $/ 309s does not register an offense for backrefs like $1 309s registers an offense for $LOADED_FEATURES 309s registers an offense for $PROCESS_ID 309s when style is use_builtin_english_names 309s generates correct auto-config when mixed styles are used 309s autocorrects non-preffered builtin names 309s does not register an offense for Perl names 309s does not register an offense for backrefs like $1 309s generates correct auto-config when Perl variable names are used 309s does not register an offenses for builtin names 309s 309s RuboCop::Cop::InternalAffairs::MethodNameEndWith 309s registers an offense if `method_name` is a variable and there is potentially usage of `assignment_method?` 309s registers offense if there is potentially usage of `bang_method?` with safe navigation operator 309s registers offense if there is potentially usage of `bang_method?` 309s registers an offense if there is potentially usage of `assignment_method?` 309s does not register offense if argument for end_with? is some other string 309s registers offense if there is potentially usage of `predicate_method?` 309s Ruby >= 2.7 309s registers offense if argument for Symbol#end_with? is '?' 309s registers offense if argument for Symbol#end_with? is '!' with safe navigation operator 309s does not register offense if argument for Symbol#end_with? is some other string 309s registers an offense if method_name is symbol 309s registers offense if argument for Symbol#end_with? is '!' 309s registers an offense if method_name is symbol with safe navigation operator 309s registers offense if argument for Symbol#end_with? is '?' with safe navigation operator 309s 309s RuboCop::Cop::Lint::ImplicitStringConcatenation 309s when in a method call's argument list 309s notes that the strings could be separated by a comma instead 309s on a string with interpolations 309s does register an offense 309s when the string literals contain newlines 309s registers an offense 309s does not register an offense for a single string 309s on adjacent string literals on the same line 309s registers an offense 309s when inside an array 309s notes that the strings could be separated by a comma instead 309s on adjacent string literals on different lines 309s does not register an offense 309s on a single string literal 309s does not register an offense 309s 309s RuboCop::Cop::Style::StringLiterals 309s configured with single quotes preferred 309s detects unneeded double quotes within concatenated string 309s can handle character literals 309s accepts double quotes when interpolating a class variable 309s registers offense for double quotes when single quotes suffice 309s accepts double quotes in interpolation 309s can handle a built-in constant parsed as string 309s accepts " in a %w 309s does not register an offense for words with non-ascii chars and other control sequences 309s accepts double quotes when control characters are used 309s accepts single quotes 309s registers an offense for "\"" 309s accepts double quotes when new line is used 309s accepts heredocs 309s accepts double quotes at the start of regexp literals 309s accepts \\\n in a string 309s accepts double quotes with some other special symbols 309s accepts %q and %Q quotes 309s accepts double quotes when interpolating an instance variable 309s accepts % quotes 309s registers offense for correct + opposite 309s registers an offense for words with non-ascii chars 309s accepts single quotes in interpolation 309s accepts double quotes when single quotes are used 309s registers an offense for "\" 309s accepts double quotes when interpolating & quotes in multiple lines 309s accepts double quotes when interpolating a global variable 309s accepts double quotes when unicode control sequence is used 309s when configured with a bad value 309s fails 309s when ConsistentQuotesInMultiline is true 309s and EnforcedStyle is double_quotes 310s registers an offense for mixed quote styles in a continued string 310s doesn't register offense for single quotes with embedded double 310s registers an offense for unneeded single quotes in continuation 310s accepts continued strings using all double quotes 310s and EnforcedStyle is single_quotes 310s registers an offense for unneeded double quotes in continuation 310s accepts for double quotes with an escaped normal character 310s doesn't choke on heredocs with inconsistent indentation 310s registers an offense for mixed quote styles in a continued string 310s doesn't register offense for double quotes with embedded single 310s doesn't register offense for double quotes with interpolation 310s accepts continued strings using all single quotes 310s registers an offense for strings with line breaks in them 310s accepts for double quotes with an escaped special character 310s configured with double quotes preferred 310s does not accept multiple escaped single quotes in single quotes 310s registers offense for opposite + correct 310s accepts single quotes in interpolation 310s accepts escaped single quote in string with escaped non-' character 310s accepts % quotes 310s accepts double quotes 310s accepts single quotes at the start of regexp literals 310s registers offense for single quotes when double quotes would be equivalent 310s registers offense for escaped single quote in single quotes 310s accepts %q and %Q quotes 310s accepts single quotes when they are needed 310s flags single quotes with plain # (not #@var or #{interpolation} or #$global 310s accepts ' in a %w 310s can handle a built-in constant parsed as string 310s accepts single quotes in string with escaped non-' character 310s accepts single quoted string with backslash 310s accepts heredocs 310s 310s RuboCop::Cop::Style::SlicingWithRange 310s <= Ruby 2.5 310s reports no offense for array slicing with -1 310s >= Ruby 2.7 310s reports no offense for startless 310s >= Ruby 2.6 310s reports no offense for other methods 310s reports an offense for slicing to ..-1 310s reports no offense for excluding end 310s reports an offense for slicing from expression to ..-1 310s reports no offense for array with range inside 310s 310s RuboCop::Cop::Layout::FirstArrayElementIndentation 310s when array is argument to setter 310s registers an offense and corrects incorrectly indented first element 310s accepts correctly indented first element 310s when array is right hand side in assignment 310s registers an offense and corrects incorrectly indented first element 310s accepts a first element on the same line as the left bracket 310s accepts several elements per line 310s accepts correctly indented first element 310s accepts single line array 310s accepts multi-assignments with brackets 310s accepts multi-assignments with no brackets 310s accepts an empty array 310s when array is method argument 310s and argument are not surrounded by parentheses 310s accepts bracketless array 310s 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 310s registers an offense for incorrectly indented multi-line array that is the value of a single pair hash 310s 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 310s accepts indent based on the left bracket when the outer hash key and the left bracket is not on the same line 310s accepts single line array with brackets 310s accepts a correctly indented multi-line array with brackets 310s registers an offense and corrects incorrectly indented multi-line array with brackets 310s and arguments are surrounded by parentheses 310s and EnforcedStyle is special_inside_parentheses 310s accepts normal indentation for array within array 310s 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 310s accepts special indentation for second argument 310s accepts indent based on the preceding left parenthesis when the right bracket and its following pair is on the same line 310s accepts special indentation for first argument 310s registers an offense and corrects 'consistent' indentation 310s accepts indent based on the left brace when the outer hash key and the left bracket is not on the same line 310s registers an offense for incorrectly indented multi-line array that is the value of a single pair hash 310s registers an offense and corrects 'align_brackets' indentation 310s when using safe navigation operator 310s registers an offense and corrects 'consistent' indentation 310s and EnforcedStyle is consistent 310s registers an offense and corrects incorrect indentation 310s 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 310s accepts indent based on the left brace when the outer hash key and the left bracket is not on the same line 310s accepts normal indentation for first argument 310s accepts normal indentation for second argument 310s 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 310s registers an offense for incorrectly indented multi-line array that is the value of a single pair hash 310s when array is operand 310s registers an offense and corrects incorrectly indented ] 310s accepts correctly indented first element 310s registers an offense and corrects incorrectly indented first element 310s when indentation width is overridden for this cop 310s accepts correctly indented first element 310s registers an offense and corrects incorrectly indented 1st element 310s when EnforcedStyle is align_brackets 310s accepts correctly indented first element 310s accepts an empty array 310s accepts several elements per line 310s accepts multi-assignments with no brackets 310s accepts multi-assignments with brackets 310s accepts single line array 310s registers an offense and corrects incorrectly indented ] 310s accepts a first element on the same line as the left bracket 310s when 'special_inside_parentheses' style is used 310s registers an offense and corrects incorrect indentation 310s when 'consistent' style is used 310s registers an offense and corrects incorrectly indented 1st element 310s registers an offense and corrects incorrect indentation 310s when indentation width is overridden for this cop 310s accepts correctly indented first element 310s registers an offense and corrects indentation that does not match IndentationWidth 310s 310s RuboCop::Cop::Layout::EmptyLinesAroundBlockBody 310s when EnforcedStyle is no_empty_lines for { } block 310s accepts block body starting with a line with spaces 310s registers an offense for block body starting with a blank 310s registers an offense for block body starting with a blank passed to a multi-line method call 310s is not fooled by single line blocks 310s registers an offense for block body ending with a blank 310s Ruby 2.7 310s registers an offense for block body ending with a blank 310s when EnforcedStyle is empty_lines for { } block 310s registers an offense for block body not starting or ending with a blank 310s is not fooled by single line blocks 310s ignores block with an empty body 310s when EnforcedStyle is empty_lines for do end block 310s ignores block with an empty body 310s is not fooled by single line blocks 310s registers an offense for block body not starting or ending with a blank 310s when EnforcedStyle is no_empty_lines for do end block 310s registers an offense for block body starting with a blank passed to a multi-line method call 310s registers an offense for block body ending with a blank 310s accepts block body starting with a line with spaces 310s registers an offense for block body starting with a blank 310s is not fooled by single line blocks 310s Ruby 2.7 310s registers an offense for block body ending with a blank 310s 310s RuboCop::ConfigRegeneration 310s #options 310s it parses options from the generation comment 310s is expected to eq {:auto_gen_config=>true, :auto_gen_only_exclude=>true, :auto_gen_timestamp=>false, :exclude_limit=>"100", :offense_counts=>false} 310s when there is a blank todo file 310s is expected to eq {:auto_gen_config=>true} 310s when no todo file exists 310s is expected to eq {:auto_gen_config=>true} 310s when the todo file is malformed 310s is expected to eq {:auto_gen_config=>true} 310s 310s RuboCop::FileFinder 310s #find_file_upwards 310s returns nil when file is not found 310s returns a file to be found upwards 310s #find_last_file_upwards 310s returns nil when file is not found 310s returns the last file found upwards 310s 310s RuboCop::Cop::Style::MultipleComparison 310s registers an offense and corrects when `a` is compared three times, once on the righthand side 310s does not register an offense for comparing multiple literal strings 310s registers an offense and corrects when `a` is compared twice in `if` and `elsif` conditions 310s does not register an offense when comparing two sides of the disjunction is unrelated 310s does not register an offense for a duplicated condition 310s does not register an offense for comparing lvars 310s does not register an offense for comparing lvars when a string is on the lefthand side 310s does not register an offense for comparing multiple int literals 310s does not register an offense for Array#include? 310s does not register an offense for a == b || b == a 310s registers an offense and corrects when `a` is compared twice 310s does not register an offense for comparing an lvar 310s registers an offense and corrects when multiple comparison is not part of a conditional 310s registers an offense and corrects when `a` is compared three times 310s registers an offense and corrects when `a` is compared three times on the right hand side 310s when `AllowMethodComparison: true` 310s does not register an offense when using multiple method calls 310s when `AllowMethodComparison: false` 310s registers an offense and corrects when using multiple method calls 310s 310s RuboCop::Cop::Layout::LineLength 310s registers an offense for a line that's 81 characters wide 310s accepts the first line if it is a shebang line 310s registers an offense for long line before __END__ but not after 310s accepts a line that's 80 characters wide 310s highlights excessive characters 310s when AllowedPatterns option is set 310s only registers an offense for lines not matching the pattern 310s when AllowURI option is disabled 310s and all the excessive characters are part of a URL 310s registers an offense for the line 310s when IgnoreCopDirectives is enabled 310s and the Rubocop directive causes an excessive line length 310s accepts the line 310s and has explanatory text 310s does not register an offense 310s and the source is too long 310s highlights only the non-directive part 310s and the source contains non-directive # as comment 310s highlights only the non-directive part 310s and the source contains non-directive #s as non-comment 310s registers an offense for the line 310s and the Rubocop directive is excessively long 310s accepts the line 310s when line is indented with tabs 310s registers an offense for a long line 310s accepts a short line 310s when AllowURI option is enabled 310s and the excessive characters include part of a URL and another word 310s registers an offense for the line 310s and the URI is assigned 310s does not register an offense 310s and the URI is an argument 310s does not register an offense 310s and the excessive characters include a complete URL 310s registers an offense for the line 310s and the excessive characters include part of a URL and trailing whitespace 310s registers an offense for the line 310s and the excessive characters include part of a URL in double quotes 310s does not include the quote as part of the offense 310s and the URL fits within the max allowed characters 310s registers an offense for the line 310s and the URL does not have a http(s) scheme 310s rejects the line 310s and the scheme has been configured 310s does not register an offense 310s and an error other than URI::InvalidURIError is raised while validating a URI-ish string 310s does not crash 310s and all the excessive characters are part of a URL 310s accepts the line 310s and the URL is wrapped in double quotes 310s accepts the line 310s and the URL is wrapped in single quotes 310s accepts the line 310s and the URL is wrapped in braces with title 310s accepts the line 310s and the URL is wrapped in braces 310s accepts the line 310s and the excessive characters include part of a URL in braces and another word 310s registers an offense for the line 310s when AllowHeredoc option is enabled 310s accepts long lines in heredocs 310s when the source has no AST 310s does not crash 310s and only certain heredoc delimiters are permitted 310s rejects long lines in heredocs with not permitted delimiters 310s when IgnoreCopDirectives is disabled 310s and the source is too long and has a trailing cop directive 310s highlights the excess source and cop directive 310s and the source is acceptable length 310s with an inline comment 310s highlights the excess comment 310s with a trailing RuboCop directive 310s registers an offense for the line 310s autocorrection 310s no breakable collections 310s adds an offense and does not autocorrect it 310s array 310s when already on two lines 310s does not add any offenses 310s when under limit 310s does not add any offenses 310s when has inside array 310s adds an offense only to outer and autocorrects it 310s when over limit 310s adds an offense and autocorrects it 310s when two arrays on two lines allows outer to get broken first 310s adds an offense only to inner and does not autocorrect it 310s hash 310s when over limit because of a comment 310s adds an offense and does not autocorrect 310s when over limit 310s adds an offense and autocorrects it 310s when over limit and already on multiple lines long key 310s adds an offense and does not autocorrect 310s when over limit rocket symbol 310s adds an offense and autocorrects it 310s when nested hashes on same line 310s adds an offense only to outer and autocorrects it 310s when hash in method call 310s adds an offense only to outer and autocorrects it 310s when under limit 310s does not add any offenses 310s when over limit rocket 310s adds an offense and autocorrects it 310s when over limit and keys already on multiple lines 310s adds an offense and does not autocorrect 310s comments 310s when over limit with semicolon 310s adds offense and does not autocorrect 310s semicolon 310s when over limit and many semicolons 310s adds offense and autocorrects it by breaking the semicolonbefore the hash 310s when over limit and many spaces around semicolon 310s adds offense and autocorrects it by breaking the semicolonbefore the hash 310s when over limit 310s adds offense and autocorrects it by breaking the semicolonbefore the hash 310s when over limit and many semicolons at the end 310s adds offense and does not autocorrectbefore the hash 310s semicolon inside string literal 310s adds offense and autocorrects elsewhere 310s when over limit and one semicolon at the end 310s adds offense and does not autocorrectbefore the hash 310s when over limit and semicolon at end of line 310s adds offense and autocorrects it by breaking the first semicolonbefore the hash 310s semicolons inside string literal 310s adds offense and autocorrects elsewhere 310s when under limit 310s does not add any offenses 310s HEREDOC 310s when over limit with semicolon 310s adds offense and does not autocorrect 310s method definition 310s when under limit 310s does not add any offenses 310s when over limit 310s adds an offense and autocorrects it 310s long blocks 310s no spaces 310s adds an offense and does correct it 310s lambda syntax 310s when argument is not enclosed in parentheses 310s registers an offense and corrects 310s when argument is enclosed in parentheses 310s registers an offense and corrects 310s Ruby 2.7 310s adds an offense for {} block does correct it 310s adds an offense for do-end block and does correct it 310s do/end 310s adds an offense for block with arguments and does correct it 310s adds an offense for block without arguments and does correct it 310s let block 310s adds an offense and does correct it 310s braces 310s adds an offense and does correct it 310s method call 310s when unparenthesized 310s when there is one argument 310s does not autocorrect 310s when there are multiple arguments 310s splits the line after the first element 310s with a heredoc argument 310s does not break up the line when a heredoc is used as the first element of an array 310s does not break up the line 310s does not break up the line when parentheses are omitted 310s and other arguments before the heredoc 310s can break up the line before the heredoc argument 310s and the heredoc is after the line should split 310s can break up the line before the heredoc argument 310s with long argument list 310s registers an offense and autocorrects it 310s when under limit 310s does not add any offenses 310s when call with hash on same line 310s adds an offense only to outer and autocorrects it 310s when two method calls 310s adds an offense only to outer and autocorrects it 310s with a hash with a too long first item 310s when not parenthesized 310s when there is only one element 310s does not autocorrect 310s when there are multiple elements 310s moves the 2nd element to a new line 310s when on multiple lines 310s does not correct 310s when the hash is parenthesized 310s corrects 310s when parenthesized 310s corrects 310s when two together 310s does not add any offenses 310s when over limit 310s adds an offense and autocorrects it 310s when nested method calls allows outer to get broken up first 310s adds offense and does not autocorrect 310s multiple assignment 310s when over limit at right hand side 311s registers and corrects an offense 311s affecting by IndentationWidth from Layout\Tab 311s with AllowURI option 311s accepts a line that's including URI and exceeds by 1 char 311s accepts a line that's including URI 311s accepts a line that's including URI with text 311s accepts a line that's including URI in quotes with text 311s behaves like with tabs indentation 311s accepts a line that's including 1 tab with size 2 and 28 other characters 311s registers an offense for a line that's including 2 tab with size 2 and 28 other characters 311s without AllowURI option 311s behaves like with tabs indentation 311s accepts a line that's including 1 tab with size 2 and 28 other characters 311s registers an offense for a line that's including 2 tab with size 2 and 28 other characters 311s 311s RuboCop::Cop::Layout::CaseIndentation 311s with EnforcedStyle: case 311s with IndentOneStep: true 311s `case` ... `when` 311s accepts a `when` clause that's 2 spaces deeper than `case` 311s registers an offense and corrects a `when` clause that is equally indented with `case` 311s with everything on a single line 311s does not register an offense 311s when indentation width is overridden for this cop only 311s respects cop-specific IndentationWidth 311s regarding assignment where the right hand side is a `case` 311s registers an offense and corrects an assignment indented some other way 311s accepts a correctly indented assignment 311s `case` ... `in` 311s registers an offense and corrects an `in` clause that is equally indented with `case` 311s accepts an `in` clause that's 2 spaces deeper than `case` 311s regarding assignment where the right hand side is a `case` 311s registers an offense and corrects an assignment indented some other way 311s accepts a correctly indented assignment 311s when indentation width is overridden for this cop only 311s respects cop-specific IndentationWidth 311s with everything on a single line 311s does not register an offense 311s with IndentOneStep: false 311s `case` ... `when` 311s accepts correctly indented whens in complex combinations 311s accepts a `when` clause that's equally indented with `case` 311s doesn't get confused by symbols named `case` or `when` 311s doesn't get confused by strings with `case` in them 311s registers an offense and corrects a `when` clause that is indented deeper than `case` 311s regarding assignment where the right hand side is a `case` 311s registers an offense and corrects assignment indented as end 311s registers an offense and corrects correct + opposite style 311s accepts a correctly indented assignment 311s registers an offense and corrects assignment indented some other way 311s with everything on a single line 311s does not register an offense 311s `case` ... `in` 311s registers an offense and corrects an `in` clause that is indented deeper than `case` 311s doesn't get confused by strings with `case` in them 311s doesn't get confused by symbols named `case` or `in` 311s accepts correctly indented whens in complex combinations 311s accepts an `in` clause that's equally indented with `case` 311s with everything on a single line 311s does not register an offense 311s regarding assignment where the right hand side is a `case` 311s registers an offense and corrects assignment indented some other way 311s registers an offense and corrects assignment indented as `end` 311s registers an offense and corrects correct + opposite style 311s accepts a correctly indented assignment 311s with EnforcedStyle: end 311s with IndentOneStep: false 311s `case` ... `when` 311s `else` and `end` same line 311s does not register an offense 311s regarding assignment where the right hand side is a `case` 311s accepts a correctly indented assignment 311s registers an offense and corrects an assignment indented some other way 311s with everything on a single line 311s does not register an offense 311s `when` and `end` same line 311s does not register an offense 311s `case` ... `in` 311s `in` and `end` same line 311s does not register an offense 311s with everything on a single line 311s does not register an offense 311s regarding assignment where the right hand side is a `case` 311s registers an offense and corrects an assignment indented some other way 311s accepts a correctly indented assignment 311s with IndentOneStep: true 311s `case` ... `when` 311s regarding assignment where the right hand side is a `case` 311s accepts a correctly indented assignment 311s registers an offense and corrects an assignment indented as `case` 311s registers an offense and corrects an assignment indented some other way 311s with everything on a single line 311s does not register an offense 311s `case` ... `in` 311s regarding assignment where the right hand side is a `case` 311s registers an offense and corrects an assignment indented as `case` 311s accepts a correctly indented assignment 311s registers an offense and corrects an assignment indented some other way 311s with everything on a single line 311s does not register an offense 311s when `when` is on the same line as `case` 311s registers an offense but does not autocorrect 311s 311s RuboCop::Cop::Style::MinMax 311s with an array literal containing calls to `#min` and `#max` 311s when the expression is used in a parallel assignment 311s does not register an offense if the receiver is implicit 311s does not register an offense if the receivers do not match 311s does not register an offense if there are additional elements 311s registers an offense if the receivers match 311s when the expression stands alone 311s registers an offense if the receivers match 311s does not register an offense if there are additional elements 311s does not register an offense if the receivers do not match 311s does not register an offense if the receiver is implicit 311s when the expression is used as a return value 311s does not register an offense if there are additional elements 311s does not register an offense if the receiver is implicit 311s does not register an offense if the receivers do not match 311s registers an offense if the receivers match 311s 311s RuboCop::CLI 311s registers an offense for Parser warnings 311s finds a file with no .rb extension but has a shebang line 311s does not register any offenses for an empty file 311s checks a given file with faults and returns 1 312s registers an offense for a syntax error 312s can process a file with an invalid UTF-8 byte sequence 312s configuration of `AutoCorrect` 312s when setting `AutoCorrect: false` for `Style/StringLiterals` 312s does not suggest `1 offense autocorrectable` for `Style/StringLiterals` 312s configuration from file 313s runs without errors for an unrecognized cop name in .rubocop.yml and `--ignore-unrecognized-cops` option is given 313s can exclude directories relative to .rubocop.yml 313s shows an error if the input file cannot be found 313s cannot disable Syntax offenses 313s uses the DefaultFormatter if another formatter is not specified 313s fails when a configuration file has invalid YAML syntax 313s works when a cop that others depend on is disabled 314s allows the default configuration file as the -c argument 314s can exclude a typical vendor directory 314s fails when a configuration file specifies an invalid Severity 314s can be configured with option to disable a certain error 314s does not read files in excluded list 314s displays cop names if DisplayCopNames is false 315s matches included/excluded files correctly when . argument is given 315s can be configured to merge a parameter that is a hash 315s finds included files 315s works when a configuration file passed by -c specifies Exclude with strings 315s prints an error message for an unrecognized EnforcedStyle 315s excludes the vendor directory by default 315s ignores excluded files 315s does not consider Include parameters in subdirectories 316s can exclude a vendor directory indirectly 316s works when a configuration file specifies Severity for Metrics/ParameterLists and Layout 316s can have different config files in different directories 316s can disable parser-derived offenses with warning severity 316s works when a configuration file specifies Severity for Metrics/ParameterLists and Layout/LineLength 316s can use an alternative max line length from a config file 317s displays style guide URLs if DisplayStyleGuide is true 317s can be configured to override a parameter that is a hash in a special case 317s prefers a config file in ancestor directory to another in home 317s can exclude a vendor directory with an erroneous config file 317s only reads configuration in explicitly included hidden directories 317s can be configured with project config to disable a certain error 318s works when a configuration file passed by -c specifies Exclude with regexp 318s prints a warning for an unrecognized configuration parameter 318s prints an error for an unrecognized cop name in .rubocop.yml 318s without using namespace 318s can be configured with option to disable a certain error 318s when configuration is taken from $HOME/.rubocop.yml 318s handles relative excludes correctly when run from project root 318s when a value in a hash is overridden with nil 318s acts as if the key/value pair was removed 318s when configured for indented_internal_methods style indentation 319s registers offense for normal indentation in module 319s accepts indented_internal_methods style indentation 319s registers offense for normal indentation in class 319s when --force-default-config option is specified 319s when config file specified with -c 319s ignores config file 319s when no config file specified 319s ignores config file 319s when obsolete MultiSpaceAllowedForOperators param is used 319s displays a warning 319s when a file inherits from a higher level 320s inherits relative excludes correctly 320s when MultilineOperationIndentation is used with aligned style and IndentationWidth parameter 320s fails with an error message 320s when MultilineMethodCallIndentation is used with aligned style and IndentationWidth parameter 320s fails with an error message 320s obsolete cops 320s when configuration for TrailingComma is given 320s fails with an error message 320s when errors are raised while processing files due to bugs 320s displays an error message to stderr 320s unknown cop 320s in configuration file is given 320s prints the error and exists with code 2 320s configuration of `require` 320s unknown library is specified 320s exits with 2 320s configuration of target Ruby versions 320s when configured with an unknown version 320s fails with an error message 320s when configured with an unsupported ruby 320s fails with an error message 320s rubocop:disable comment 321s can disable selected cops in a code section 321s can disable all cops on a single line 321s can disable all cops in a code section 321s can disable selected cops on a single line 321s Specify `--init` option to `rubocop` command 321s when .rubocop.yml does not exist 321s generate a .rubocop.yml file 321s when .rubocop.yml already exists 321s fails with an error message 321s without using namespace 321s can disable selected cops on a single line but prints a warning 321s when not necessary 322s causes an offense to be reported 322s and RedundantCopDisableDirective is individually disabled 322s does not report RedundantCopDisableDirective offenses 322s and RedundantCopDisableDirective is individually excluded 322s does not report RedundantCopDisableDirective offenses 322s when using `rubocop:disable` line comment for `Lint/EmptyBlock` 322s does not register an offense for `Lint/RedundantCopDisableDirective` 322s and there are no other offenses 322s exits with error code 322s when using `rubocop:disable` line comment for `Style/RedundantInitialize` 323s does not register an offense for `Lint/RedundantCopDisableDirective` 323s and RedundantCopDisableDirective is disabled through department 323s does not report RedundantCopDisableDirective offenses 323s when --autocorrect-all is given 323s does not trigger RedundantCopDisableDirective due to lines moving around 323s style guide only usage 323s via the config 323s AllCops/DisabledByDefault 323s when it is false 323s runs all cops that are enabled in default configuration 323s when it is true 323s runs only the cop configured in .rubocop.yml 323s AllCops/StyleGuideCopsOnly 323s when it is true 323s skips cops that have no link to a style guide 323s when it is false 324s runs cops for rules regardless of any link to the style guide 324s via the cli option 324s --only-guide-cops 324s overrides configuration of AllCops/StyleGuideCopsOnly 324s runs cops for rules that link to a style guide 324s skips cops that have no link to a style guide 324s when checking a correct file 324s returns 0 324s when super is used with a block 324s still returns 0 324s when given a file/directory that is not under the current dir 324s and the directory is absolute 325s checks a Rakefile but Style/FileName does not report 325s and the Rakefile path is absolute 325s checks a Rakefile but Style/FileName does not report 325s and the Rakefile path is relative 325s checks a Rakefile but Style/FileName does not report 325s and the directory is relative 325s checks a Rakefile but Style/FileName does not report 325s info severity 325s when there are not only info offenses 325s returns a 1 code 325s when given `--display-only-fail-level-offenses` 325s returns a 0 code but does not list offenses 325s when `Lint/Syntax` is given `Severity: info` 325s is an invalid configuration 325s when given `--fail-level info` 326s returns a 1 code 326s when there are only info offenses 326s returns a 0 code 326s when interrupted 326s returns 130 326s cops can exclude files based on config 326s ignores excluded files 326s when parallel static by default 326s when setting `UseCache: false` 326s fails with an error message 326s when setting `UseCache: true` 327s fails with an error message 327s when specifying `--debug` option only` 327s fails with an error message 327s when specifying `--debug` and `-a` options` 327s uses parallel inspection when correcting the file 327s for a disabled cop 327s reports no offense when enabled on part of a file 327s when lines end with CR+LF 327s reports an offense 327s when a directory is named `*` 327s does not crash 327s 327s RuboCop::Cop::Style::VariableInterpolation 327s registers an offense for interpolated class variables 327s registers an offense for interpolated regexp back references 327s registers an offense for interpolated global variables in symbol 327s does not register an offense for variables in expressions 327s registers an offense for interpolated instance variables 327s registers an offense for interpolated global variables in regexp 327s registers an offense for interpolated global variables in string 327s registers an offense for interpolated regexp nth back references 327s registers an offense for interpolated global variables in backticks 327s 327s RuboCop::RakeTask 327s defining tasks 327s creates a rubocop task and a rubocop auto_correct task 327s creates a rubocop task and a rubocop autocorrect task 327s creates a named task and a named auto_correct task 327s creates a named task and a named autocorrect task 327s running tasks 327s uses the default formatter from .rubocop.yml if no formatter option is given 327s runs with default options 327s runs with specified options if a block is given 327s will not error when result is not 0 and fail_on_error is false 327s exits when result is not 0 and fail_on_error is true 327s allows nested arrays inside formatters, options, and requires 327s autocorrect 327s runs with with the options that were passed to its parent task 327s runs with --autocorrect-all 327s runs with --autocorrect 327s 327s RuboCop::Cop::Style::DoubleCopDisableDirective 327s registers an offense for duplicate todo directives 327s does not register an offense for cops with single cop directive 327s registers an offense for duplicate disable directives 327s 327s RuboCop::Cop::Style::RedundantFreeze 327s allows .freeze on method call 327s behaves like mutable objects 327s allows (a + b) with freeze 327s behaves like mutable objects 327s allows 'str' with freeze 327s behaves like mutable objects 327s allows ('a' * 20) with freeze 327s behaves like mutable objects 328s allows ('a' + 'b') with freeze 328s behaves like immutable objects 328s registers an offense for frozen 1 328s behaves like immutable objects 328s registers an offense for frozen :sym 328s behaves like mutable objects 328s allows "top#{1 + 2}" with freeze 328s behaves like mutable objects 328s allows ([42] * 42) with freeze 328s behaves like mutable objects 328s allows ::ENV['foo'] with freeze 328s behaves like mutable objects 328s allows { a: 1, b: 2 } with freeze 328s behaves like immutable objects 328s registers an offense for frozen [1, 2, 3].size 328s behaves like immutable objects 328s registers an offense for frozen (a > b) 328s behaves like immutable objects 328s registers an offense for frozen ('a' > 'b') 328s when the receiver is a string literal 328s Ruby 2.7 or lower 328s when the frozen string literal comment is missing 328s behaves like mutable objects 328s allows "#{a}" with freeze 328s when the frozen string literal comment is false 328s behaves like mutable objects 328s allows "#{a}" with freeze 328s when the frozen string literal comment is true 328s behaves like immutable objects 328s registers an offense for frozen "#{a}" 328s Regexp and Range literals 328s Ruby 3.0 or higher 328s behaves like immutable objects 328s registers an offense for frozen (1..5) 328s behaves like immutable objects 328s registers an offense for frozen (1...5) 328s behaves like immutable objects 328s registers an offense for frozen /./ 328s Ruby 2.7 or lower 328s behaves like mutable objects 328s allows /./ with freeze 328s behaves like mutable objects 328s allows (1..5) with freeze 328s behaves like mutable objects 328s allows (1...5) with freeze 328s Ruby 3.0 or higher 328s when the frozen string literal comment is true 328s behaves like mutable objects 328s allows "#{a}" with freeze 328s when the frozen string literal comment is missing 328s behaves like mutable objects 328s allows "#{a}" with freeze 328s when the frozen string literal comment is false 328s behaves like mutable objects 328s allows "#{a}" with freeze 328s behaves like mutable objects 328s allows ENV['foo'] with freeze 328s behaves like immutable objects 328s registers an offense for frozen 1.5 328s behaves like immutable objects 328s registers an offense for frozen 'foo'.count 328s behaves like immutable objects 328s registers an offense for frozen (2 > 1) 328s behaves like mutable objects 328s allows [1, 2, 3] with freeze 328s behaves like immutable objects 328s registers an offense for frozen :"" 328s behaves like immutable objects 328s registers an offense for frozen (1 + 2) 328s 328s RuboCop::Cop::Style::MultilineTernaryOperator 328s registers an offense and corrects when condition is multiline 328s register an offense and corrects when returning a multiline ternary operator expression with `return` 328s registers an offense and corrects when everything is on a separate line 328s registers an offense and corrects when condition is multiline and using hash key assignment 328s accepts a single line ternary operator expression 328s registers an offense and corrects when condition is multiline and using assignment method 328s register an offense and corrects when returning a multiline ternary operator expression with `next` 328s registers an offense and corrects when the false branch is on a separate line 328s registers offense and corrects when the if branch and the else branch are on a separate line from the condition 328s register an offense and corrects when returning a multiline ternary operator expression with `break` 328s register an offense and corrects when returning a multiline ternary operator expression with method call 328s registers an offense and corrects when the false branch is on a separate line and assigning a return value 328s 328s RuboCop::Cop::Layout::SpaceInsideRangeLiteral 328s registers an offense in multiline range literal with space in it 328s accepts complex range literal with space in it 328s registers an offense for space inside ... literal 328s accepts no space inside ... literal 328s accepts multiline range literal with no space in it 328s registers an offense for space inside .. literal 328s accepts no space inside .. literal 328s 328s RuboCop::Cop::Lint::NonLocalExitFromIterator 328s allows return with value 328s allows return in define_singleton_method 328s allows return in define_method 328s when block is lambda 328s allows 328s when block in middle of nest is followed by method chain 328s registers offenses 328s when block is followed by method chain 328s and has single argument 328s registers an offense 328s and has no argument 328s allows 328s and has multiple arguments 328s registers an offense 328s when block is not followed by method chain 328s allows 328s when the return is within a nested method definition 328s allows return in a class method definition 328s allows return in an instance method definition 328s when lambda is inside of block followed by method chain 328s allows 328s 328s RuboCop::Cop::Lint::OutOfRangeRegexpRef 328s registers an offense when the regexp is matched with `match` 328s does not register offense to a regexp with valid references for numbered captures 328s does not register an offense regexp containing non literal 328s ignores calls to `match?` 328s ignores `match` with no receiver 328s only registers an offense when the regexp is matched as a literal 328s registers an offense when out of range references are used for numbered captures 328s registers an offense when out of range references are used for named captures 328s does not register offense to a regexp with valid references for a mix named and numbered captures 328s does not register offense to a regexp with encoding option and valid references for numbered captures 328s registers an offense when out of range references are used for non captures 328s does not register an offense when in range references are used inside a when clause 328s only registers an offense for when clauses when the regexp is matched as a literal 328s uses the maximum number of captures for when clauses with multiple conditions 328s registers an offense when references are used before any regexp 328s ignores regexp when clause conditions that contain interpolations 328s registers an offense when out of range references are used inside a when clause 328s ignores `match` with no arguments 328s does not register offense to a regexp with valid references for named captures 328s registers an offense when the regexp is matched with `===` 328s registers an offense when out of range references are used for mix of numbered and named captures 328s registers an offense when the regexp appears on the right hand side of `=~` 328s matching with `[]` 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s only registers an offense when the regexp is matched as a literal 328s matching with `grep` 328s registers an offense when out of range references are used 328s only registers an offense when the regexp is matched as a literal 328s does not register an offense when in range references are used 328s matching with sub! 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s only registers an offense when the regexp is matched as a literal 328s matching with index 328s only registers an offense when the regexp is matched as a literal 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s matching with match 328s registers an offense when out of range references are used 328s only registers an offense when the regexp is matched as a literal 328s does not register an offense when in range references are used 328s matching with rpartition 328s only registers an offense when the regexp is matched as a literal 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s matching with scan 328s does not register an offense when in range references are used 328s registers an offense when out of range references are used 328s only registers an offense when the regexp is matched as a literal 328s matching with gsub! 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s only registers an offense when the regexp is matched as a literal 328s when both the LHS and RHS use regexp 328s only considers the RHS regexp 328s matching with sub 328s only registers an offense when the regexp is matched as a literal 328s does not register an offense when in range references are used 328s registers an offense when out of range references are used 328s matching with partition 328s registers an offense when out of range references are used 328s only registers an offense when the regexp is matched as a literal 328s does not register an offense when in range references are used 328s matching with slice! 328s only registers an offense when the regexp is matched as a literal 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s when calling a regexp method on a nth-ref node 328s does not register an offense when calling gsub on a valid nth-ref 328s registers an offense when calling gsub on an invalid nth-ref 328s registers an offense if the capturing groups have changed 328s matching with rindex 328s only registers an offense when the regexp is matched as a literal 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s matching with start_with? 328s only registers an offense when the regexp is matched as a literal 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s matching with gsub 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s only registers an offense when the regexp is matched as a literal 328s matching with end_with? 328s only registers an offense when the regexp is matched as a literal 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s matching with slice 328s only registers an offense when the regexp is matched as a literal 328s registers an offense when out of range references are used 328s does not register an offense when in range references are used 328s 328s RuboCop::Cop::Lint::ConstantResolution 328s registers no offense when qualifying a const 328s registers no offense qualifying a namespace const 328s registers an offense not qualifying a namespace const 328s registers an offense not qualifying a const 328s with Ignore set 328s registers no offense with an unqualified const 328s registers no offense when qualifying a const 328s registers no offense qualifying a namespace const 328s registers an with a namespace const 328s registers an offense not qualifying another const 328s registers no offense when an unqualified namespace const 328s with Only set 328s registers an offense with an unqualified const 328s registers no with a namespace const 328s registers no offense when qualifying a const 328s registers no offense not qualifying another const 328s registers an offense when an unqualified namespace const 328s registers no offense qualifying a namespace const 328s module & class definitions 328s does not register offense 328s 328s RuboCop::Cop::Lint::LambdaWithoutLiteralBlock 328s registers and corrects an offense when using lambda with a proc variable block argument 328s registers and corrects an offense when using lambda with `&proc {}` block argument 328s does not register an offense when using lambda with a symbol proc 328s does not register an offense when using `lambda.call` 328s does not register an offense when using lambda with a literal block 328s registers and corrects an offense when using lambda with `&Proc.new {}` block argument 328s 328s RuboCop::Cop::Team 328s when incompatible cops are correcting together 328s autocorrects without SyntaxError 328s #external_dependency_checksum 329s does not error with no cops 329s when a cop joins 329s returns string 329s when multiple cops join 329s returns string 329s when cop with different checksum joins 329s has a different checksum for the whole team 329s #debug? 329s when the option argument of .new is omitted 329s is expected to be falsey 329s when { debug: true } is passed to .new 329s is expected to be truthy 329s .new 329s accepts cops directly classes 329s calls mobilize when passed classes 329s #forces 329s returns force instances 329s when a cop joined a force 329s returns the force 329s when no cops joined force 330s returns nothing 330s when multiple cops joined a same force 330s returns only one force instance 330s #autocorrect? 330s when { autocorrect: true } is passed to .new 330s is expected to be truthy 330s when the option argument of .new is omitted 330s is expected to be falsey 330s #inspect_file 330s returns offenses 330s when a correction raises an error 330s records Team#errors 330s when autocorrection is enabled and file encoding is mismatch 330s no error occurs 330s when Parser reports non-fatal warning for the file 330s returns Parser warning offenses 331s returns offenses from cops 331s when a cop has no interest in the file 331s returns all offenses except the ones of the cop 331s when Cop#on_* raises an error 331s records Team#errors 331s when autocorrection is enabled 331s does autocorrection 331s still returns offenses 331s when done twice 331s allows cops to get ready 331s #cops 331s returns cop instances 331s when some classes are disabled with config 332s does not return instances of the classes 332s when only some cop classes are passed to .new 332s returns only instances of the classes 332s 332s RuboCop::Formatter::PacmanFormatter 332s #next_step 332s when a offense is detected in a file 332s calls the step function with a dot 332s when no offenses are detected 332s calls the step function with a dot 332s #step 332s character is ghost 332s removes the first • and puts a ghosts 332s character is Pacman 332s removes the first • and puts a ᗧ 332s character is normal dot 332s removes the first • and puts a . 332s character is a Pacdot 332s leaves the progress_line as it is 332s #update_progress_line 332s when total_files is greater than columns in the terminal 332s updates the progress_line properly 332s when need to change the line 332s updates the progress_line properly 332s when total_files less than columns in the terminal 332s updates the progress_line properly 332s 332s RuboCop::Cop::Style::TrailingBodyOnClass 332s registers an offense when body trails after class definition 332s autocorrects with comment after body 332s accepts class inheritance 332s registers offense with multi-line class 332s accepts regular class 332s when class is not on first line of processed_source 332s autocorrect offense 332s 332s RuboCop::Cop::Style::DocumentationMethod 332s when declaring methods outside a class 332s with documentation comment 332s does not register an offense with `end` on the same line 332s does not register an offense 332s when declaring methods in a module 332s with both public and private methods 332s when the public method has documentation 332s does not register an offense 332s when required for non-public methods 332s registers an offense 332s when the public method has no documentation 332s registers an offense 332s without documentation comment 332s when method is module_function 332s registers an offense for inline def 332s registers an offense for separate def 332s when method is public 332s registers an offense with `end` on the same line 332s registers an offense 332s when method is private 332s does not register an offense with `end` on the same line 332s does not register an offense with inline `private` and `end` 332s does not register an offense with inline `private` 332s does not register an offense 332s when required for non-public methods 332s registers an offense with `end` on the same line 332s registers an offense 332s registers an offense with inline `private` 332s registers an offense with inline `private` and `end` 332s with documentation comment 332s when method is public 332s does not register an offense with `end` on the same line 332s does not register an offense 332s when method is module_function 332s does not register an offense for inline def 332s does not register an offense for separate def 332s without documentation comment 332s when method is protected 332s does not register an offense 332s does not register an offense with inline `protected` 332s when required for non-public methods 332s registers an offense 332s registers an offense with inline `protected` 332s when method is public 332s registers an offense when method is public, but there were private methods before 332s registers an offense 332s registers an offense with `end` on the same line 332s when method is private 332s does not register an offense with `end` on the same line 332s does not register an offense with inline `private` and `end` 332s does not register an offense 332s does not register an offense with inline `private` 332s when required for non-public methods 332s registers an offense 332s registers an offense with `end` on the same line 332s registers an offense with inline `private` and `end` 332s registers an offense with inline `private` 332s when declaring methods for class instance 332s without documentation comment 332s registers an offense with `end` on the same line 332s registers an offense 332s with documentation comment 332s does not register an offense with `end` on the same line 332s does not register an offense 332s when method is private 332s does not register an offense with inline `private` 332s does not register an offense with inline `private` and `end` 332s does not register an offense 332s does not register an offense with `end` on the same line 332s when required for non-public methods 332s registers an offense with inline `private` and `end` 332s registers an offense with inline `private` 332s registers an offense 332s registers an offense with `end` on the same line 332s with both public and private methods 332s when the public method has no documentation 332s registers an offense 332s when required for non-public methods 332s registers an offense 332s when the public method has documentation 332s does not register an offense 332s when declaring methods in a class 332s with directive comment 332s registers an offense 332s with both public and private methods 332s when the public method has no documentation 332s registers an offense 332s when the public method has documentation 332s does not register an offense 332s when required for non-public methods 332s registers an offense 332s with documentation comment 332s when method is public 332s does not register an offense 332s does not register an offense with `end` on the same line 332s with annotation comment 332s registers an offense 332s without documentation comment 332s when method is private 332s does not register an offense with `end` on the same line 332s does not register an offense with inline `private` and `end` 332s does not register an offense with inline `private` 332s does not register an offense 332s when required for non-public methods 332s registers an offense with inline `private` 332s registers an offense 332s registers an offense with inline `private` and `end` 332s registers an offense with `end` on the same line 332s when method is public 332s registers an offense 332s registers an offense with `end` on the same line 332s with both public and private methods 332s when the public method has no documentation 332s registers an offense 332s when required for non-public methods 332s registers an offense 332s when the public method has documentation 332s does not register an offense 332s 332s RuboCop::Cop::Layout::MultilineAssignmentLayout 332s new_line style 332s ignores arrays 332s registers an offense for masgn with multi-line lhs 332s allows multi-line assignments on separate lines 332s registers an offense when the rhs is on the same line in setters 332s registers an offense when the rhs is on the same line 332s registers an offense when the rhs is on the same line in []= 332s configured supported types 332s allows supported types to be configured 332s when supported types is block 332s allows multi-line assignments when using shovel operator 332s allows multi-line assignments when using block definition on separate lines 332s registers an offense when multi-line assignments using block definition is on the same line 332s allows multi-line block defines on separate lines 332s same_line style 332s allows multi-line assignments on the same line 332s ignores arrays 332s registers an offense for masgn with multi-line lhs 332s registers an offense when the rhs is a different line in setters 332s registers an offense when the rhs is a different line in []= 332s registers an offense when the rhs is a different line 332s configured supported types 332s allows supported types to be configured 332s when supported types is block 332s allows multi-line assignments when using shovel operator 332s allows when multi-line assignments using block definition is on the same line 332s registers an offense when multi-line assignments using block definition on separate lines 332s allows multi-line block defines on separate lines 332s 332s RuboCop::Cop::Lint::UriEscapeUnescape 332s registers an offense when using `URI.escape('http://example.com')` 332s registers an offense when using `URI.escape('@?@!', '!?')` 332s registers an offense when using `::URI.decode(enc_uri)` 332s registers an offense when using `::URI.escape('http://example.com')` 332s registers an offense when using `URI.encode('http://example.com')` 332s registers an offense when using `URI.unescape(enc_uri)` 332s registers an offense when using `::URI.encode('http://example.com)` 332s registers an offense when using `URI.decode(enc_uri)` 332s registers an offense when using `::URI.unescape(enc_uri)` 332s 332s RuboCop::Cop::Naming::ConstantName 332s does not check if rhs is another constant 332s registers an offense for snake case in const name 332s does not check names if rhs is a method call with conditional assign 332s does not check names if rhs is a `Struct.new` with conditional assign 332s allows screaming snake case in const name 332s checks qualified const names 332s registers offenses for camel case in multiple const assignment 332s registers an offense for camel case in const name 332s does not check names if rhs is a `Struct.new` 332s registers an offense for camel case in const namewhen using frozen range assignment 332s registers an offense for camel case in const namewhen using frozen object assignment 332s does not check if rhs is a non-offensive const assignment 332s does not check names if rhs is a method call with block 332s does not check names if rhs is a method call 332s allows screaming snake case in multiple const assignment 332s registers an offense for non-POSIX upper case in const name 332s allows screaming snake case with POSIX upper case characters 332s does not check names if rhs is a `Class.new` with conditional assign 332s does not check names if rhs is a `Class.new` 332s registers 1 offense if rhs is offending const assignment 332s when a rhs is a conditional expression 332s when conditional branches contain a value other than a constant 332s does not check names 332s when conditional branches contain only constants 332s does not check names 332s when conditional branches contain only string values 332s registers an offense 332s 332s RuboCop::Cop::Style::HashTransformValues 332s when using Ruby 2.4 or newer 332s flags _.map {...}.to_h when transform_values could be used when line break before `to_h` 332s does not flag _.map{...}.to_h when both key & value are transformed 332s does not flag `Hash[_.map{...}]` when its receiver is an array literal 332s correctly autocorrects _.map{...}.to_h with block 332s does not flag `_.map{...}.to_h` when its receiver is `with_index` 332s does not flag each_with_object when both key & value are transformed 332s flags Hash[_.map{...}] when transform_values could be used 332s does not flag `Hash[_.map{...}]` when its receiver is `with_index` 332s does not flag each_with_object when receiver is array literal 332s does not flag Hash[_.map{...}] when both key & value are transformed 332s does not flag _.map {...}.to_h when value block argument is unused 332s does not flag `_.map{...}.to_h` when its receiver is `zip` 332s does not flag `each_with_object` when its argument is used in the value 332s does not flag `Hash[_.map{...}]` when its receiver is `each_with_index` 332s does not flag each_with_object when value transformation uses key 332s flags _.map {...}.to_h when transform_values could be used when wrapped in another block 332s does not flag value transformation when receiver is array literal 332s does not flag `Hash[_.map{...}]` when its receiver is `zip` 332s does not flag value transformation in the absence of to_h 332s does not flag each_with_object when its argument is not modified 332s does not flag `_.map{...}.to_h` when its receiver is `each_with_index` 332s does not flag each_with_object when no transformation occurs 332s does not flag `each_with_object` when its receiver is `zip` 332s does not flag `each_with_object` when its receiver is `each_with_index` 332s does not flag `each_with_object` when its receiver is `with_index` 332s flags _.map {...}.to_h when transform_values could be used 332s with safe navigation operator 332s flags each_with_object when transform_values could be used 332s with multiline block 332s flags each_with_object when transform_values could be used 332s with inline block 332s flags each_with_object when transform_values could be used 332s when using Ruby 2.6 or newer 332s does not flag `_.to_h{...}` when its receiver is an array literal 332s register and corrects an offense _.to_h{...} when value is a hash literal and is enclosed in braces 332s flags _.to_h{...} when transform_values could be used 332s does not flag `_.to_h{...}` when its receiver is `with_index` 332s does not flag `_.to_h{...}` when its receiver is `zip` 332s does not flag `_.to_h{...}` when its receiver is `each_with_index` 332s does not flag _.to_h {...} when value block argument is unused 332s does not flag `_.to_h{...}` when both key & value are transformed 332s register and corrects an offense _.to_h{...} when value is a hash literal and is not enclosed in braces 332s below Ruby 2.6 332s does not flag _.to_h{...} 332s below Ruby 2.4 332s does not flag even if transform_values could be used 332s 332s RuboCop::Cop::Lint::SafeNavigationWithEmpty 332s outside a conditional 332s registers no offense 332s in a conditional 332s registers an offense and corrects on `&.empty?` 332s does not register an offense on `.empty?` 332s 332s RuboCop::Cop::Lint::NoReturnInBeginEndBlocks 333s rejects a return statement inside a block when using **= 333s accepts a block with no return when using /= 333s rejects a return statement inside a block when using /= 333s accepts a block with no return when using -= 333s accepts a block with no return when using **= 333s rejects a return statement inside a block when using += 333s accepts a block with no return when using ||= 333s rejects a return statement inside a block when using ||= 333s rejects a return statement inside a block when using -= 333s accepts a block with no return when using *= 333s accepts a block with no return when using = 333s rejects a return statement inside a block when using *= 333s accepts a block with no return when using += 333s rejects a return statement inside a block when using = 333s 333s RuboCop::Cop::Lint::EnsureReturn 333s does not check when ensure block has no body 333s does not register an offense for return outside ensure 333s registers an offense when returning multiple values in `ensure` 333s registers an offense and corrects for return in ensure 333s registers an offense and corrects for return with argument in ensure 333s 333s RuboCop::Cop::Metrics::ModuleLength 333s rejects a module with more than 5 lines 333s accepts a module with 5 lines 333s does not count blank lines 333s accepts a module with less than 5 lines 333s reports the correct beginning and end lines 333s accepts empty modules 333s when CountComments is enabled 333s also counts commented lines 333s when inspecting a class defined with ::Module.new 333s registers an offense 333s when using numbered parameter 333s when inspecting a class defined with ::Module.new 333s registers an offense 333s when inspecting a class defined with Module.new 333s registers an offense 333s when a module has inner modules 333s does not count lines of inner modules 333s rejects a module with 6 lines that belong to the module directly 333s when a module has inner classes 333s does not count lines of inner classes 333s rejects a module with 6 lines that belong to the module directly 333s when `CountAsOne` is not empty 333s folds array into one line 333s when inspecting a class defined with Module.new 333s registers an offense 333s 333s RuboCop::Cop::Style::OptionalBooleanParameter 333s does not register an offense when defining method with keyword boolean arg 333s does not register an offense when defining method without args 333s registers an offense when defining class method with optional boolean arg 333s does not register an offense when defining method with optional non-boolean arg 333s registers an offense when defining method with multiple optional boolean args 333s registers an offense when defining method with optional boolean arg 333s registers an offense when defining method with optional boolean arg that has no space 333s when AllowedMethods is not empty 333s does not register an offense 333s 333s RuboCop::Cop::Layout::TrailingWhitespace 333s accepts a line without trailing whitespace 333s is not fooled by heredoc containing __END__ 333s registers offenses before __END__ but not after 333s registers an offense for trailing whitespace in a heredoc string 333s registers an offense for a blank line with space 333s registers an offense for a tab in a heredoc 333s autocorrects unwanted space 333s registers an offense for a line ending with space 333s is not fooled by __END__ within a documentation comment 333s is not fooled by heredoc containing __END__ within a doc comment 333s registers an offense for a line ending with tab 333s when `AllowInHeredoc` is set to false 333s corrects a whitespace line in a heredoc string that is longer than the indentation 333s does not correct trailing whitespace in a static heredoc string 333s corrects by removing trailing whitespace used for indentation in a heredoc string 333s corrects safely trailing whitespace in a heredoc string 333s when `AllowInHeredoc` is set to true 333s registers an offense for trailing whitespace at the heredoc begin 333s accepts trailing whitespace in a heredoc string 333s 333s RuboCop::Cop::Style::Send 333s with send 333s and with a receiver 333s does not register an offense for an invocation without args 333s registers an offense for an invocation with args 333s when using safe navigation operator 333s registers an offense for an invocation with args 333s and without a receiver 333s does not register an offense for an invocation without args 333s registers an offense for an invocation with args 333s with __send__ 333s and without a receiver 333s does not register an offense for an invocation without args 333s does not register an offense for an invocation with args 333s and with a receiver 333s does not register an offense for an invocation without args 333s does not register an offense for an invocation with args 333s with public_send 333s and with a receiver 333s does not register an offense for an invocation with args 333s does not register an offense for an invocation without args 333s and without a receiver 333s does not register an offense for an invocation with args 333s does not register an offense for an invocation without args 333s 333s RuboCop::Cop::Style::RedundantSelf 333s accepts a self receiver on an lvalue of an or-assignment 333s accepts when nested receiver and lvalue have the name name 333s accepts a self receiver on an lvalue of an and-assignment 333s accepts a self receiver of .() 333s accepts a self receiver on an lvalue of a plus-assignment 333s accepts a self receiver on an lvalue of mlhs arguments 333s does not report an offense when self receiver in a method argument and lvalue have the same name 333s does not report an offense when masgn name is used in `unless` 333s does not report an offense when lvasgn name is used in `while` 333s accepts a self receiver of methods also defined on `Kernel` 333s does not report an offense when receiver and lvalue have the same name 333s accepts a self receiver used to distinguish from argument of block 333s does not report an offense when masgn name is used in `until` 333s reports an offense when a different masgn name is used in `if` 333s does not report an offense when masgn name is used in `if` 333s does not report an offense when lvasgn name is used in `until` 333s accepts a self receiver on an lvalue of an assignment 333s accepts a self receiver used to distinguish from constant 333s accepts a self receiver on an lvalue of a parallel assignment 333s does not report an offense when lvasgn name is used in `unless` 333s does not report an offense when masgn name is used in `while` 333s accepts a self receiver for methods named like ruby keywords 333s accepts a self receiver with the square bracket operator 333s does not report an offense when receiver and multiple assigned lvalue have the same name 333s reports an offense a self receiver on an rvalue 333s accepts a self receiver with the double less-than operator 333s reports an offense a self receiver of .call 333s does not report an offense when lvasgn name is nested below `if` 333s does not report an offense when lvasgn name is used in `if` 333s reports an offense when a different lvasgn name is used in `if` 333s does not report an offense when self receiver in a method argument and multiple assigned lvalue have the same name 333s with ruby >= 2.7 333s with pattern matching 333s registers an offense when using self with a different match var 333s accepts a self receiver on a `array-pattern` 333s accepts a self receiver on an `match-var` 333s accepts a self receiver on a `hash-pattern` 333s accepts a self receiver in a `if-guard` 333s accepts a self receiver in a nested pattern` 333s accepts a self receiver in a conditional pattern 333s accepts a self receiver with a `match-alt` 333s registers an offense when using a self receiver with a pin 333s class methods 333s accepts a self receiver used to distinguish from argument 333s accepts a self receiver used to distinguish from blockarg 333s accepts a self receiver used to distinguish from optional argument 333s accepts a self receiver used to distinguish from local variable 333s instance methods 333s accepts a self receiver used to distinguish from argument 333s accepts a self receiver used to distinguish from blockarg 333s accepts a self receiver used to distinguish from an argument 333s accepts a self receiver used to distinguish from optional argument 333s accepts a self receiver used to distinguish from an argument when an inner method is defined 333s accepts a self receiver used to distinguish from local variable 333s Ruby 2.7 333s registers offense for self usage in numblocks 333s 333s RuboCop::Cop::InternalAffairs::EmptyLineBetweenExpectOffenseAndCorrection 333s registers and corrects an offense when using no empty line between `expect_offense` and `expect_correction`with variable argument 333s does not register an offense when using empty line between `expect_offense` and `expect_correction` with heredoc argument 333s registers and corrects an offense when using no empty line between `expect_offense` and `expect_no_corrections` 333s registers and corrects an offense when using no empty line between `expect_offense` and `expect_correction` with heredoc argument 333s does not register an offense when using empty line between `expect_offense` and `expect_correction`with variable argument 333s does not register an offense when using only `expect_offense` 333s does not register an offense when using empty line between `expect_offense` and `expect_no_corrections` 333s 333s RuboCop::Cop::Style::YodaCondition 333s enforce not yoda 333s accepts array of numbers on both sides 333s accepts safe navigation on left 333s accepts number on left of <=> 333s registers an offense for nil on left 333s accepts __FILE__ on left in program name check 333s accepts __FILE__ on left in negated program name check 333s accepts string literal on right 333s accepts accessor and variable on left in boolean expression 333s registers an offense number on left of comparison 333s accepts assignment 333s registers an offense for boolean literal on left 333s accepts instance variable on left 333s registers an offense number on left 333s accepts method call on receiver on left 333s registers an offense for string literal on left 333s accepts interpolated string on left 333s accepts variable on left after assign 333s accepts global variable on left 333s accepts negation 333s accepts subtraction expression on left of comparison 333s accepts number on both sides 333s accepts class variable on left 333s accepts string literal on left of case equality check 333s accepts interpolated regex on left 333s within an if or ternary statement 333s registers an offense for number on left of <= in ternary condition 333s registers an offense for number on left of comparison in if condition 333s registers an offense for number on left in modifier if 333s registers an offense for nil on left in ternary condition 333s registers an offense for number on left in if condition 333s registers an offense for number on left of >= in ternary condition 333s with EnforcedStyle: forbid_for_equality_operators_only 333s accepts mixed order in comparisons 333s accepts nil on left of comparison 333s registers an offense for equality check 333s accepts number on left of comparison 333s registers an offense for negated equality check 333s enforce yoda 333s accepts numbers on both sides 333s accepts variable on right after assignment 333s accepts subtraction on right of comparison 333s accepts accessor and variable on right in boolean expression 333s accepts safe navigation on right 333s registers an offense for boolean literal on right 333s accepts instance variable on right 333s accepts string literal on left 333s accepts arrays of numbers on both sides 333s registers an offense for number on right 333s accepts global variable on right 333s accepts negation 333s accepts assignment 333s accepts number on left of <=> 333s accepts class variable on right 333s registers an offense for string literal on right 333s accepts string literal on right of case equality check 333s registers an offense for number on right of comparison 333s registers an offense for nil on right 333s accepts method call on receiver on right 333s within an if or ternary statement 333s registers an offense for number on right in modifier if 333s registers an offense number on right of comparison in if condition 333s registers an offense for number on right of <= in ternary condition 333s registers an offense for nil on right in ternary condition 333s registers an offense for number on right of >= in ternary condition 333s registers an offense number on right in if condition 333s with EnforcedStyle: require_for_equality_operators_only 333s registers an offense for negated equality check 333s accepts number on right of comparison 333s accepts nil on right of comparison 333s accepts mixed order in comparisons 333s registers an offense for equality check 333s 333s RuboCop::Cop::Style::IfWithSemicolon 333s accepts without `else` branch 333s registers an offense and corrects for one line if/;/end 333s can handle modifier conditionals 333s when elsif is present 333s accepts without `else` branch 333s accepts second elsif block 333s accepts with `else` branch 333s 333s RuboCop::Cop::Style::MapToHash 333s >= Ruby 2.6 333s `collect` without `to_h` 333s does not register an offense 333s for `collect.to_h` with block arity 2 333s registers an offense and corrects 333s `map` and `map.to_h` with newlines 333s registers an offense and corrects with newline removal 333s for `map.to_h` with block arity 1 333s registers an offense and corrects 333s `map.to_h` with a block on `to_h` 333s registers an offense but does not correct 333s `map` without `to_h` 333s does not register an offense 333s for `map.to_h` with block arity 2 333s registers an offense and corrects 333s `collect.to_h` with a block on `to_h` 333s registers an offense but does not correct 333s when the receiver is an hash 333s registers an offense and corrects 333s when chained further 333s registers an offense and corrects 333s for `collect.to_h` with block arity 1 333s registers an offense and corrects 333s when the receiver is an array 333s registers an offense and corrects 333s when the receiver is an array 333s registers an offense and corrects 333s `map` and `collect.to_h` with newlines 333s registers an offense and corrects with newline removal 333s when the receiver is an hash 333s registers an offense and corrects 333s when chained further 333s registers an offense and corrects 333s 333s RuboCop::Cop::Style::PercentLiteralDelimiters 333s `%` interpolated string 333s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 333s registers an offense for other delimiters 333s does not register an offense for preferred delimiters 333s does not register an offense for other delimiters when containing preferred delimiter characters 333s registers an offense for a string with no content 333s registers an offense when the source contains invalid characters 333s `%q` string 333s registers an offense for other delimiters 333s does not register an offense for preferred delimiters 333s does not register an offense for other delimiters when containing preferred delimiter characters 333s `%w` string array 333s does not register an offense for other delimiters when containing preferred delimiter characters 333s does not register an offense for preferred delimiters with only a closing delimiter 333s does not register an offense for preferred delimiters 333s does not register an offense for preferred delimiters with a pairing delimiters 333s does not register an offense for preferred delimiters with not a pairing delimiter 333s registers an offense for other delimiters 333s `%r` interpolated regular expression 333s registers an offense for other delimiters 333s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 333s does not register an offense for other delimiters when containing preferred delimiter characters 333s registers an offense for a regular expression with option 333s does not register an offense for preferred delimiters 333s `%Q` interpolated string 333s does not register an offense for preferred delimiters 333s does not register an offense for other delimiters when containing preferred delimiter characters 334s registers an offense for other delimiters 334s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 334s `%s` symbol 334s does not register an offense for preferred delimiters 334s registers an offense for other delimiters 334s `%W` interpolated string array 334s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 334s does not register an offense for preferred delimiters 334s registers an offense for other delimiters 334s does not register an offense for other delimiters when containing preferred delimiter characters 334s `default` override 334s allows individual preferred delimiters to override `default` 334s allows all preferred delimiters to be set with one key 334s autocorrect 334s preserves irregular indentation when correcting a multiline array 334s preserves indentation when correcting a multiline array 334s preserves line breaks when fixing a multiline array 334s fixes a string array in a scope 334s behaves like escape characters 334s corrects %W with \n in it 334s corrects %W with \t in it 334s behaves like escape characters 334s corrects %Q with \t in it 334s corrects %Q with \n in it 334s behaves like escape characters 334s corrects %s with \t in it 334s corrects %s with \n in it 334s behaves like escape characters 334s corrects %w with \n in it 334s corrects %w with \t in it 334s behaves like escape characters 334s corrects % with \n in it 334s corrects % with \t in it 334s behaves like escape characters 334s corrects %x with \n in it 334s corrects %x with \t in it 334s behaves like escape characters 334s corrects %q with \n in it 334s corrects %q with \t in it 334s behaves like escape characters 334s corrects %i with \n in it 334s corrects %i with \t in it 334s behaves like escape characters 334s corrects %r with \t in it 334s corrects %r with \n in it 334s `%I` interpolated symbol array 334s registers an offense for other delimiters 334s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 334s does not register an offense for preferred delimiters 334s invalid cop config 334s raises an error when invalid configuration is specified 334s `%x` interpolated system call 334s registers an offense for other delimiters when containing preferred delimiter characters in interpolation 334s does not register an offense for other delimiters when containing preferred delimiter characters 334s does not register an offense for preferred delimiters 334s registers an offense for other delimiters 334s `%i` symbol array 334s registers an offense for other delimiters 334s does not register an offense for non-preferred delimiters enclosing escaped delimiters 334s does not register an offense for preferred delimiters 334s 334s RuboCop::Cop::Layout::BlockAlignment 334s accepts end aligned with a constant 334s registers an offense for mismatched end with a method call with arguments 334s accepts end aligned with a global variable 334s accepts end aligned with an instance variable 334s accepts end aligned with a method call with arguments 334s registers an offense for mismatched block end with a method call 334s accepts end aligned with a class variable 334s registers an offense for mismatched block end with a constant 334s accepts end aligned with an or-asgn (||=) 334s does not raise an error for nested block in a method call 334s accepts end aligned with a mass assignment 334s registers an offense for mismatched block end with an or-asgn (||=) 334s registers an offense for mismatched block end with a class variable 334s accepts end aligned with the block when the block is a method argument 334s accepts a block end that does not begin its line 334s accepts end aligned with an and-asgn (&&=) 334s registers an offense for mismatched end not aligned with the block that is an argument 334s registers an offense for mismatched block end with an instance variable 334s accepts end aligned with a call chain left hand side 334s registers an offense for mismatched block end with a global variable 334s registers an offense for mismatched block end with an and-asgn (&&=) 334s accepts end aligned with a method call 334s registers an offense for mismatched block end with an op-asgn (+=, -=) 334s registers an offense for mismatched block end with a variable 334s accepts end aligned with a variable 334s accepts end aligned with an op-asgn (+=, -=) 334s registers an offense for mismatched block end with a mass assignment 334s when multiple similar-looking blocks have misaligned ends 334s registers an offense for each of them 334s when the block has no arguments 334s registers an offense for mismatched block end 334s when configured to align with do 334s errors when start_of_line aligned 334s allows when do aligned 334s when the block is terminated by } 334s mentions } (not end) in the message 334s on a bit-flipped method call 334s registers an offense and corrects misaligned end brace 334s aligns end with the ~ operator 334s when the method part is a call chain that spans several lines 334s accepts end indented as the start of the block 334s accepts pretty alignment style 334s accepts two kinds of end alignment 334s registers offenses for misaligned ends 334s when the block has arguments 334s registers an offense for mismatched block end 334s and the block is an operand 334s accepts end aligned with a variable 334s on a splatted method call 334s aligns end with the splat operator 334s registers an offense and corrects misaligned end braces 334s on an arithmetically negated method call 334s aligns end with the - operator 334s registers an offense and corrects 334s Ruby 2.7 334s accepts end aligned with a call chain left hand side 334s registers an offense for mismatched block end with a mass assignment 334s on a logically negated method call 334s aligns end with the ! operator 334s registers an offense and corrects 334s when there is an assignment chain 334s accepts end aligned with the first variable 334s registers an offense for an end aligned with the 2nd variable 334s when the block is defined on the next line 334s accepts end aligned with the block expression 334s registers an offenses for mismatched end alignment 334s when variables of a mass assignment spans several lines 334s registers an offense for end aligned with the block 334s accepts end aligned with the variables 334s when the block is a logical operand 334s accepts a correctly aligned block end 334s when configured to align with start_of_line 334s errors when do aligned 334s allows when start_of_line aligned 334s 334s RuboCop::Cop::Style::AccessModifierDeclarations 334s when `group` is configured 334s does not offend when private is not inlined and has a comment 334s offends when module_function is inlined with a method 334s does not registers an offense when using #{access_modifier} in a block 334s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 334s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 334s accepts when #{access_modifier} is a hash literal value 334s offends when public is inlined with a method 334s does not offend when module_function is not inlined and has a comment 334s does not offend when protected is not inlined and has a comment 334s accepts when using only #{access_modifier} 334s accepts when using only #{access_modifier} 334s accepts when #{access_modifier} is a hash literal value 334s accepts when #{access_modifier} is a hash literal value 334s does not registers an offense when using #{access_modifier} in a block 334s does not offend when public is not inlined and has a comment 334s offends when private is inlined with a method 334s does not offend when module_function is not inlined 334s does not registers an offense when using #{access_modifier} in a block 334s accepts when using only #{access_modifier} 334s accepts when #{access_modifier} is a hash literal value 334s does not offend when private is not inlined 334s offends when protected is inlined with a method 334s does not offend when protected is not inlined 334s accepts when using only #{access_modifier} 334s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 334s does not offend when public is not inlined 334s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 334s does not registers an offense when using #{access_modifier} in a block 334s when method is modified by inline modifier 334s registers and autocorrects an offense 334s do not allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s do not allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s when method has comments 334s registers and autocorrects an offense 334s allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s when method is modified by inline modifier where group modifier already exists 334s registers and autocorrects an offense 334s allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s when method has comments 334s registers and autocorrects an offense 334s when non-existent method is modified by inline modifier with disallowed symbol 334s registers an offense but does not autocorrect it 334s when non-existent method is modified by inline modifier with disallowed symbol 334s registers an offense but does not autocorrect it 334s when method has comments 334s registers and autocorrects an offense 334s do not allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s when method is modified by inline modifier with disallowed symbol 334s registers and autocorrects an offense 334s when method is modified by inline modifier 334s registers and autocorrects an offense 334s when method is modified by inline modifier 334s registers and autocorrects an offense 334s when method is modified by inline modifier with disallowed symbol 334s registers and autocorrects an offense 334s allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s when method is modified by inline modifier with disallowed symbol 334s registers and autocorrects an offense 334s when method is modified by inline modifier with disallowed symbol 334s registers and autocorrects an offense 334s when method has comments 334s registers and autocorrects an offense 334s do not allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s when method is modified by inline modifier 334s registers and autocorrects an offense 334s when method is modified by inline modifier where group modifier already exists 334s registers and autocorrects an offense 334s when non-existent method is modified by inline modifier with disallowed symbol 334s registers an offense but does not autocorrect it 334s when method is modified by inline modifier where group modifier already exists 334s registers and autocorrects an offense 334s when non-existent method is modified by inline modifier with disallowed symbol 334s registers an offense but does not autocorrect it 334s when method is modified by inline modifier where group modifier already exists 334s registers and autocorrects an offense 334s when `inline` is configured 334s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 334s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 334s does not offend when public is inlined with a symbol 334s accepts when #{access_modifier} is a hash literal value 334s does not offend when private is inlined with a method 334s offends when module_function is not inlined and has a comment 334s offends when protected is not inlined 334s offends when private is not inlined 334s offends when protected is not inlined and has a comment 334s accepts when #{access_modifier} is a hash literal value 334s does not offend when protected is inlined with a method 334s offends when public is not inlined and has a comment 334s does not offend when protected is inlined with a symbol 334s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 334s offends when private is not inlined and has a comment 334s accepts when #{access_modifier} is a hash literal value 334s does not offend when private is inlined with a symbol 334s does not offend when module_function is inlined with a symbol 334s offends when module_function is not inlined 334s registers an offense for correct + multiple opposite styles of #{access_modifier} usage 334s does not offend when public is inlined with a method 334s does not offend when module_function is inlined with a method 334s offends when public is not inlined 334s accepts when #{access_modifier} is a hash literal value 334s do not allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s do not allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s do not allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s when methods are modified by group modifier 334s registers and autocorrects an offense 334s do not allow access modifiers on symbols 334s accepts when argument to #{access_modifier} is a symbol 334s when methods are modified by group modifier 334s registers and autocorrects an offense 334s when methods are modified by group modifier 334s registers and autocorrects an offense 334s when methods are modified by group modifier 334s registers and autocorrects an offense 334s 334s RuboCop::Cop::Style::ArrayJoin 334s autocorrects '*' to 'join' when setting to a variable 334s does not register an offense for ambiguous cases 334s does not register an offense for numbers 334s autocorrects '*' to 'join' when there are no spaces 334s registers an offense for an array followed by string 334s 334s RuboCop::Cop::Lint::NestedMethodDefinition 334s does not register an offense for a lambda definition inside method 334s does not register offense for nested definition inside ::Module.new 334s does not register offense for nested definition inside ::Class.new 334s does not register offense for nested definition inside class shovel 334s does not register offense for nested definition inside Class.new 334s does not register offense for nested definition inside Struct.new 334s does not register offense for definition of method on local var 334s registers an offense for a nested method definition 334s does not register offense for nested definition inside Module.new 334s does not register offense for nested definition inside ::Struct.new 334s does not register offense for nested definition inside module_eval 334s registers an offense for a nested class method definition 334s registers an offense for a nested method definition inside lambda 335s does not register offense for nested definition inside class_eval 335s does not register offense for nested definition inside instance_exec 335s does not register offense for nested definition inside class_exec 335s does not register offense for nested definition inside instance_eval 335s does not register offense for nested definition inside module_exec 335s registers an offense for a nested singleton method definition 335s when `AllowedMethods: [has_many]` 335s does not register offense for nested definition inside `has_many` 335s registers offense for nested definition inside `denied_method` 335s when `AllowedPatterns: [baz]` 335s registers offense for nested definition inside `do_qux` 335s does not register offense for nested definition inside `do_baz` 335s 335s RuboCop::Cop::InternalAffairs::LocationLineEqualityComparison 335s registers an offense and corrects when using `first_line` 335s registers an offense and corrects when using `loc.first_line` 335s registers an offense and corrects when using `source_range.first_line` 335s registers and corrects an offense when comparing `#loc.source_range` with LHS and RHS 335s does not register an offense when using `same_line?` 335s registers and corrects an offense when comparing `#loc.line` with LHS and RHS 335s 335s RuboCop::Cop::Style::DateTime 335s does not register an offense when using Date for modern date 335s does not register an offense when using DateTime for historic date 335s registers an offense when using ::DateTime for current time 335s registers an offense when using DateTime for current time 335s does not register an offense when using Time for current time 335s does not register an offense when using DateTime in another namespace 335s does not register an offense when using ::DateTime for historic date 335s registers an offense when using DateTime for modern date 335s when configured to allow #to_datetime 335s does not register an offense 335s when configured to not allow #to_datetime 335s registers an offense 335s 335s RuboCop::Cop::Lint::RandOne 335s behaves like offenses 335s ::Kernel.rand(1) 335s registers an offense 335s behaves like offenses 335s rand(-1.0) 335s registers an offense 335s behaves like no offense 335s Kernel.rand 335s does not register an offense 335s behaves like no offense 335s rand(2) 335s does not register an offense 335s behaves like no offense 335s Kernel.rand(-1..1) 335s does not register an offense 335s behaves like no offense 335s rand(-1..1) 335s does not register an offense 335s behaves like offenses 335s Kernel.rand 1.0 335s registers an offense 335s behaves like offenses 335s Kernel.rand(-1.0) 335s registers an offense 335s behaves like offenses 335s Kernel.rand(1) 335s registers an offense 335s behaves like offenses 335s rand(-1) 335s registers an offense 335s behaves like offenses 335s rand(1.0) 335s registers an offense 335s behaves like no offense 335s Kernel.rand 2 335s does not register an offense 335s behaves like offenses 335s rand 1 335s registers an offense 335s behaves like no offense 335s ::Kernel.rand 335s does not register an offense 335s behaves like no offense 335s rand 335s does not register an offense 335s behaves like offenses 335s Kernel.rand(-1) 335s registers an offense 335s 335s RuboCop::Cop::Style::Sample 335s behaves like accepts 335s accepts sample 335s behaves like accepts 335s accepts shuffle[foo, 3] 335s behaves like accepts 335s accepts shuffle.at(foo) 335s behaves like offense 335s registers an offense for shuffle(random: Random.new)[0..3] 335s Ruby >= 2.7 335s behaves like offense 335s registers an offense for shuffle[...3] 335s behaves like accepts 335s accepts shuffle.slice(3, 3) 335s behaves like accepts 335s accepts shuffle[foo..bar] 335s behaves like accepts 335s accepts shuffle[2] 335s behaves like accepts 335s accepts shuffle(random: Random.new).find(&:odd?) 335s behaves like accepts 335s accepts shuffle.at(2) 335s behaves like offense 335s registers an offense for shuffle(random: foo).last(bar) 335s behaves like accepts 335s accepts shuffle[foo..3] 335s behaves like offense 335s registers an offense for shuffle[0...3] 335s behaves like offense 335s registers an offense for shuffle.slice(0..3) 335s behaves like accepts 335s accepts shuffle.slice(foo..bar) 335s behaves like offense 335s registers an offense for shuffle.first(2) 335s behaves like offense 335s registers an offense for shuffle.at(-1) 335s behaves like offense 335s registers an offense for shuffle.slice(0...3) 335s behaves like accepts 335s accepts shuffle[foo] 335s behaves like accepts 335s accepts shuffle.slice(-4..-3) 335s behaves like accepts 335s accepts shuffle.slice(foo) 335s behaves like accepts 335s accepts shuffle[2..-3] 335s behaves like accepts 335s accepts shuffle.slice(2) 335s behaves like accepts 335s accepts shuffle(random: Random.new)[2, 3] 335s behaves like accepts 335s accepts shuffle 335s behaves like accepts 335s accepts shuffle[-4..-3] 335s behaves like offense 335s registers an offense for shuffle(random: Random.new).first(2) 335s behaves like offense 335s registers an offense for shuffle.last(bar) 335s behaves like offense 335s registers an offense for shuffle[0, 3] 335s behaves like accepts 335s accepts shuffle.slice(2..-3) 335s behaves like offense 335s registers an offense for shuffle.at(0) 335s behaves like accepts 335s accepts shuffle[2..3] 335s behaves like offense 335s registers an offense for shuffle.slice(-1) 335s behaves like accepts 335s accepts shuffle.slice(foo, bar) 335s behaves like accepts 335s accepts shuffle.slice(foo, 3) 335s behaves like offense 335s registers an offense for shuffle.last(3) 335s behaves like accepts 335s accepts shuffle[3, 3] 335s behaves like accepts 335s accepts shuffle.join([5, 6, 7]) 335s behaves like offense 335s registers an offense for shuffle.slice(0) 335s behaves like offense 335s registers an offense for shuffle[0] 335s behaves like offense 335s registers an offense for shuffle.first(foo) 335s Ruby >= 2.6 335s behaves like accepts 335s accepts shuffle[3...] 335s behaves like accepts 335s accepts shuffle[3..] 335s behaves like accepts 335s accepts shuffle.slice(foo..3) 335s behaves like offense 335s registers an offense for shuffle[-1] 335s behaves like accepts 335s accepts shuffle(random: Random.new)[2] 335s behaves like offense 335s registers an offense for shuffle.first 335s behaves like accepts 335s accepts shuffle(random: Random.new) 335s behaves like accepts 335s accepts shuffle.slice(2..3) 335s behaves like offense 335s registers an offense for shuffle(random: Random.new).first 335s behaves like accepts 335s accepts shuffle[foo, bar] 335s behaves like offense 335s registers an offense for shuffle.last 335s behaves like accepts 335s accepts shuffle.map { |e| e } 335s behaves like offense 335s registers an offense for shuffle[0..3] 335s behaves like offense 335s registers an offense for shuffle.slice(0, 3) 335s 335s RuboCop::Cop::Lint::EmptyExpression 335s when used in a condition 335s registers an offense in the condition of a ternary operator 335s registers an offense inside `if` 335s registers an offense in the return value of a ternary operator 335s registers an offense inside `case` 335s registers an offense inside `when` 335s registers an offense inside `elsif` 335s when used as an assignment 335s registers an offense for the assigned value 335s when used as a return value 335s registers an offense in the return value of a method 335s registers an offense in the return value of a case statement 335s registers an offense in the return value of a condition 335s when used as a standalone expression 335s registers an offense 335s with nested empty expressions 335s registers an offense 335s 335s RuboCop::Formatter::TapFormatter 335s #report_file 335s when the source contains multibyte characters 335s displays text containing the offending source line 335s #file_finished 335s when any offenses are detected 335s prints "not ok" 335s when no offenses are detected 335s prints "ok" 335s #finished 335s when any offenses are detected 335s reports all detected offenses for all failed files 335s when no offenses are detected 335s does not report offenses 335s 335s RuboCop::Cop::Style::RedundantRegexpEscape 335s with a single-line %r// regexp 335s without escapes 335s does not register an offense 335s with escaped slashes 335s does not register an offense 335s with a single-line %r@@ regexp 335s with escaped delimiters and regexp options 335s does not register an offense 335s with escaped delimiters inside a character-class 335s does not register an offense 335s without escapes 335s does not register an offense 335s with escaped delimiters outside a character-class 335s does not register an offense 335s with multibyte characters 335s removes the escape character at the right position 335s with a single-line %r^^ regexp 335s with escaped delimiters inside a character-class 335s does not register an offense 335s without escapes 335s does not register an offense 335s with escaped delimiters and regexp options 335s does not register an offense 335s with escaped delimiters outside a character-class 335s does not register an offense 335s with a single-line %r!! regexp 335s with escaped delimiters inside a character-class 335s does not register an offense 335s with escaped delimiters outside a character-class 335s does not register an offense 335s with escaped delimiters and regexp options 335s does not register an offense 335s without escapes 335s does not register an offense 335s with a multi-line %r// regexp 335s with escaped slashes 335s does not register an offense 335s without escapes 335s does not register an offense 335s with a single-line %r~~ regexp 335s with escaped delimiters inside a character-class 335s does not register an offense 335s with escaped delimiters outside a character-class 335s does not register an offense 335s without escapes 335s does not register an offense 335s with escaped delimiters and regexp options 335s does not register an offense 335s with a multi-line %r{} regexp 335s with a redundant escape after a line with comment 335s registers an offense and corrects 335s without escapes 335s does not register an offense 335s with a # inside a character class 335s does not register an offense 335s with redundantly-escaped slashes 335s registers an offense and corrects 335s with a single-line %r__ regexp 335s with escaped delimiters outside a character-class 335s does not register an offense 335s with escaped delimiters and regexp options 335s does not register an offense 335s with escaped delimiters inside a character-class 335s does not register an offense 335s without escapes 335s does not register an offense 335s with a single-line %r() regexp 335s with escaped delimiters outside a character-class 335s does not register an offense 335s with escaped delimiters inside a character-class 335s does not register an offense 335s without escapes 335s does not register an offense 335s with escaped delimiters and regexp options 335s does not register an offense 335s with a single-line %r{} regexp 335s with an escaped { or } inside a character class 335s does not register an offense 335s with redundantly-escaped slashes 335s registers an offense and corrects 335s without escapes 335s does not register an offense 335s with an escaped { or } outside a character class 335s does not register an offense 335s with a single-line %r<> regexp 335s with escaped delimiters and regexp options 335s does not register an offense 335s without escapes 335s does not register an offense 335s with escaped delimiters outside a character-class 335s does not register an offense 335s with escaped delimiters inside a character-class 335s does not register an offense 335s with a single-line `//` regexp 335s with an escaped 'Q' inside a character class 335s does not register an offense 335s with a POSIX character class then disallowed escape inside a character class 335s registers an offense and corrects 335s with an escaped 'm' inside a character class 335s does not register an offense 335s with an escaped '\' inside a character class 335s does not register an offense 335s with an escaped 'f' outside a character class 335s does not register an offense 335s with an escaped '(' inside a character class 335s registers an offense and corrects 335s with an escaped '?' outside a character class 335s does not register an offense 335s with an escaped 'O' inside a character class 335s does not register an offense 335s with an escaped '\' outside a character class 335s does not register an offense 335s with an escaped 'D' inside a character class 335s does not register an offense 335s with an escaped ' ' outside a character class 335s does not register an offense 335s with an escaped 'D' outside a character class 335s does not register an offense 335s with an escaped 'h' outside a character class 335s does not register an offense 335s with an escape inside an interpolated string 335s does not register an offense 335s with an escaped '+' inside a character class 335s registers an offense and corrects 335s with an escaped 'n101' outside a character class 335s does not register an offense 335s with an escaped 'e' outside a character class 335s does not register an offense 335s with an escaped . inside a character class beginning with : 335s registers an offense and corrects 335s with an escaped '|' inside a character class 335s registers an offense and corrects 335s with an escaped ']' inside a character class 335s does not register an offense 335s with an escaped 'b' inside a character class 335s does not register an offense 335s with an escaped '^' inside a character class 335s does not register an offense 335s with an escaped 'd' inside a character class 335s does not register an offense 335s with a nested character class then allowed escape 335s does not register an offense 335s with an escaped '+' outside a character class 335s does not register an offense 335s with an escaped 'o' inside a character class 335s does not register an offense 335s with an escaped '+' inside a character class inside a group 335s registers an offense and corrects 335s with an escaped 'M-a' inside a character class 335s does not register an offense 335s with an escaped 'u0041' outside a character class 335s does not register an offense 335s with an escaped 'z' outside a character class 335s does not register an offense 335s with an escaped 'x41' inside a character class 335s does not register an offense 335s with an escaped 'A' outside a character class 335s does not register an offense 335s with an escaped '#' outside a character class 335s does not register an offense 335s with an escaped 'P{alpha}' inside a character class 335s does not register an offense 335s with an escaped 'j' inside a character class 335s does not register an offense 335s with an escaped '-' character being the last character inside a character class 335s registers an offense and corrects 335s with a backreference 335s does not register an offense 335s with an escaped 't' outside a character class 335s does not register an offense 335s with an escaped ')' outside a character class 335s does not register an offense 335s with an escaped 'e' inside a character class 335s does not register an offense 335s with an escaped 'Z' outside a character class 335s does not register an offense 335s with an escaped '#' inside a character class 335s does not register an offense 335s with an escaped 'v' outside a character class 335s does not register an offense 335s with an escaped '}' outside a character class 335s does not register an offense 335s with an escaped 'q' inside a character class 335s does not register an offense 335s with a line continuation within a character class 335s does not register an offense 335s with an escaped 'p{alpha}' outside a character class 335s does not register an offense 335s with an escaped '[' inside a character class 335s does not register an offense 335s with an escaped '{' inside a character class 335s registers an offense and corrects 335s with an escaped '}' inside a character class 335s registers an offense and corrects 335s with an escaped character class and following escaped char 335s does not register an offense 335s with an escaped 'G' inside a character class 335s does not register an offense 335s with an escaped '-' character being the first character inside a character class 335s registers an offense and corrects 335s with an escaped interpolation outside a character class 335s does not register an offense 335s with an escaped ' ' inside a character class 335s does not register an offense 335s with an uppercase metacharacter inside a character class 335s does not register an offense 335s with an escaped 'X' inside a character class 335s does not register an offense 335s with an escaped '*' outside a character class 335s does not register an offense 335s with an interpolated unnecessary-escape regexp 335s registers an offense and corrects 335s with an escaped 'cc' outside a character class 335s does not register an offense 335s with escaped slashes 335s does not register an offense 335s with an escaped 'p{alpha}' inside a character class 335s does not register an offense 335s with an escaped '{' outside a character class 335s does not register an offense 335s with an escaped 'y' outside a character class 335s does not register an offense 335s with an escaped 'Z' inside a character class 335s does not register an offense 335s without escapes 335s does not register an offense 335s with an escaped 'V' inside a character class 335s does not register an offense 335s with an escaped '*' inside a character class 335s registers an offense and corrects 335s with an escaped 'm' outside a character class 335s does not register an offense 335s with an escaped 'Y' inside a character class 336s does not register an offense 336s with an escaped 'S' outside a character class 336s does not register an offense 336s with an escaped ' 336s ' outside a character class 336s does not register an offense 336s with an escaped '^' outside a character class 336s does not register an offense 336s with multiple escaped metachars inside a character class 336s registers offenses and corrects 336s with an escaped '[' outside a character class 336s does not register an offense 336s with an escaped 'T' outside a character class 336s does not register an offense 336s with an escaped 'r' inside a character class 336s does not register an offense 336s with an escaped '(' outside a character class 336s does not register an offense 336s with an escaped 'cc' inside a character class 336s does not register an offense 336s with an escaped 'H' outside a character class 336s does not register an offense 336s with an escaped 'L' inside a character class 336s does not register an offense 336s with an escaped 'N' outside a character class 336s does not register an offense 336s with an escaped 'C-c' inside a character class 336s does not register an offense 336s with an escaped ')' inside a character class 336s registers an offense and corrects 336s with an escaped 'w' outside a character class 336s does not register an offense 336s with regexp options and a redundant escape 336s registers offenses and corrects 336s with an escaped 'P{alpha}' outside a character class 336s does not register an offense 336s with a character class and following escaped char 336s does not register an offense 336s with an escaped 'w' inside a character class 336s does not register an offense 336s with an escaped 'o' outside a character class 336s does not register an offense 336s with a POSIX character class then allowed escape inside a character class 336s does not register an offense 336s with an escaped 'v' inside a character class 336s does not register an offense 336s with an escaped 'A' inside a character class 336s does not register an offense 336s with an escaped 'R' inside a character class 336s does not register an offense 336s with an escaped 'F' outside a character class 336s does not register an offense 336s with an escaped 'W' outside a character class 336s does not register an offense 336s with an escaped 'C-c' outside a character class 336s does not register an offense 336s with an escaped 'a' inside a character class 336s does not register an offense 336s with an escaped 'i' outside a character class 336s does not register an offense 336s with an escaped 'L' outside a character class 336s does not register an offense 336s with an escaped interpolation inside a character class 336s does not register an offense 336s with an escaped 'b' outside a character class 336s does not register an offense 336s with an escaped 's' inside a character class 336s does not register an offense 336s with an escaped '-' inside a character class 336s registers an offense and corrects 336s with an escaped 'I' inside a character class 336s does not register an offense 336s with an escaped 's' outside a character class 336s does not register an offense 336s with an escaped 'B' inside a character class 336s does not register an offense 336s with an escaped 'j' outside a character class 336s does not register an offense 336s with an escaped 'h' inside a character class 336s does not register an offense 336s with an escaped 'f' inside a character class 336s does not register an offense 336s with an escaped '?' inside a character class 336s registers an offense and corrects 336s with an escaped 'E' inside a character class 336s does not register an offense 336s with an escaped 'u{0041}' inside a character class 336s does not register an offense 336s with an escaped 'J' inside a character class 336s does not register an offense 336s with an escaped 'G' outside a character class 336s does not register an offense 336s with an escaped '-' outside a character class 336s registers an offense and corrects 336s with a line continuation 336s does not register an offense 336s with an escaped 'J' outside a character class 336s does not register an offense 336s with an escaped 'H' inside a character class 336s does not register an offense 336s with an escaped 'y' inside a character class 336s does not register an offense 336s with an escaped 'E' outside a character class 336s does not register an offense 336s with an escaped 'Y' outside a character class 336s does not register an offense 336s with an escaped 'd' outside a character class 336s does not register an offense 336s with an escaped ']' outside a character class 336s does not register an offense 336s with an escaped '$' inside a character class 336s registers an offense and corrects 336s with an escaped 'i' inside a character class 336s does not register an offense 336s with an interpolation followed by redundant escapes 336s registers offenses and corrects 336s with an escaped 'r' outside a character class 336s does not register an offense 336s with an escaped '|' outside a character class 336s does not register an offense 336s with an escaped 'X' outside a character class 336s does not register an offense 336s with an escaped 'a' outside a character class 336s does not register an offense 336s with an escaped 'z' inside a character class 336s does not register an offense 336s with an escaped 'F' inside a character class 336s does not register an offense 336s with a nested character class containing redundant escape 336s registers an offense and corrects 336s with an escaped 'K' inside a character class 336s does not register an offense 336s with a free-spaced mode regex 336s with redundant escape preceded by an escaped comment 336s registers offenses and corrects 336s with a commented [ and ] 336s does not register an offense 336s with a commented redundant escape on a single line 336s does not register an offense 336s with a commented redundant escape 336s does not register an offense 336s with an escaped '.' inside a character class 336s registers an offense and corrects 336s with an escaped 'S' inside a character class 336s does not register an offense 336s with an escaped 'W' inside a character class 336s does not register an offense 336s with an escaped 'I' outside a character class 336s does not register an offense 336s with an escaped 'U' inside a character class 336s does not register an offense 336s with an escaped 'l' inside a character class 336s does not register an offense 336s with an escaped '.' outside a character class 336s does not register an offense 336s with an uppercase metacharacter outside a character class 336s does not register an offense 336s with an escaped 'q' outside a character class 336s does not register an offense 336s with an escaped 'O' outside a character class 336s does not register an offense 336s with an escaped 'R' outside a character class 336s does not register an offense 336s with an invalid g escape 336s does not register an offense 336s with an escaped 'Q' outside a character class 336s does not register an offense 336s with an escaped 'l' outside a character class 336s does not register an offense 336s with an escaped 'x41' outside a character class 336s does not register an offense 336s with an escaped 'M-a' outside a character class 336s does not register an offense 336s with an escaped 'u{0041}' outside a character class 336s does not register an offense 336s with an escaped 't' inside a character class 336s does not register an offense 336s with an escaped 'B' outside a character class 336s does not register an offense 336s with an escaped 'N' inside a character class 336s does not register an offense 336s with an escaped 'T' inside a character class 336s does not register an offense 336s with an escaped 'u0041' inside a character class 336s does not register an offense 336s with an escaped 'K' outside a character class 336s does not register an offense 336s with an escaped 'U' outside a character class 336s does not register an offense 336s with an escaped '$' outside a character class 336s does not register an offense 336s with an escaped 'V' outside a character class 336s does not register an offense 336s with an escaped 'n101' inside a character class 336s does not register an offense 336s 336s RuboCop::Cop::Style::RedundantCondition 336s when regular condition (if) 336s accepts different when the condition does not match the branch 336s accepts elsif 336s when condition and if_branch are same 336s autocorrects when using `<<` method higher precedence than `||` operator 336s does not register an offense when using assignment by hash key access 336s registers an offense and corrects when the branches contains assignment method 336s registers an offense and corrects when a method without argument parentheses in `else` 336s registers an offense and corrects when the branches contains method call with braced hash 336s accepts when using ternary if in `else` branch 336s registers an offense and corrects multiline nodes 336s registers an offense and corrects when `raise` without argument parentheses in `else` 336s registers an offense and corrects when the branches contains method call 336s accepts an elsif branch 336s registers an offense and correct when the branches are the same with the same receivers 336s does not register offenses when using `nil?` and the branches contains method which has multiple arguments 336s registers an offense and corrects when the branches contains arithmetic operation 336s accepts complex else branches 336s registers an offense and corrects when using operator method in `else` 336s registers an offense and corrects when the else branch contains an irange 336s registers an offense and corrects when `if` condition and `then` branch are the same and it has no `else` branch 336s does not register an offense when the branches are the same with different receivers 336s does not register offenses when the branches contains hash key access 336s registers an offense and corrects when the branches contains method call with non-braced hash 336s registers an offense and corrects when using modifier if 336s does not register offenses when the branches contains assignment but target not matched 336s registers an offense and corrects complex one liners 336s does not register offenses when using `nil?` and the branches contains assignment 336s registers an offense and corrects when defined inside method and the branches contains assignment 336s registers an offense and corrects modifier nodes offense 336s registers an offense and corrects when the branches contains assignment 336s registers an offense and corrects 336s registers an offense and corrects when the branches contains parenthesized method call 336s when inverted condition (unless) 336s registers no offense 336s when condition and else branch are same 336s accepts complex unless branches 336s registers an offense 336s ternary expression (?:) 336s accepts expressions when the condition and if branch do not match 336s when condition and if_branch are same 336s registers an offense and corrects when the else branch contains `and` 336s registers an offense and corrects when the else branch contains `rescue` 336s registers an offense and corrects brackets accesses 336s registers an offense and corrects nested vars 336s registers an offense and corrects class vars 336s registers an offense and corrects functions 336s registers an offense and corrects 336s registers an offense and corrects when the else branch contains an erange 336s registers an offense and corrects when the else branch contains an irange 336s registers an offense and corrects with ternary expression and the branches contains parenthesized method call 336s registers an offense and corrects with ternary expression and the branches contains chained parenthesized method call 336s 336s RuboCop::Cop::Lint::SymbolConversion 336s does not register an offense for a symbol that requires quotes 336s does not register an offense for a normal symbol 336s does not register an offense for a dstr 336s in an alias 336s does not register an offense 336s behaves like offense 336s registers an offense for :foo.to_sym 336s implicit `to_sym` call 336s does not register an offense 336s inside a percent literal array 336s does not register an offense 336s EnforcedStyle: consistent 336s hash where there are keys needing quoting 336s registers an offense for unquoted keys 336s with a mix of string and symbol keys 336s does not register an offense 336s hash where no keys need to be quoted 336s does not register an offense 336s with a key with = 336s requires symbols to be quoted 336s with different quote styles 336s does not register an offense 336s hash where keys are quoted but do not need to be 336s registers an offense 336s behaves like offense 336s registers an offense for "foo-bar".to_sym 336s behaves like offense 336s registers an offense for "foo-bar".intern 336s single quoted symbol 336s does not register an offense 336s behaves like offense 336s registers an offense for "foo".intern 336s behaves like offense 336s registers an offense for :foo.intern 336s behaves like offense 336s registers an offense for :"foo_bar" 336s behaves like offense 336s registers an offense for :"foo" 336s in a hash 336s values 336s does not register an offense for a normal symbol 336s registers an offense for a quoted symbol key 336s registers an offense for a quoted symbol value 336s keys 336s does not register an offense for a require quoted symbol that ends with `=` 336s does not register an offense for a require quoted symbol 336s does not register an offense for a normal symbol 336s registers and corrects an offense for a quoted symbol that ends with `?` 336s does not register an offense for operators 336s registers and corrects an offense for a quoted symbol that ends with `!` 336s registers an offense for a quoted symbol 336s does not register an offense for a require quoted symbol that contains `:` 336s behaves like offense 336s registers an offense for "foo_bar".to_sym 336s behaves like offense 336s registers an offense for "foo_bar".intern 336s behaves like offense 336s registers an offense for "foo".to_sym 336s 336s RuboCop::Cop::Lint::UnreachableCode 336s accepts `retry` is not in `elsif` branch 336s registers an offense for `throw` before other statements 336s accepts `break` is in all `if` branches 336s accepts code with conditional `fail` 336s accepts `throw` is not in `elsif` branch 336s registers an offense for `redo` in all `if` branches 336s accepts `redo` is in `case` branch without else 336s accepts `exit!` as the final expression 336s registers an offense for `next` in all `if` and `elsif` branches 336s registers an offense for `exit!` in all `if` branches 336s accepts code with conditional `raise` 336s registers an offense for `break` in all `case` branches 336s registers an offense for `exit!` in all `if` branches with other expressions 336s accepts `abort` is in `if` branch only 336s accepts `break` is in `case` branch without else 336s accepts `return` is in `else` branch only 336s registers an offense for `return` in all `if` branches 336s registers an offense for `return` in all `case` branches 336s accepts `return` as the final expression 336s accepts `exit` is in `if`, and without `else` 336s registers an offense for `break` before other statements 336s registers an offense for `exit` in `begin` 336s accepts `exit!` is in all `if` branches 336s accepts `retry` is in `else` branch only 336s accepts `raise` is in all `if` branches 336s accepts `exit` is in all `if` branches 336s accepts `redo` is in `else` branch only 336s registers an offense for `next` in `begin` 336s registers an offense for `abort` in all `if` branches with other expressions 336s accepts `exit` is not in `elsif` branch 336s accepts `fail` is in `case` branch without else 336s registers an offense for `exit` in all `if` and `elsif` branches 336s accepts code with conditional `break` 336s registers an offense for `next` in all `if` branches 336s accepts `redo` is in `if` branch only 336s accepts `redo` is in all `if` branches 336s accepts `raise` as the final expression 336s registers an offense for `exit!` before other statements 336s accepts `break` is in `else` branch only 336s registers an offense for `raise` before other statements 336s accepts `next` is in `case` branch without else 336s registers an offense for `fail` before other statements 336s registers an offense for `return` in all `if` branches with other expressions 336s accepts `throw` is in `if`, and without `else` 336s registers an offense for `return` before other statements 336s registers an offense for `throw` in all `case` branches 336s accepts code with conditional `redo` 336s accepts `raise` is in `case` branch without else 336s registers an offense for `throw` in all `if` branches with other expressions 336s accepts `retry` is in `if`, and without `else` 336s registers an offense for `throw` in all `if` branches 336s registers an offense for `fail` in `begin` 336s accepts `throw` is in `case` branch without else 336s registers an offense for `redo` in all `case` branches 336s accepts code with conditional `retry` 336s accepts `raise` is in `if` branch only 336s accepts `fail` as the final expression 336s accepts `abort` is in all `if` branches 336s accepts `next` is in all `if` branches 336s accepts `next` is in `if`, and without `else` 337s registers an offense for `retry` in all `if` branches 337s accepts `exit!` is in `if`, and without `else` 337s accepts `return` is not in `elsif` branch 337s accepts `fail` is in `else` branch only 337s accepts `exit!` is in `else` branch only 337s registers an offense for `fail` in all `if` branches with other expressions 337s registers an offense for `retry` in all `case` branches 337s accepts code with conditional `throw` 337s registers an offense for `exit` in all `if` branches 337s registers an offense for `break` in `begin` 337s registers an offense for `return` in `begin` 337s accepts `throw` is in all `if` branches 337s registers an offense for `raise` in all `if` branches 337s registers an offense for `retry` in all `if` branches with other expressions 337s accepts `exit` as the final expression 337s accepts `break` as the final expression 337s registers an offense for `return` in all `if` and `elsif` branches 337s registers an offense for `redo` in all `if` and `elsif` branches 337s accepts `throw` is in `if` branch only 337s accepts `abort` as the final expression 337s accepts `next` as the final expression 337s registers an offense for `next` in all `if` branches with other expressions 337s accepts `exit` is in `else` branch only 337s accepts `fail` is in all `if` branches 337s registers an offense for `exit` in all `case` branches 337s registers an offense for `throw` in `begin` 337s accepts `abort` is in `if`, and without `else` 337s accepts `raise` is in `else` branch only 337s accepts `return` is in `if`, and without `else` 337s registers an offense for `next` in all `case` branches 337s accepts `retry` as the final expression 337s accepts `fail` is in `if` branch only 337s accepts `return` is in `case` branch without else 337s accepts `raise` is not in `elsif` branch 337s accepts `redo` as the final expression 337s registers an offense for `break` in all `if` and `elsif` branches 337s registers an offense for `exit` before other statements 337s accepts `abort` is not in `elsif` branch 337s registers an offense for `abort` in all `case` branches 337s accepts `break` is not in `elsif` branch 337s registers an offense for `raise` in all `if` branches with other expressions 337s accepts `retry` is in `case` branch without else 337s registers an offense for `exit!` in all `case` branches 337s accepts `throw` as the final expression 337s registers an offense for `fail` in all `if` branches 337s accepts code with conditional `exit!` 337s accepts `abort` is in `case` branch without else 337s registers an offense for `retry` in `begin` 337s registers an offense for `abort` in all `if` branches 337s accepts `abort` is in `else` branch only 337s accepts `return` is in `if` branch only 337s registers an offense for `raise` in all `if` and `elsif` branches 337s accepts `return` is in all `if` branches 337s accepts code with conditional `abort` 337s registers an offense for `abort` in all `if` and `elsif` branches 337s accepts `break` is in `if` branch only 337s accepts `raise` is in `if`, and without `else` 337s registers an offense for `break` in all `if` branches 337s accepts `throw` is in `else` branch only 337s accepts `retry` is in all `if` branches 337s accepts `exit!` is not in `elsif` branch 337s accepts code with conditional `return` 337s accepts code with conditional `next` 337s registers an offense for `retry` in all `if` and `elsif` branches 337s accepts `exit!` is in `case` branch without else 337s accepts `redo` is not in `elsif` branch 337s registers an offense for `next` before other statements 337s registers an offense for `exit!` in `begin` 337s accepts `next` is in `else` branch only 337s accepts `fail` is not in `elsif` branch 337s registers an offense for `abort` in `begin` 337s accepts `exit` is in `if` branch only 337s registers an offense for `redo` before other statements 337s accepts `next` is not in `elsif` branch 337s registers an offense for `fail` in all `if` and `elsif` branches 337s registers an offense for `retry` before other statements 337s registers an offense for `exit!` in all `if` and `elsif` branches 337s registers an offense for `break` in all `if` branches with other expressions 337s accepts `exit` is in `case` branch without else 337s registers an offense for `redo` in all `if` branches with other expressions 337s accepts `next` is in `if` branch only 337s registers an offense for `exit` in all `if` branches with other expressions 337s accepts `exit!` is in `if` branch only 337s registers an offense for `redo` in `begin` 337s accepts `retry` is in `if` branch only 337s registers an offense for `raise` in all `case` branches 337s accepts `redo` is in `if`, and without `else` 337s registers an offense for `abort` before other statements 337s accepts `fail` is in `if`, and without `else` 337s accepts `break` is in `if`, and without `else` 337s registers an offense for `raise` in `begin` 337s registers an offense for `fail` in all `case` branches 337s registers an offense for `throw` in all `if` and `elsif` branches 337s accepts code with conditional `exit` 337s 337s RuboCop::Cop::Lint::CircularArgumentReference 337s circular argument references in ordinal arguments 337s when the method contains a circular argument reference 337s registers an offense 337s when the seemingly-circular default value is a method call 337s does not register an offense 337s when the method does not contain a circular argument reference 337s does not register an offense 337s circular argument references in keyword arguments 337s when the keyword argument is not circular 337s does not register an offense 337s when the keyword argument is not circular, but calls a method of its own class with a self specification 337s does not register an offense 337s when the keyword argument is not circular, but calls a method of some other object with the same name 337s does not register an offense 337s when there are multiple offensive keyword arguments 337s registers an offense 337s when there is one circular argument reference 337s registers an offense 337s when the keyword argument is not circular, and calls a method 337s does not register an offense 337s 337s RuboCop::Cop::Style::BarePercentLiterals 337s when EnforcedStyle is percent_q 337s and strings are static 337s accepts "" 337s accepts '' 337s accepts "" string with interpolation 337s accepts %Q() 337s accepts heredoc 337s accepts regular expressions 337s registers an offense for %() 337s accepts %q 337s accepts __FILE__ 337s and strings are dynamic 337s accepts "" 337s accepts heredoc 337s accepts "" string with interpolation 337s accepts '' 337s accepts %Q() 337s accepts regular expressions 337s accepts %q 337s accepts __FILE__ 337s registers an offense for %() 337s when EnforcedStyle is bare_percent 337s and strings are static 337s accepts %() 337s accepts "" string with interpolation 337s registers an offense for %Q() 337s accepts heredoc 337s accepts %q 337s accepts "" 337s accepts '' 337s accepts regular expressions 337s accepts __FILE__ 337s and strings are dynamic 337s accepts %() 337s accepts %q 337s accepts "" 337s accepts "" string with interpolation 337s accepts '' 337s registers an offense for %Q() 337s accepts heredoc 337s accepts __FILE__ 337s accepts regular expressions 337s 337s RuboCop::Cop::Style::EmptyCaseCondition 337s given a case statement with an empty case 337s when using `return` in `else` clause and assigning the return value of `case` 337s does not register an offense 337s when using `return ... if` in `else` clause and assigning the return value of `case` 337s does not register an offense 337s when using `when ... then` in `case` in a method call 337s behaves like detect/correct empty case, accept non-empty case 337s accepts the source with case 337s registers an offense and autocorrects 337s when using `return` in `when` clause and assigning the return value of `case` 337s does not register an offense 337s with a single when branch and no else 337s behaves like detect/correct empty case, accept non-empty case 337s accepts the source with case 337s registers an offense and autocorrects 337s with a when branch including comma-delimited alternatives 337s behaves like detect/correct empty case, accept non-empty case 337s registers an offense and autocorrects 337s accepts the source with case 337s with a single when branch and an else 337s behaves like detect/correct empty case, accept non-empty case 337s registers an offense and autocorrects 337s accepts the source with case 337s with multiple when branches and an else 337s behaves like detect/correct empty case, accept non-empty case 337s accepts the source with case 337s registers an offense and autocorrects 337s with multiple when branches and no else 337s behaves like detect/correct empty case, accept non-empty case 337s accepts the source with case 337s registers an offense and autocorrects 337s with multiple when branches and an `else` with code comments 337s behaves like detect/correct empty case, accept non-empty case 337s registers an offense and autocorrects 337s accepts the source with case 337s when used as an argument of a method with comment 337s behaves like detect/correct empty case, accept non-empty case 337s accepts the source with case 337s registers an offense and autocorrects 337s with first when branch including comma-delimited alternatives 337s behaves like detect/correct empty case, accept non-empty case 337s registers an offense and autocorrects 337s accepts the source with case 337s with when branches using then 337s behaves like detect/correct empty case, accept non-empty case 337s registers an offense and autocorrects 337s accepts the source with case 337s when using `when ... then` in `case` in `return` 337s behaves like detect/correct empty case, accept non-empty case 337s registers an offense and autocorrects 337s accepts the source with case 337s when using `return ... if` in `when` clause and assigning the return value of `case` 337s does not register an offense 337s when used as an argument of a method without comment 337s behaves like detect/correct empty case, accept non-empty case 337s registers an offense and autocorrects 337s accepts the source with case 337s 337s RuboCop::Cop::Style::EachWithObject 337s ignores inject and reduce with empty body 337s does not blow up for reduce with no arguments 337s ignores inject and reduce with condition as body 337s correctly autocorrects 337s ignores inject/reduce with assignment to accumulator param in block 337s correctly autocorrects with return value only 337s finds inject and reduce with passed in and returned hash 337s ignores inject and reduce passed in symbol 337s ignores inject and reduce with passed in, but not returned hash 337s Ruby 2.7 337s finds inject and reduce with passed in and returned hash and numblock 337s when a simple literal is passed as initial value 337s ignores inject/reduce 337s 337s RuboCop::Cop::Layout::MultilineOperationIndentation 337s when EnforcedStyle is indented 337s does not check method calls 337s accepts double indentation of until condition 337s registers an offense for a 2 space indentation of unless condition 337s accepts indented operands in unless body 337s accepts indentation of next unless condition 337s accepts the indentation of a broken string 337s registers an offense and corrects one space indentation of second line 337s accepts normal indentation inside grouped expression 337s accepts double indentation of while condition 337s registers an offense and corrects an unindented multiline operation that is the left operand in another operation 337s accepts an expression where the first operand spans multiple lines 337s accepts indented operands in if body 337s accepts indented operands in for body 337s registers an offense and corrects emacs ruby-mode 1.1 indentation of an expression in an array 337s accepts double indentation of if condition 337s accepts unary operations 337s accepts two spaces indentation in assignment of local variable 337s accepts indented operands in until body 337s accepts indented operands in while body 337s registers an offense and corrects aligned code on LHS of equality operator 337s accepts double indentation of unless condition 337s accepts two spaces indentation of second line 337s accepts indentation of assignment 337s accepts indented operands in an array 337s registers an offense and corrects wrong indentation of for expression 337s accepts normal indentation of method parameters 337s accepts special indentation of for expression 337s registers an offense for a 2 space indentation of while condition 337s registers an offense and corrects correct + unrecognized style 337s registers an offense and corrects extra indentation of third line 337s accepts indentation of return unless condition 337s accepts no extra indentation of third line 337s accepts indentation of return if condition 337s accepts indentation of next if condition 337s registers an offense and corrects aligned operands in if conditions 337s registers an offense and corrects three space indentation of second line 337s registers an offense for a 2 space indentation of until condition 337s registers an offense for a 2 space indentation of if condition 337s registers an offense and corrects aligned operators in assignment 337s registers an offense and corrects no indentation of second line 337s accepts alignment inside a grouped expression 337s accepts indented operands in ordinary statement 337s accepts indented operands inside and outside a block 337s accepts any indentation of method parameters 337s accepts two spaces indentation in assignment of array element 337s accepts any indentation of parameters to #[] 337s accepts indented operands in if condition 337s when indentation width is overridden for this cop 337s accepts indented operands in unless body 337s registers an offense for a 4 space indentation of while condition 337s accepts indented operands in until body 337s accepts indented operands in if body 337s registers an offense and corrects 337s accepts indentation of until condition which is offset by a single normal indentation step 337s registers an offense for a 4 space indentation of unless condition 337s accepts indented operands in while body 337s accepts indentation of unless condition which is offset by a single normal indentation step 337s accepts indentation of while condition which is offset by a single normal indentation step 337s registers an offense for a 4 space indentation of until condition 337s accepts indented operands in if condition 337s registers an offense for a 4 space indentation of if condition 337s accepts indentation of if condition which is offset by a single normal indentation step 337s when EnforcedStyle is aligned 338s accepts two spaces indentation in assignment of array element 338s accepts indented code on LHS of equality operator 338s accepts no extra indentation of third line 338s registers an offense and corrects indented operands in if condition 338s registers an offense for misaligned operands in if condition 338s registers an offense and corrects three space indentation of second line 338s accepts two spaces indentation in assignment of local variable 338s accepts indented operands in an array 338s accepts two spaces indentation of second line 338s accepts unary operations 338s registers an offense for misaligned operands in unless condition 338s registers an offense for misaligned operands in until condition 338s accepts indented operands in for body 338s registers an offense and corrects indented operand in second argument 338s registers an offense and corrects one space indentation of second line 338s registers an offense and corrects unaligned operands in op-assignment 338s registers an offense and corrects misaligned string operand when the first operand has backslash continuation 338s accepts indented operands with ternary operators 338s registers an offense and corrects an unindented multiline operation that is the left operand in another operation 338s registers an offense and corrects misaligned string operand when plus is used 338s accepts indented operands inside and outside a block 338s accepts any indentation of parameters to #[] 338s accepts an expression where the first operand spans multiple lines 338s accepts aligned operands in assignment 338s accepts indented operands in ordinary statement 338s registers an offense and corrects indented second part of string 338s registers an offense and corrects no indentation of second line 338s registers an offense and corrects misaligned operands in unless condition 338s accepts aligned or:ed operands in assignment 338s accepts alignment inside a grouped expression 338s does not check method calls 338s registers an offense and corrects extra indentation of third line 338s registers an offense for misaligned operands in while condition 338s registers an offense and corrects emacs ruby-mode 1.1 indentation of an expression in an array 338s accepts aligned operands in if condition 338s accepts indented operands inside block + assignment 338s 338s RuboCop::Cop::Naming::BlockParameterName 338s registers offense when param is less than minimum length 338s registers offense when param with prefix is less than minimum length 338s does not register for brace block without parameters 338s registers offense when param contains uppercase characters 338s does not register offense for valid parameter names 338s does not register for block without parameters 338s registers offense when param ends in number 338s can register multiple offenses in one block 338s with AllowedNames 338s accepts specified block param names 338s registers unlisted offensive names 338s with AllowNamesEndingInNumbers 338s accept params that end in numbers 338s with ForbiddenNames 338s accepts param that uses a forbidden name's letters 338s registers offense for param listed as forbidden 338s 338s RuboCop::Cop::Style::Next 338s handles `then` when autocorrecting 338s does not crash with empty brackets 338s does not blow up on empty body for block 338s allows loops with conditions at the end with ternary op 338s does not crash with an empty body branch 338s allows empty blocks 338s does not blow up on empty body while block 338s does not blow up on empty body until block 338s doesn't reindent heredoc bodies when autocorrecting 338s handles nested autocorrections 338s allows super nodes 338s keeps comments when autocorrecting 338s behaves like iterators 338s registers an offense for if inside of times 338s allows loops with conditional break 338s registers an offense for if inside of select 338s registers an offense when line break before condition 338s registers an offense for if inside of collect 338s registers an offense for if inside of reject! 338s registers an offense for a condition at the end of an iterator when there is more in the iterator than the condition 338s registers an offense for if inside of each_with_object 338s registers an offense for if inside of each 338s allows loops with conditional return 338s registers an offense for if inside of nested iterators 338s registers an offense for if inside of map 338s autocorrects a misaligned end 338s registers an offense for if inside of downto 338s allows loops with if with else, nested in another condition 338s allows loops with if being the entire body with else 338s registers an offense for if inside of select! 338s reports an offense for if whose body has 3 lines 338s allows loops with if with else at the end 338s registers an offense for if inside of nested iterators 338s registers an offense for if inside of loop 338s registers an offense for if inside of for 338s registers an offense for if inside of reject 338s Ruby 2.7 338s registers an offense for if inside of downto numblock 338s EnforcedStyle: always 338s registers an offense for modifier if 338s EnforcedStyle: skip_modifier_ifs 338s allows modifier if 338s MinBodyLength: 3 338s accepts if whose body has 1 line 338s Invalid MinBodyLength 338s fails with an error 338s behaves like iterators 338s registers an offense for unless inside of nested iterators 338s registers an offense for unless inside of each_with_object 338s registers an offense for unless inside of times 338s allows loops with conditional break 338s registers an offense for unless inside of select! 338s registers an offense for unless inside of map 338s registers an offense when line break before condition 338s registers an offense for unless inside of nested iterators 338s registers an offense for unless inside of downto 338s autocorrects a misaligned end 338s allows loops with unless with else, nested in another condition 338s registers an offense for unless inside of select 338s allows loops with unless with else at the end 338s registers an offense for a condition at the end of an iterator when there is more in the iterator than the condition 338s registers an offense for unless inside of loop 338s allows loops with conditional return 338s reports an offense for unless whose body has 3 lines 338s registers an offense for unless inside of reject 338s registers an offense for unless inside of each 338s registers an offense for unless inside of for 338s registers an offense for unless inside of collect 338s registers an offense for unless inside of reject! 338s allows loops with unless being the entire body with else 338s Ruby 2.7 338s registers an offense for unless inside of downto numblock 338s EnforcedStyle: skip_modifier_ifs 338s allows modifier unless 338s EnforcedStyle: always 338s registers an offense for modifier unless 338s 338s RuboCop::Cop::Lint::UselessSetterCall 338s is not confused by operators ending with = 338s accepts exception assignments without exploding 338s when a lvar does not contain any object passed as argument with multiple-assignment at the end of the method 338s registers an offense and corrects 338s when a lvar possibly contains an object passed as argument by logical-operator-assignment at the end of the method 338s accepts the setter call on the lvar 338s with method ending with ivar assignment 338s accepts 338s with method ending with setter call on local object 338s registers an offense and corrects 338s when a lvar contains a non-local object returned by a method 338s accepts 338s when a lvar contains an object passed as argument at the end of the method 338s accepts the setter call on the lvar 338s when a lvar contains a local object instantiated with literal 338s registers an offense and corrects for the setter call on the lvar 338s when a lvar declared as an argument is no longer the passed object at the end of the method 338s registers an offense and corrects for the setter call on the lvar 338s with method ending with setter call on ivar 338s accepts 338s with singleton method ending with setter call on local object 338s registers an offense and corrects 338s with method ending with square bracket setter on local object 338s registers an offense and corrects 338s when a lvar does not contain any object passed as argument by binary-operator-assignment at the end of the method 338s registers an offense and corrects 338s with method ending with setter call on argument 338s accepts 338s when a lvar contains an object passed as argument by multiple-assignment at the end of the method 338s accepts the setter call on the lvar 338s 338s RuboCop::Runner 338s #run 338s if a cop crashes 338s does not call ResultCache#save 338s if there is an offense in an inspected file 338s sends the offense to a formatter 338s returns false 338s if there are no offenses in inspected files 338s returns true 338s if -s/--stdin is used with an offense 338s returns false 338s sends the offense to a formatter 338s #run when interrupted 338s with SIGINT 339s returns false 339s #run with cops autocorrecting each-other 339s with two pairs of conflicting cops 339s if there is an offense in an inspected file 339s aborts because of an infinite loop 339s with display options 339s --display-only-safe-correctable 339s returns false 339s ommits unsafe correctable `Style/FrozenStringLiteral` 339s --display-only-correctable 339s returns false 339s ommits uncorrectable `Layout/LineLength` 339s with three cop cycle 339s if there is an offense in an inspected file 339s aborts because of an infinite loop 339s with two conflicting cops 339s if there are multiple offenses in an inspected file 339s aborts because of an infinite loop 339s if there is an offense in an inspected file 339s aborts because of an infinite loop 339s 339s RuboCop::Cop::InternalAffairs::InheritDeprecatedCopClass 339s registers an offense when using `RuboCop::Cop::Cop` 339s does not register an offense when using `Base` 339s does not register an offense when not inherited super class 339s registers an offense when using `Cop` 339s 339s RuboCop::Cop::Lint::UnifiedInteger 339s target ruby version < 2.4 339s when Fixnum 339s without any decorations 339s registers an offense and autocorrects 339s when explicitly specified as toplevel constant 339s registers an offense 339s with MyNamespace 339s does not register an offense 339s target ruby version < 2.4 339s when Bignum 339s without any decorations 339s registers an offense and autocorrects 339s with MyNamespace 339s does not register an offense 339s when explicitly specified as toplevel constant 339s registers an offense 339s when Integer 339s with MyNamespace 339s does not register an offense 339s without any decorations 339s does not register an offense 339s when explicitly specified as toplevel constant 339s does not register an offense 339s target ruby version >= 2.4 339s when Fixnum 339s with MyNamespace 339s does not register an offense 339s without any decorations 339s registers an offense 339s when explicitly specified as toplevel constant 339s registers an offense 339s target ruby version >= 2.4 339s when Bignum 339s with MyNamespace 339s does not register an offense 339s when explicitly specified as toplevel constant 339s registers an offense 339s without any decorations 339s registers an offense 339s 339s RuboCop::Cop::Layout::EmptyLinesAroundAttributeAccessor 339s registers an offense and corrects for an attribute accessor and `rubocop:enable` comment line and other comment 339s accepts code that separates attribute accessors from the code and comment line with a newline 339s accepts code that separates an attribute accessor from the code with a newline 339s registers an offense and corrects for some attribute accessors and comment line 339s registers an offense and corrects for an attribute accessor and some comment line 339s accepts code when used in class definition 339s accepts code that separates an attribute accessor from the code and `rubocop:enable` comment line with a newline 339s registers an offense and corrects for an attribute accessor and comment line 339s accepts code when attribute method is method chained 339s registers an offense and corrects for an attribute accessor and `rubocop:disable` comment line 339s registers an offense and corrects for code that immediately follows accessor 339s registers an offense and corrects for code that immediately follows accessor with comment 339s does not register an offense and corrects when using `if` ... `else` branches 339s registers an offense and corrects for an attribute accessor and `rubocop:enable` comment line 339s accepts code that where the attr_accessor is the last line 339s accepts code that separates attribute accessors from the code with a newline 339s when `AllowedMethods: private` 339s does not register an offense for code that immediately ignored methods after accessor 339s when `AllowAliasSyntax: true` 339s does not register an offense for code that immediately `alias` syntax after accessor 339s when `AllowedMethods: []` 339s registers an offense for code that immediately ignored methods after accessor 339s when `AllowAliasSyntax: false` 339s registers an offense for code that immediately `alias` syntax after accessor 339s 339s RuboCop::Cop::Layout::SpaceBeforeComma 340s handles more than one space before a comma 340s registers an offense and corrects array index with space before comma 340s registers an offense and corrects block argument with space before comma 340s does not register an offense for no spaces before comma 340s registers an offense and corrects method call arg with space before comma 340s heredocs 340s registers an offense and corrects 340s 340s RuboCop::Cop::Style::AsciiComments 340s registers an offense for a comment with non-ascii chars 340s registers an offense for comments with mixed chars 340s accepts comments with only ascii chars 340s when certain non-ascii chars are allowed 340s registers an offense for comments with non-allowed non-ascii chars 340s accepts comment with allowed non-ascii chars 340s 340s RuboCop::Cop::Style::TopLevelMethodDefinition 340s does not register an offense when using Struct 340s does not register an offense when using class 340s registers an offense top-level class methods 340s does not register an offense when define_method is not top-level 340s does not register an offense when just called method on top-level 340s registers an offense top-level methods 340s does not register an offense when defined within arbitrary block 340s registers an offense when defining a top-level method after a class definition 340s does not register an offense when using module 340s top-level define_method 340s registers offense for multi-line block 340s registers offense with inline block 340s registers offense for proc argument 340s Ruby >= 2.7 340s registers offense with inline numblock 340s 340s RuboCop::Cop::Lint::PercentSymbolArray 340s detecting colons or commas in a %i/%I string 340s registers an offense and corrects when symbols contain colons and are comma separated 340s registers an offense and corrects when there are no colons but one comma 340s registers an offense and corrects when one symbol has a colon but there are no commas 340s registers an offense and corrects when there are no colons but one comma 340s registers an offense and corrects when one symbol has a colon but there are no commas 340s accepts likely false positive $, 340s accepts tokens without colons or commas 340s accepts likely false positive $, 340s registers an offense and corrects when symbols contain colons and are comma separated 340s accepts tokens without colons or commas 340s with binary encoded source 340s accepts if tokens contain no quotes 340s registers an offense and corrects when tokens contain quotes 340s 340s RuboCop::Cop::Style::IfUnlessModifierOfIfUnless 340s provides a good error message 340s `unless` / `else` with modifier 340s registers an offense and corrects 340s conditional with modifier 340s registers an offense and corrects 340s ternary with modifier 340s registers an offense and corrects 340s conditional with modifier in body 340s accepts 340s nested conditionals 340s accepts 340s 340s RuboCop::Cop::Style::SingleLineBlockParams 340s finds wrong argument names in calls with different syntax 340s allows calls with proper argument names 340s reports an offense if the names are partially correct 340s does not report if no block arguments are present 340s allows an unused parameter to have a leading underscore 340s ignores :reduce symbols 340s reports an offense if the names are in reverse order 340s does not report when destructuring is used 340s does not report if the right names are used but not all arguments are given 340s ignores do..end blocks 340s reports an offense if the arguments names are wrong and not all arguments are given 340s finds incorrectly named parameters with leading underscores 340s 340s RuboCop::Cop::InternalAffairs::RedundantDescribedClassAsSubject 340s registers an offense when using `subject(:cop)` and `:config` is not specified in `describe` 340s does not register an offense when using `subject(:cop)` with multiple arguments to `described_class.new` 340s registers an offense when using `subject(:cop)` and `:config` is already specified in `describe` 340s registers an offense when using `subject(:cop)` with no argument `described_class.new` and `:config` is specified 340s 340s RuboCop::Cop::Lint::Debugger 340s does not register an offense for a console method 340s does not register an offense for a remote_pry in comments 340s does not register an offense for a debugger in comments 340s does not register an offense for a pry_remote in comments 340s does not register an offense for a binding method that is not disallowed 340s does not register an offense for a irb in comments 340s does not register an offense for a debugger method 340s does not register an offense for a save_and_open_screenshot method 340s does not register an offense for a remote_pry method 340s does not register an offense for a pry method 340s does not register an offense for a save_and_open_page in comments 340s does not register an offense for a byebug method 340s does not register an offense for a console in comments 340s does not register an offense for a save_and_open_page method 340s does not register an offense for a remote_byebug method 340s does not register an offense for a pry_remote method 340s does not register an offense for a irb method 340s does not register an offense for a remote_byebug in comments 340s does not register an offense for a pry in comments 340s does not register an offense for a save_and_open_screenshot in comments 340s does not register an offense for a byebug in comments 340s RubyJard 340s registers an offense for a jard call 340s rails 340s registers an offense for a debugger with Kernel call 340s registers an offense for a debugger with an argument call 340s registers an offense for a debugger call 340s registers an offense for a debugger with ::Kernel call 340s web console 340s registers an offense for a `binding.console` call 340s does not register an offense for `console` without a receiver 340s built-in methods 340s registers an offense for a irb binding call 340s registers an offense for a binding.irb with Kernel call 340s when a method group is disabled with false 340s does not register an offense for a Pry debugger call 340s does register an offense for another group 340s debug.rb 340s registers an offense for a `b` binding call 340s registers an offense for a `break` binding call 340s registers an offense for a `binding.b` with `Kernel` call 340s registers an offense for a `binding.break` with `Kernel` call 340s pry 340s registers an offense for a pry binding call 340s registers an offense for a pry binding with an argument call 340s registers an offense for a remote_pry binding call 340s registers an offense for a binding.pry with Kernel call 340s does not register an offense for a `rescue` call without Pry 340s registers an offense for a Pry.rescue call 340s registers an offense for a pry_remote binding with an argument call 340s does not register an offense for a `pry` call without binding 340s registers an offense for a pry_remote binding call 340s registers an offense for a remote_pry binding with an argument call 340s byebug 340s registers an offense for a byebug with an argument call 340s registers an offense for a Kernel.byebug call 340s registers an offense for a remote_byebug call 340s registers an offense for a byebug call 340s registers an offense for a Kernel.remote_byebug call 340s with the DebuggerMethods configuration 340s registers an offense for a `custom_debugger` call 340s does not register an offense for a byebug call 340s with a const chain and a method chain 340s registers an offense for a `Foo::Bar::Baz.debug.this.code` call 340s with a method chain 340s registers an offense for a `debugger.foo.bar` call 340s with a const chain 340s registers an offense for a `Foo::Bar::Baz.debug` call 340s nested custom configurations 340s registers an offense for a `custom_debugger call 340s capybara 340s registers an offense for save_and_open_screenshot 340s registers an offense for save_and_open_page 340s with an argument 340s registers an offense for save_and_open_screenshot 340s registers an offense for save_and_open_page 340s when a method group is disabled with nil 340s does register an offense for another group 340s does not register an offense for a Pry debugger call 340s 340s RuboCop::Cop::Lint::RedundantWithIndex 340s accepts an index is used as a block argument 340s registers an offense when using `ary.each.with_index(1) { |v| v }` and correct to `ary.each { |v| v }` 340s registers an offense for `ary.each_with_index { |v| v }` and corrects to `ary.each` 340s registers an offense when using `ary.each_with_object([]).with_index { |v| v }` and corrects to `ary.each_with_object([]) { |v| v }` 340s registers an offense when using `ary.each.with_index { |v| v }` and corrects to `ary.each` 340s Ruby 2.7 340s registers an offense when using `ary.each.with_index { _1 }` and corrects to `ary.each` 340s accepts an index is used as a numblock argument 340s registers an offense for `ary.each_with_index { _1 }` and corrects to `ary.each` 340s 340s RuboCop::Cop::Style::CommentAnnotation 340s with RequireColon configuration set to false 340s accepts a keyword that is just the beginning of a sentence 340s accepts a comment that is obviously a code example 340s accepts upper case keyword with colon, space and note 340s accepts a keyword that is somewhere in a sentence 340s accepts upper case keyword alone 340s when a keyword is not in the configuration 340s accepts the word with colon 340s offenses in consecutive inline comments 340s registers each of them 340s upper case keyword with space but no note 340s registers an offense without autocorrection 340s with configured keyword 340s registers an offense for containing a colon after the word 340s multiline comment 340s only registers an offense on the first line 340s lower case keyword 340s registers an offense and upcases 340s upper case keyword with colon but no note 340s registers an offense without autocorrection 340s with colon 340s registers an offense and removes colon 340s with default RequireColon configuration (colon + space) 340s accepts a keyword that is just the beginning of a sentence 340s accepts a comment that is obviously a code example 340s accepts upper case keyword alone 340s accepts upper case keyword with colon, space and note 340s accepts a keyword that is somewhere in a sentence 340s capitalized keyword 340s registers an offense and upcases 340s missing space after colon 340s registers an offense and adds space 340s lower case keyword 340s registers an offense and upcases 340s upper case keyword with colon but no note 340s registers an offense without autocorrection 340s missing colon 340s registers an offense and adds colon 340s upper case keyword with space but no note 340s registers an offense without autocorrection 340s when a keyword is not in the configuration 340s accepts the word without colon 340s with multiword keywords 340s registers an offense for each matching keyword 340s with configured keyword 340s registers an offense for a missing colon after the word 340s offenses in consecutive inline comments 340s registers each of them 340s multiline comment 340s only registers an offense on the first line 340s 340s RuboCop::Cop::Style::PreferredHashMethods 340s with enforced `short` style 340s registers an offense for has_key? with one arg 340s accepts has_value? with no args 340s accepts has_key? with no args 340s registers an offense for has_value? with one arg 340s when using safe navigation operator 340s registers an offense for has_value? with one arg 340s with enforced `verbose` style 340s accepts key? with no args 340s registers an offense for value? with one arg 340s accepts value? with no args 340s registers an offense for key? with one arg 340s 340s RuboCop::Cop::Lint::AmbiguousRegexpLiteral 340s Ruby >= 3.0 340s without parentheses 340s registers an offense and corrects when sending method without receiver takes a regexp argument 340s registers an offense and corrects when sending method inside parens without receiver takes a regexp argument 340s registers an offense and corrects when sending method to regexp without argument 340s registers an offense and corrects when using nested method arguments without parentheses 340s registers an offense and corrects when sending method to regexp with argument 341s registers an offense and corrects when using block argument 341s registers an offense and corrects when sending method chain to regexp 341s registers an offense and corrects when single argument 341s registers an offense and corrects when multiple arguments 341s registers an offense and corrects when using regexp without method call in a nested structure 341s registers an offense and corrects when nesting 341s with `match_with_lvasgn` node 341s without parentheses 341s registers an offense and corrects 341s with parentheses 341s does not register an offense 341s with different parentheses 341s does not register an offense 341s with parentheses 341s accepts 341s Ruby <= 2.7 341s without parentheses 341s registers an offense and corrects when sending method without receiver takes a regexp argument 341s registers an offense and corrects when sending method inside parens without receiver takes a regexp argument 341s registers an offense and corrects when sending method to regexp with argument 341s registers an offense and corrects when single argument 341s registers an offense and corrects when sending method chain to regexp 341s registers an offense and corrects when using nested method arguments without parentheses 341s registers an offense and corrects when sending method to regexp without argument 341s registers an offense and corrects when nesting 341s registers an offense and corrects when using block argument 341s registers an offense and corrects when multiple arguments 341s registers an offense and corrects when using regexp without method call in a nested structure 341s with `match_with_lvasgn` node 341s with parentheses 341s does not register an offense 341s with different parentheses 341s does not register an offense 341s without parentheses 341s registers an offense and corrects 341s with parentheses 341s accepts 341s 341s RuboCop::Cop::Style::SelfAssignment 341s registers an offense for non-shorthand assignment & and @x 341s registers an offense for non-shorthand assignment & and x 341s registers an offense for non-shorthand assignment ** and @x 341s registers an offense for non-shorthand assignment ** and @@x 341s registers an offense for non-shorthand assignment | and @@x 341s registers an offense for non-shorthand assignment / and @x 341s registers an offense for non-shorthand assignment / and x 341s registers an offense for non-shorthand assignment && and x 341s registers an offense for non-shorthand assignment && and @@x 341s registers an offense for non-shorthand assignment - and x 341s registers an offense for non-shorthand assignment * and @@x 341s registers an offense for non-shorthand assignment / and @@x 341s registers an offense for non-shorthand assignment | and x 341s registers an offense for non-shorthand assignment * and x 341s registers an offense for non-shorthand assignment ** and x 341s registers an offense for non-shorthand assignment - and @@x 341s registers an offense for non-shorthand assignment || and x 341s registers an offense for non-shorthand assignment || and @@x 341s registers an offense for non-shorthand assignment * and @x 341s registers an offense for non-shorthand assignment || and @x 341s registers an offense for non-shorthand assignment + and @@x 341s registers an offense for non-shorthand assignment && and @x 341s registers an offense for non-shorthand assignment - and @x 341s registers an offense for non-shorthand assignment & and @@x 341s registers an offense for non-shorthand assignment | and @x 341s registers an offense for non-shorthand assignment + and x 341s registers an offense for non-shorthand assignment + and @x 341s 341s RuboCop::Cop::Style::InverseMethods 341s allows a method call without a not 341s registers an offense for !(foo == bar) 341s registers an offense for not (foo != bar) 341s allows an inverse method when double negation is used 341s registers an offense for !foo.present? 341s registers an offense for !(foo != bar) 341s registers an offense for !(foo > bar) 341s allows an inverse method in a block with next 341s registers an offense for calling !.none? with a block 341s registers an offense for !foo.blank? 341s registers an offense for !foo.include? 341s registers an offense for !foo.none? 341s allows comparing camel case constants on the left 341s registers an offense for comparing snake case constants on the left 341s registers an offense for !(foo !~ bar) 341s registers an offense for not (foo > bar) 341s registers an offense for !foo.exclude? 341s registers an offense for calling !.none? with a symbol proc 341s registers an offense for comparing snake case constants on the right 341s allows comparing camel case constants on the right 341s allows an inverse method with a block when double negation is used 341s registers an offense for !foo.odd? 341s registers an offense for not (foo !~ bar) 341s registers an offense for !(foo =~ bar) 341s registers an offense for not (foo < bar) 341s registers an offense for not (foo =~ bar) 341s registers an offense for !(foo < bar) 341s registers an offense for !foo.even? 341s registers an offense for !foo.any? 341s registers an offense for not (foo == bar) 341s registers an offense for calling !.any? inside parens 341s behaves like all variable types 341s registers an offense for calling not $foo.none? 341s registers an offense for calling !$foo.none? 341s behaves like all variable types 341s registers an offense for calling !@foo.none? 341s registers an offense for calling not @foo.none? 341s behaves like all variable types 341s registers an offense for calling !FOO.none? 341s registers an offense for calling not FOO.none? 341s behaves like all variable types 341s registers an offense for calling not foo["bar"].none? 341s registers an offense for calling !foo["bar"].none? 341s behaves like all variable types 341s registers an offense for calling not foo.none? 341s registers an offense for calling !foo.none? 341s behaves like all variable types 341s registers an offense for calling !@@foo.none? 341s registers an offense for calling not @@foo.none? 341s Ruby 2.7 341s registers an offense for calling !.none? with a numblock 341s inverse blocks 341s corrects an inverted do end method call 341s corrects an inverted do end method call 341s registers an offense for a multiline method call where the last method is inverted 341s corrects an inverted method call 341s registers a single offense for nested inverse method calls 341s registers an offense for foo.select! { |e| !e } 341s registers an offense for an inverted equality block 341s registers an offense for a multiline inverted equality block 341s registers an offense for a multiline method call where the last method is inverted 341s registers an offense for a multiline inverted equality block 341s registers an offense for an inverted equality block 341s corrects an inverted method call when using `BasicObject#!` 341s corrects an inverted do end method call 341s corrects an inverted do end method call 341s registers a single offense for nested inverse method calls 341s registers an offense for a multiline inverted equality block 341s registers an offense for a multiline inverted equality block 341s registers an offense for foo.reject { |e| !e } 341s corrects an inverted method call when using `BasicObject#!` 341s registers an offense for an inverted equality block 341s corrects an inverted method call when using `BasicObject#!` with spaces before the method call 341s corrects an inverted method call 341s corrects an inverted method call when using `BasicObject#!` with spaces before the method call 341s corrects an inverted method call when using `BasicObject#!` with spaces before the method call 341s registers an offense for an inverted equality block 341s corrects a complex inverted method call 341s corrects a complex inverted method call 341s corrects an inverted method call 341s corrects a complex inverted method call 341s registers an offense for a multiline method call where the last method is inverted 341s corrects an inverted method call when using `BasicObject#!` 341s registers a single offense for nested inverse method calls 341s corrects a complex inverted method call 341s registers an offense for foo.select { |e| !e } 341s registers an offense for a multiline method call where the last method is inverted 341s registers a single offense for nested inverse method calls 341s corrects an inverted method call when using `BasicObject#!` with spaces before the method call 341s corrects an inverted method call when using `BasicObject#!` 341s registers an offense for foo.reject! { |e| !e } 341s corrects an inverted method call 341s behaves like all variable types 341s registers an offense for calling not FOO::BAR.none? 341s registers an offense for calling !FOO::BAR.none? 341s behaves like all variable types 341s registers an offense for calling !foo.bar.none? 341s registers an offense for calling not foo.bar.none? 341s 341s RuboCop::Cop::Lint::DuplicateRequire 341s registers and corrects an offense for multiple duplicate requires 341s registers and corrects an offense when duplicate `require_relative` is detected 341s registers and corrects an offense when duplicate `require` through `Kernel` is detected 341s does not register an offense when same feature argument but different require method 341s registers and corrects an offense when duplicate requires are interleaved with some other code 341s does not register an offense when calling user-defined `require` method 341s does not register an offense when there are no duplicate `require`s 341s registers and corrects an offense for duplicate non top-level requires 341s does not register an offense when using single `require` 341s registers and corrects an offense when duplicate `require` is detected 341s 341s RuboCop::Cop::Style::NumericLiteralPrefix 341s binary literals 341s registers an offense for uppercase prefix 341s does not register offense for lowercase prefix 341s octal literals 341s when config is zero_only 341s does not register offense for prefix `0` 341s registers an offense for prefix `0O` and `0o` 341s when config is zero_with_o 341s registers an offense for prefixes `0` and `0O` 341s does not register offense for lowercase prefix 341s decimal literals 341s registers an offense for prefixes 341s does not register offense for no prefix 341s hex literals 341s does not register offense for lowercase prefix 341s registers an offense for uppercase prefix 341s 341s RuboCop::Cop::Layout::FirstArrayElementLineBreak 341s ignores properly formatted implicit arrays 341s ignores elements listed on a single line 341s word arrays 341s registers and corrects the offense 341s array nested in a method call 341s registers an corrects the offense 341s send implicit arrays 341s registers and corrects the offense 341s masgn implicit arrays 341s registers and corrects the offense 341s elements listed on the first line 341s registers and corrects the offense 341s 341s RuboCop::Cop::Style::MultilineMemoization 341s EnforcedStyle: braces 341s with a multiline memoization 341s without braces 341s when the expression is wrapped in `begin` and `end` keywords 341s registers an offense for begin...end block on following line 341s registers an offense for begin...end block on first line 341s with a multiline memoization 341s without a `begin` and `end` block 341s allows with a conditional on the following line 341s allows with a conditional on the first line 341s allows with another block on the following line 341s allows with another block on the first line 341s with a single line memoization 341s allows expression on first line 341s allows expression on the following line 341s EnforcedStyle: keyword 341s with a single line memoization 341s allows expression on first line 341s allows expression on the following line 341s with a multiline memoization 341s without a `begin` and `end` block 341s when the expression is wrapped in parentheses 341s registers an offense when expression starts on first line 341s registers an offense when expression starts on following line 341s registers an offense with multiline expression 341s with a multiline memoization 341s without a `begin` and `end` block 341s allows with a conditional on the first line 341s allows with another block on the following line 341s allows with a conditional on the following line 341s allows with another block on the first line 341s 341s RuboCop::Cop::Style::RedundantBegin 341s does not register an offense when using `begin` with `until` 341s registers and corrects an offense when using `begin` with single statement for or assignment 341s does not register an offense when using body of `begin` is empty 341s registers and corrects an offense when using `begin` with single statement that called a block for or assignment 341s accepts when one-liner `begin` block has multiple statements with modifier condition 341s does not register an offense when using `begin` with `ensure` 341s registers an offense and corrects when using `begin` without `rescue` or `ensure` 341s does not register an offense when using `begin` with `while` 341s does not register an offense when using `begin` with no statements for or assignment 341s reports an offense for single line def with redundant begin block 341s reports an offense for defs with redundant begin block 341s does not register an offense when using `begin` for semantic operator conditions 341s accepts a def with required begin block 341s reports an offense when one-liner `begin` block has single statement with modifier condition 341s accepts a defs with required begin block 341s does not register an offense when using `begin` with multiple statement for or assignment 341s does not register an offense when using `begin` for method argument 341s autocorrects when there are trailing comments 341s reports an offense when multi-line `begin` block has single statement with modifier condition 341s registers and corrects an offense when using modifier `if` single statement in `begin` block 341s doesn't modify spacing when autocorrecting 341s reports an offense for def with redundant begin block 341s does not register an offense when using `begin` for or assignment and method call 341s reports an offense when multi-line `begin` block has single statement and it is inside condition 341s accepts when multi-line `begin` block has multiple statements with modifier condition 341s does not register an offense when using `begin` for assignment 341s does not register an offense when using `begin` with `rescue` 341s reports an offense when assigning nested blocks which contain `begin` blocks 341s does not register an offense when using `begin` for logical operator conditions 341s accepts a def with a begin block after a statement 341s reports an offense when assigning nested `begin` blocks 341s registers and corrects an offense when using multi-line `if` in `begin` block 342s >= ruby 2.5 342s accepts a stabby lambda with a begin-end 342s registers an offense for a do-end block with redundant begin-end 342s accepts super with block 342s accepts a block with a begin block after a statement 342s accepts a {} block with a begin-end 342s Ruby 2.7 342s reports an offense when assigning nested blocks which contain `begin` blocks 342s when using endless method definition 342s accepts when `begin` block has multiple statements 342s accepts when `begin` block has no statements 342s registers when `begin` block has a single statement 342s < Ruby 2.5 342s accepts a do-end block with a begin-end 342s 342s RuboCop::Cop::Metrics::CyclomaticComplexity 342s when Max is 2 342s counts stupid nested if and else blocks 342s when AllowedMethods is enabled 342s does not register an offense when defining an instance method 342s does not register an offense when defining a class method 342s does not register an offense when using `define_method` 342s when AllowedPatterns is enabled 342s does not register an offense when using `define_method` 342s does not register an offense when defining a class method 342s does not register an offense when defining an instance method 342s when Max is 1 342s registers an offense for an unless modifier 342s registers an offense for &&= 342s counts enumerating methods with block-pass as +1 342s registers an offense for a for block 342s accepts a method with no decision points 342s registers an offense for || 342s registers an offense for a while block 342s registers an offense for and 342s registers an offense for an until block 342s accepts an empty method 342s registers an offense for a `define_method` 342s registers an offense for or 342s accepts an empty `define_method` 342s counts repeated &. on same untouched local variable as 1 342s accepts complex code outside of methods 342s registers an offense for ||= 342s registers an offense for a rescue block 342s registers an offense for a case/when block 342s registers an offense for &. 342s counts enumerating methods with blocks as +1 342s counts only a single method 342s deals with nested if blocks containing && and || 342s registers an offense for a ternary operator 342s registers an offense for an if modifier 342s registers an offense for && 342s does not count blocks in general 342s registers an offense for an elsif block 342s Ruby 2.7 342s counts enumerating methods with numblocks as +1 342s 342s RuboCop::Cop::Naming::MethodParameterName 342s does not register offense for valid default parameters 342s registers offense when parameter with prefix is less than minimum length 342s can register multiple offenses in one method definition 342s does not register offense for empty restarg 342s registers offense when parameter contains uppercase characters 342s does not register for method without parameters 342s registers offense when parameter ends in number on class method 342s does not register offense for empty kwrestarg 342s registers offense for offensive default parameter 342s does not register offense for valid parameter names on self.method 342s does not register offense for valid keyword parameters 342s registers offense when parameter ends in number 342s does not register offense for valid parameter names 342s registers offense for offensive keyword parameters 342s registers offense when parameter is less than minimum length 342s when using argument forwarding 342s does not register an offense 342s with AllowNamesEndingInNumbers 342s accept parameters that end in numbers 342s with ForbiddenNames 342s registers offense for parameter listed as forbidden 342s accepts parameter that uses a forbidden name's letters 342s with AllowedNames 342s accepts param names prefixed with underscore 342s accepts underscore param names 342s registers unlisted offensive names 342s accepts specified block param names 342s 342s Changelog 342s parses correctly 342s merges correctly 342s Changelog::Entry 342s #content 342s when there is no issue referenced 342s generates correct content 342s when there is an issue referenced 342s generates correct content 342s #body 342s when there is no issue referenced in the body 342s is expected to eq "Fix something" 342s when there is an issue referenced with [Fix #x] the body 342s is expected to eq "Fix something" 342s when there is an issue referenced with [Fixes #x] the body 342s is expected to eq "Fix something" 342s when there is no body 342s is expected to eq "" 342s #ref_id 342s when there is no issue referenced in the body 342s is expected to eq "x" 342s when there is no body 342s is expected to eq "x" 342s when there is an issue referenced with [Fix #x] the body 342s is expected to eq "123" 342s when there is an issue referenced with [Fixes #x] the body 342s is expected to eq "123" 342s 342s RuboCop::Cop::Security::IoMethods 342s when using `IO` receiver and string argument 342s registers and corrects an offense when using `foreach` 342s behaves like offense 342s registers and corrects an offense when using `write` 342s behaves like offense 342s registers and corrects an offense when using `binwrite` 342s behaves like offense 342s registers and corrects an offense when using `read` 342s behaves like offense 342s registers and corrects an offense when using `readlines` 342s behaves like offense 342s registers and corrects an offense when using `binwrite` 342s when using `IO` receiver and string argument that starts with a pipe character (`"| command"`) 342s behaves like accepts 342s does not register an offense when using `IO.write("| command", "hi")` 342s behaves like accepts 342s does not register an offense when using `IO.foreach("| command") { |x| puts x }` 342s behaves like accepts 342s does not register an offense when using `IO.binwrite("| command", "hi")` 342s behaves like accepts 342s does not register an offense when using `IO.read("| command")` 342s behaves like accepts 342s does not register an offense when using `IO.readlines("| command")` 342s when using no receiver 342s behaves like accepts 342s does not register an offense when using `binwrite("command", "hi")` 342s behaves like accepts 342s does not register an offense when using `readlines("command")` 342s behaves like accepts 342s does not register an offense when using `foreach("command") { |x| puts x }` 342s behaves like accepts 342s does not register an offense when using `read("command")` 342s behaves like accepts 342s does not register an offense when using `write("command", "hi")` 342s when using `IO` receiver and variable argument 342s registers and corrects an offense when using `foreach` 342s behaves like offense 342s registers and corrects an offense when using `binread` 342s behaves like offense 342s registers and corrects an offense when using `binwrite` 342s behaves like offense 342s registers and corrects an offense when using `readlines` 342s behaves like offense 342s registers and corrects an offense when using `write` 342s behaves like offense 342s registers and corrects an offense when using `read` 342s when using `IO` receiver and string argument that starts with a pipe character (`" | command"`) 342s behaves like accepts 342s does not register an offense when using `IO.readlines(" | command")` 342s behaves like accepts 342s does not register an offense when using `IO.read(" | command")` 342s behaves like accepts 342s does not register an offense when using `IO.foreach(" | command") { |x| puts x }` 342s behaves like accepts 342s does not register an offense when using `IO.binwrite(" | command", "hi")` 342s behaves like accepts 342s does not register an offense when using `IO.write(" | command", "hi")` 342s when using `File` receiver 342s behaves like accepts 342s does not register an offense when using `File.foreach(path) { |x| puts x }` 342s behaves like accepts 342s does not register an offense when using `File.readlines(path)` 342s behaves like accepts 342s does not register an offense when using `File.binwrite(path, "hi")` 342s behaves like accepts 342s does not register an offense when using `File.binread(path)` 342s behaves like accepts 342s does not register an offense when using `File.read(path)` 342s 342s RuboCop::Cop::InternalAffairs::UselessRestrictOnSend 342s does not register an offense when using `RESTRICT_ON_SEND` and defines `on_send` with alias_method 342s does not register an offense when using `RESTRICT_ON_SEND` and defines `after_send` 342s does not register an offense when using `RESTRICT_ON_SEND` and defines `on_send` 342s does not register an offense when using `RESTRICT_ON_SEND` and defines `on_send` with alias 342s does not register an offense when using `RESTRICT_ON_SEND` and defines `after_send` with alias 342s does not register an offense when using `RESTRICT_ON_SEND` and defines `after_send` with alias_method 342s registers an offense when using `RESTRICT_ON_SEND` and not defines send callback method 342s 342s RuboCop::Cop::Lint::EmptyWhen 342s when `AllowComments: true` 342s registers an offense for missing when body without a comment 342s accepts an empty when body with a comment 342s accepts an empty when ... then body with a comment 342s when `AllowComments: false` 342s registers an offense for empty when body with a comment 342s when a `when` body is missing 342s registers an offense when case line has no expression 342s registers an offense for missing when body with a comment followed by else 342s registers an offense for missing when body with a comment 342s registers an offense for missing when body followed by else 342s registers an offense for missing when ... then body followed by else 342s registers an offense for missing when ... then body 342s registers an offense for a missing when body 342s when a `when` body is present 342s accepts with no case line expression 342s accepts case with when bodies and else clause 342s accepts case with when ... then statements and else clause 342s accepts case with when bodies 342s accepts case with when ... then statements 342s 342s RuboCop::Cop::Style::NonNilCheck 342s when `EnforcedStyle: comparison` of `Style/NilComparison` cop 342s `IncludeSemanticChanges: false` 342s does not register an offense for `foo != nil` 342s `IncludeSemanticChanges: true` 342s registers an offense for `foo != nil` 342s when not allowing semantic changes 342s registers an offense but does not correct when the code was not modified 342s does not register an offense for not x.nil? 342s does not register an offense for != 0 342s registers an offense for != nil 342s does not register an offense if last expression in predicate 342s does not register an offense if last expression in class predicate 342s does not register an offense with implicit receiver 342s does not register an offense if only expression in predicate 342s does not register an offense for !x.nil? 342s does not register an offense if only expression in class predicate 342s when allowing semantic changes 342s autocorrects by changing `x != nil` to `x` 342s does not blow up with ternary operators 342s registers an offense for unless x.nil? 342s registers an offense for `!x.nil?` 342s does not blow up when autocorrecting implicit receiver 342s does not register an offense for `x.nil?` 342s registers an offense for `not x.nil?` 342s does not register an offense for `!x` 342s corrects code that would not be modified if IncludeSemanticChanges were false 342s 342s RuboCop::Cop::Lint::RedundantStringCoercion 342s accepts #to_s with arguments in an interpolation 342s registers an offense and corrects `to_s` in interpolation 342s accepts interpolation without #to_s 342s does not explode on empty interpolation 342s registers an offense and corrects `to_s` in an interpolation with several expressions 342s registers an offense and corrects an implicit receiver 342s 342s RuboCop::Cop::Lint::AmbiguousRange 342s for an erange 342s can handle a beginningless range 342s can handle an endless range 342s does not register an offense for a variable 342s does not register an offense for a constant 342s registers an offense and corrects when the entire range is parenthesized but contains complex boundaries 342s registers an offense and corrects when not parenthesized 342s does not register an offense if the range is composed of literals 342s registers an offense and corrects when one side is parenthesized but the other is not 342s registers an offense and corrects when there are clauses on both sides 342s does not register an offense for `self` 342s does not register an offense if the range is parenthesized 342s method calls 342s with RequireParenthesesForMethodChains: true 342s registers an offense for a chained method call without parens 342s does not register an offense for a chained method call with parens 342s behaves like common behavior 342s does not register an offense for a unary + 342s does not register an offense for a unary - 342s requires parens when calling a method on a basic literal 342s does not register an offense for a non-chained method call 342s with RequireParenthesesForMethodChains: false 342s does not register an offense for a chained method call with parens 342s does not register an offense for a chained method call without parens 342s behaves like common behavior 342s does not register an offense for a unary - 342s requires parens when calling a method on a basic literal 342s does not register an offense for a non-chained method call 342s does not register an offense for a unary + 342s for an irange 342s does not register an offense for `self` 342s can handle an endless range 342s can handle a beginningless range 342s registers an offense and corrects when one side is parenthesized but the other is not 342s does not register an offense for a constant 342s does not register an offense if the range is composed of literals 342s does not register an offense if the range is parenthesized 342s does not register an offense for a variable 342s registers an offense and corrects when the entire range is parenthesized but contains complex boundaries 342s registers an offense and corrects when not parenthesized 342s registers an offense and corrects when there are clauses on both sides 342s method calls 342s with RequireParenthesesForMethodChains: false 342s does not register an offense for a chained method call with parens 342s does not register an offense for a chained method call without parens 342s behaves like common behavior 342s does not register an offense for a non-chained method call 342s does not register an offense for a unary + 342s requires parens when calling a method on a basic literal 342s does not register an offense for a unary - 342s with RequireParenthesesForMethodChains: true 342s does not register an offense for a chained method call with parens 342s registers an offense for a chained method call without parens 342s behaves like common behavior 342s does not register an offense for a non-chained method call 342s does not register an offense for a unary + 342s does not register an offense for a unary - 342s requires parens when calling a method on a basic literal 342s 342s RuboCop::Cop::Style::Encoding 342s registers an offense and corrects the magic comment follows another magic comment 342s registers an offense and corrects if there are multiple encoding magic comments 342s does not register an offense when no encoding present 342s does not register an offense when encoding present but not UTF-8 342s does not register an offense when encoding is in the wrong place 342s does not register an offense when encoding is not at the top of the file 342s registers an offense when encoding present and UTF-8 342s does not register an offense on a different magic comment type 342s registers an offense when encoding present on 2nd line after shebang 342s vim comments 342s registers an offense and corrects 342s emacs comment 342s only removes encoding if there are other editor comments 342s registers an offense for encoding 342s 342s RuboCop::Cop::Lint::RedundantCopDisableDirective 342s .check 342s autocorrecting whitespace 342s when the comment is the first line of the file 342s followed by a newline 342s removes the comment and newline 342s followed by code 342s removes the comment 342s followed by another comment 342s removes the comment and newline 342s when there is only whitespace before the comment 342s leaves the whitespace 342s when the comment is not the first line of the file 342s preserves whitespace before the comment 342s when there is a blank line before inline comment 342s removes the comment and preceding whitespace 342s nested inside a namespace 342s preserves indentation 342s inline comment 342s removes the comment and preceding whitespace 342s when there are disabled lines 342s and there are no offenses 342s and a comment disables 342s when using a directive comment after a non-directive comment 342s returns an offense 342s comment is not at the beginning of the file 342s and not all cops have offenses 342s returns an offense 342s a cop that is disabled in the config 342s returns an offense 342s when that cop was previously enabled 342s returns no offense 342s if that cop has offenses 342s returns an offense 342s multiple cops, and one of them has offenses 342s returns an offense 342s itself and another cop 342s disabled on the same range 342s returns no offense 342s and the other cop is disabled a second time 342s returns no offense 342s disabled on different ranges 342s returns no offense 342s multiple cops, and the leftmost one has no offenses 342s returns an offense 342s misspelled cops 343s returns an offense 343s one cop 343s returns an offense 343s multiple cops, with abbreviated names 343s one of them has offenses 343s returns an offense 343s an unknown cop 343s returns an offense 343s multiple cops 343s returns an offense 343s all cops 343s returns an offense 343s itself and all cops 343s disabled on different ranges 343s returns no offense 343s and there is an offense 343s and a comment disables 343s that cop but on other lines 343s returns an offense 343s that cop 343s returns no offense 343s all cops 343s returns no 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 when there are no disabled lines 343s returns no offense 343s with a disabled department 343s does not remove correct department 343s removes cop duplicated by department and leaves free text as a comment 343s removes entire comment 343s removes redundant department 343s removes cop duplicated by department 343s removes cop duplicated by department on previous line 343s 343s RuboCop::Cop::InternalAffairs::NumblockHandler 343s registers an offense for cops with forgotten numblock handlers 343s does not register an offense for cops with on_numblock alias_method 343s does not register an offense for cops with on_numblock method 343s does not register an offense for cops with on_numblock alias 343s 343s RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier 343s EnforcedStyle is `around` 343s recognizes blank lines with DOS style line endings 343s accepts missing blank line when specifying a superclass that breaks the line 343s accepts only using access modifier 343s ignores private with a right-hand-side condition 343s ignores an accessor with the same name as private above a method definition 343s accepts missing blank line when specifying a superclass that breaks the line 343s accepts only using access modifier 343s accepts missing blank line when specifying `self` that breaks the line 343s requires blank line after public 343s ignores protected with block argument 343s ignores private inside a method call 343s requires blank line after, but not before, public when at the beginning of class/module 343s accepts missing blank line when at the beginning of module 343s autocorrects blank line after #{access_modifier} with comment 343s accepts only using access modifier 343s ignores protected inside a method call 343s accepts missing blank line when at the beginning of filewhen specifying a superclass that breaks the line 343s ignores module_function deep inside a method call 343s requires blank line when next line started with end 343s accepts missing blank line when at the end of specifying `self` 343s requires blank line before module_function 343s accepts missing blank line when at the beginning of class 343s ignores private with block argument 343s accepts missing blank line when at the end of specifying `self` 343s ignores private deep inside a method call 343s accepts missing blank line when at the end of block 343s autocorrects blank line after #{access_modifier} with comment 343s ignores module_function with block argument 343s accepts missing blank line when at the beginning of class 343s ignores module_function inside a method call 343s recognizes blank lines with DOS style line endings 343s requires blank line after, but not before, protected when at the beginning of class/module 343s accepts missing blank line when at the beginning of file and preceded by a comment 343s ignores comment line before public 343s requires blank line after, but not before, module_function when at the beginning of class/module 343s accepts missing blank line when at the end of block 343s ignores an accessor with the same name as protected above a method definition 343s requires blank line before private 343s ignores an accessor with the same name as public above a method definition 343s accepts missing blank line when at the beginning of file and preceded by a comment 343s requires blank line after module_function 343s accepts missing blank line when at the beginning of module 343s accepts missing blank line when at the end of specifying `self` 343s accepts missing blank line when at the beginning of sclass 343s ignores public with block argument 343s accepts only using access modifier 343s accepts missing blank line when at the beginning of file and preceded by a comment 343s accepts missing blank line when at the beginning of sclass 343s accepts missing blank line when at the beginning of filewhen specifying a superclass that breaks the line 343s accepts missing blank line when at the end of specifying a superclass 343s accepts missing blank line when at the end of specifying `self` 343s accepts missing blank line when at the end of specifying a superclass 343s accepts missing blank line when specifying a superclass that breaks the line 343s ignores an accessor with the same name as module_function above a method definition 343s accepts missing blank line when at the beginning of class 343s ignores public with a right-hand-side condition 343s requires blank line when next line started with end 343s requires blank line before public 343s accepts missing blank line when at the end of block 343s accepts missing blank line when at the beginning of module 343s ignores comment line before protected 343s requires blank line when next line started with end 343s ignores public inside a method call 343s autocorrects blank line after #{access_modifier} with comment 343s requires blank line when next line started with end 343s accepts missing blank line when specifying `self` that breaks the line 343s requires blank line after private 343s accepts missing blank line when at the end of block 343s ignores protected with a right-hand-side condition 343s accepts missing blank line when at the beginning of sclass 343s accepts missing blank line when specifying a superclass that breaks the line 343s accepts missing blank line when at the beginning of class 343s accepts missing blank line when at the end of specifying a superclass 343s ignores public deep inside a method call 343s accepts missing blank line when specifying `self` that breaks the line 343s requires blank line after, but not before, private when at the beginning of class/module 343s accepts missing blank line when at the beginning of filewhen specifying a superclass that breaks the line 343s requires blank line before protected 343s accepts missing blank line when at the beginning of filewhen specifying a superclass that breaks the line 343s autocorrects blank line after #{access_modifier} with comment 343s ignores protected deep inside a method call 343s accepts missing blank line when at the beginning of file and preceded by a comment 343s requires blank line after protected 343s accepts missing blank line when at the end of specifying a superclass 343s ignores module_function with a right-hand-side condition 343s recognizes blank lines with DOS style line endings 343s ignores comment line before private 343s ignores comment line before module_function 343s accepts missing blank line when specifying `self` that breaks the line 343s accepts missing blank line when at the beginning of module 343s accepts missing blank line when at the beginning of sclass 343s recognizes blank lines with DOS style line endings 343s at the beginning of block 343s for blocks defined with do 343s accepts missing blank line 343s accepts missing blank line with arguments 343s requires blank line after, but not before, private 343s for blocks defined with {} 343s accepts missing blank line 343s accepts missing blank line with arguments 343s at the beginning of block 343s for blocks defined with do 343s requires blank line after, but not before, public 343s accepts missing blank line 343s accepts missing blank line with arguments 343s for blocks defined with {} 343s accepts missing blank line with arguments 343s accepts missing blank line 343s at the beginning of block 343s for blocks defined with {} 343s accepts missing blank line with arguments 343s accepts missing blank line 343s for blocks defined with do 343s requires blank line after, but not before, module_function 343s accepts missing blank line 343s accepts missing blank line with arguments 343s at the beginning of block 343s for blocks defined with do 343s requires blank line after, but not before, protected 343s accepts missing blank line 343s accepts missing blank line with arguments 343s for blocks defined with {} 343s accepts missing blank line 343s accepts missing blank line with arguments 343s EnforcedStyle is `only_before` 343s does not register an offense when `end` immediately after private 343s accepts missing blank line after protected 343s accepts blank line after public 343s registers an offense for missing blank line before protected 343s accepts missing blank line after private 343s registers an offense for blank line after private 343s registers an offense for missing blank line before module_function 343s registers an offense for missing blank line before public 343s registers an offense for missing blank line before private 343s registers an offense for blank line after protected 343s does not register an offense when `end` immediately after protected 343s accepts blank line after module_function 343s Ruby 2.7 343s registers an offense for missing around line before public 343s ignores private with numblock argument 343s registers an offense for missing around line before module_function 343s registers an offense for missing around line before protected 343s ignores public with numblock argument 343s registers an offense for missing around line before private 343s ignores protected with numblock argument 343s ignores module_function with numblock argument 343s 343s RuboCop::Cop::Layout::FirstHashElementLineBreak 343s ignores implicit hashes in method calls without parens 343s ignores elements listed on a single line 343s ignores implicit hashes in method calls that are improperly formatted 343s registers an offense and corrects hash nested in a method call 343s registers an offense and corrects single element multi-line hash 343s ignores implicit hashes in method calls with parens 343s registers an offense and corrects elements listed on the first line 343s 343s RuboCop::Cop::Style::PercentQLiterals 343s when EnforcedStyle is upper_case_q 343s without interpolation 343s accepts double quotes 343s registers offense for %q 343s accepts single quotes 343s accepts %Q 343s with special characters 343s accepts %q 343s accepts %Q 343s with interpolation 343s accepts single quotes 343s accepts %q 343s accepts double quotes 343s accepts %Q 343s when EnforcedStyle is lower_case_q 343s without interpolation 343s registers offense for %Q 343s accepts %q 343s accepts single quotes 343s accepts double quotes 343s with special characters 343s accepts %q 343s accepts %Q 343s with interpolation 343s accepts double quotes 343s accepts %q 343s accepts single quotes 343s accepts %Q 343s 343s RuboCop::Cop::Lint::UnusedMethodArgument 343s inspection 343s when a splat argument is unused 343s registers an offense and preserves the splat 343s in a method calling `super` without arguments 343s when a method argument is not used explicitly 343s accepts since the arguments are guaranteed to be the same as superclass' ones and the user has no control on them 343s when a singleton method argument is unused 343s registers an offense 343s when a block argument is unused 343s does not care 343s when a method argument is used 343s accepts 343s when a trailing block argument is unused 343s registers an offense and removes the unused block arg 343s when an underscore-prefixed method argument is unused 343s accepts 343s in a method calling `binding` with arguments 343s when a method argument is unused 343s registers an offense 343s in a method calling `binding` without arguments 343s accepts all arguments 343s inside another method definition 344s registers offenses 344s when a method takes multiple arguments 344s and all the arguments are unused 344s registers offenses and suggests the use of `*` and autocorrects to add underscore-prefix to all arguments 344s and an argument is unused 344s registers an offense and adds underscore-prefix 344s and there is some whitespace around the unused argument 344s registers an offense and preserves whitespace 344s and arguments are swap-assigned 344s accepts 344s and one argument is assigned to another, whilst other's value is not used 344s registers an offense 344s when a variable is unused 344s does not care 344s in a method calling `super` with arguments 344s when a method argument is unused 344s registers an offense 344s when an argument with a default value is unused 344s registers an offense and preserves the default value 344s when a required keyword argument is unused 344s when a required keyword argument is unused 344s registers an offense but does not suggest underscore-prefix 344s when an optional keyword argument is unused 344s registers an offense but does not suggest underscore-prefix 344s and AllowUnusedKeywordArguments set 344s does not care 344s when IgnoreEmptyMethods config parameter is set 344s registers an offense for a non-empty method with a single unused parameter 344s accepts an empty method with multiple unused parameters 344s accepts an empty singleton method with a single unused parameter 344s accepts an empty method with a single unused parameter 344s registers an offense for a non-empty method with multiple unused parameters 344s when IgnoreNotImplementedMethods config parameter is set 344s accepts a method with a single unused parameter & fails with message 344s registers an offense for a non-empty method with multiple unused parameters 344s accepts a method with a single unused parameter & raises NotImplementedError, message 344s accepts a method with a single unused parameter & raises ::NotImplementedError 344s accepts a method with a single unused parameter & raises NotImplementedError 344s accepts a method with a single unused parameter & fails without message 344s accepts an empty singleton method with a single unused parameter &raise NotImplementedError 344s accepts an empty method with multiple unused parameters 344s registers an offense for a non-empty method with a single unused parameter 344s 344s RuboCop::Cop::Naming::RescuedExceptionsVariableName 344s with the `PreferredName` setup 344s registers an offense when using `e` 344s does not register an offense when using `_exception` 344s does not register an offense when using `exception` 344s registers offenses when using `foo` and `bar` in multiple rescues 344s registers an offense when using `_e` 344s with default config 344s with nested rescues 344s handles it 344s with variable being referenced 344s renames the variable references when autocorrecting 344s when the variable is reassigned using multiple assignment 344s only corrects uses of the exception 344s when the variable is reassigned 344s only corrects uses of the exception 344s only corrects the exception variable 344s with multiple branches 344s registers and corrects each offense 344s with explicit rescue 344s with method as `Exception` 344s registers an offense with unexpected variable name 344s does not register an offense without variable name 344s does not register an offense with expected variable name 344s without `Exception` variable 344s does not register an offense 344s with lower letters class name 344s does not register an offense 344s shadowing an external variable 344s does not register an offense 344s with `Exception` variable 344s does not register an offense when using `e` 344s registers an offense when using `_exc` 344s registers an offense when using `exc` and renames its usage 344s registers offenses when using `foo` and `bar` in multiple rescues 344s registers an offense when using `exc` 344s does not register an offense when using _e followed by e 344s does not register an offense when using `_e` 344s with splat operator as `Exception` list 344s does not register an offense without variable name 344s does not register an offense with expected variable name 344s registers an offense with unexpected variable name 344s with implicit rescue 344s without `Exception` variable 344s does not register an offense 344s with `Exception` variable 344s registers an offense when using `_exc` 344s does not register an offense when using `e` 344s registers an offense when using `exc` 344s does not register an offense when using `_e` 344s 344s RuboCop::PathUtil 344s #absolute? 344s returns a truthy value for a path beginning with slash 344s returns a falsey value for a path beginning with a directory name 344s #match_path? 344s does not match invalid UTF-8 paths 344s matches dir/** for hidden file 344s matches regexps 344s does not match dir/** for file in hidden dir 344s does not match file in a subdirectory 344s matches strings to the full path 344s matches glob expressions 344s #relative_path 344s supports custom base paths 344s builds paths relative to PWD by default as a stop-gap 344s 344s RuboCop::Cop::Lint::LiteralInInterpolation 344s does not register an offense when space literal at the end of heredoc line 344s handles double quotes in single quotes when autocorrecting 344s handles nested interpolations when autocorrecting 344s accepts interpolation of erange where endpoints are not literals 344s accepts interpolation of irange where endpoints are not literals 344s handles backslash in single quotes when autocorrecting 344s accepts empty interpolation 344s accepts interpolation of xstr 344s handles backslash in double quotes when autocorrecting 344s behaves like literal interpolation 344s registers an offense only for final 1...2 in interpolation 344s registers an offense for 1...2 in interpolation and removes interpolation around it 344s removes interpolation around multiple 1...2 344s removes interpolation around 1...2 when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like special keywords 344s accepts strings like __END__ 344s registers an offense and autocorrects interpolation after __END__ 344s behaves like literal interpolation 344s removes interpolation around multiple %i[s1 s2] 344s registers an offense for %i[s1 s2] in interpolation and removes interpolation around it 344s removes interpolation around %i[s1 s2] when there is more text 344s registers an offense only for final %i[s1 s2] in interpolation 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense for true in interpolation and removes interpolation around it 344s registers an offense only for final true in interpolation 344s removes interpolation around multiple true 344s removes interpolation around true when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense for 1_123 in interpolation and removes interpolation around it 344s removes interpolation around multiple 1_123 344s registers an offense only for final 1_123 in interpolation 344s removes interpolation around 1_123 when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s removes interpolation around 123_456_789_123_456_789 when there is more text 344s registers an offense only for final 123_456_789_123_456_789 in interpolation 344s removes interpolation around multiple 123_456_789_123_456_789 344s registers an offense for 123_456_789_123_456_789 in interpolation and removes interpolation around it 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s removes interpolation around multiple 1 344s registers an offense only for final 1 in interpolation 344s registers an offense for 1 in interpolation and removes interpolation around it 344s removes interpolation around 1 when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense for false in interpolation and removes interpolation around it 344s removes interpolation around multiple false 344s removes interpolation around false when there is more text 344s registers an offense only for final false in interpolation 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense only for final -1 in interpolation 344s removes interpolation around multiple -1 344s registers an offense for -1 in interpolation and removes interpolation around it 344s removes interpolation around -1 when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s removes interpolation around multiple %w[] 344s removes interpolation around %w[] when there is more text 344s registers an offense for %w[] in interpolation and removes interpolation around it 344s registers an offense only for final %w[] in interpolation 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s removes interpolation around %i[s1 s2] when there is more text 344s removes interpolation around multiple %i[s1 s2] 344s registers an offense only for final %i[s1 s2] in interpolation 344s registers an offense for %i[s1 s2] in interpolation and removes interpolation around it 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense only for final {"a" => "b"} in interpolation 344s removes interpolation around multiple {"a" => "b"} 344s removes interpolation around {"a" => "b"} when there is more text 344s registers an offense for {"a" => "b"} in interpolation and removes interpolation around it 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense for %i[ s1 s2 ] in interpolation and removes interpolation around it 344s registers an offense only for final %i[ s1 s2 ] in interpolation 344s removes interpolation around multiple %i[ s1 s2 ] 344s removes interpolation around %i[ s1 s2 ] when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense for %w[v1] in interpolation and removes interpolation around it 344s removes interpolation around multiple %w[v1] 344s registers an offense only for final %w[v1] in interpolation 344s removes interpolation around %w[v1] when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense only for final ["a", "b"] in interpolation 344s removes interpolation around multiple ["a", "b"] 344s registers an offense for ["a", "b"] in interpolation and removes interpolation around it 344s removes interpolation around ["a", "b"] when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation in words literal 344s removes interpolation of a symbol literal without space in %I[] 344s removes interpolation of an array containing a symbol literal without space in %I[] 344s accepts interpolation of a symbol literal with space in %I[] 344s accepts interpolation of an array literal containing a symbol with space in %I[] 344s removes interpolation of an array containing a string literal without space in %I[] 344s accepts interpolation of an array literal containing a string with space in %I[] 344s accepts interpolation of a string literal with space in %I[] 344s removes interpolation of a string literal without space in %I[] 344s behaves like literal interpolation 344s registers an offense only for final 2.0 in interpolation 344s removes interpolation around 2.0 when there is more text 344s removes interpolation around multiple 2.0 344s registers an offense for 2.0 in interpolation and removes interpolation around it 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s removes interpolation around nil when there is more text 344s registers an offense only for final nil in interpolation 344s removes interpolation around multiple nil 344s registers an offense for nil in interpolation and removes interpolation around it 344s when there is non-literal and literal interpolation 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense only for final [] in interpolation 344s removes interpolation around [] when there is more text 344s removes interpolation around multiple [] 344s registers an offense for [] in interpolation and removes interpolation around it 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s removes interpolation around %w[v1 v2] when there is more text 344s registers an offense for %w[v1 v2] in interpolation and removes interpolation around it 344s registers an offense only for final %w[v1 v2] in interpolation 344s removes interpolation around multiple %w[v1 v2] 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense for 1..2 in interpolation and removes interpolation around it 344s removes interpolation around multiple 1..2 344s registers an offense only for final 1..2 in interpolation 344s removes interpolation around 1..2 when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s removes interpolation around multiple :"symbol" 344s registers an offense for :"symbol" in interpolation and removes interpolation around it 344s registers an offense only for final :"symbol" in interpolation 344s removes interpolation around :"symbol" when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like literal interpolation 344s registers an offense only for final :symbol in interpolation 344s removes interpolation around multiple :symbol 344s registers an offense for :symbol in interpolation and removes interpolation around it 344s removes interpolation around :symbol when there is more text 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like special keywords 344s accepts strings like __ENCODING__ 344s registers an offense and autocorrects interpolation after __ENCODING__ 344s behaves like literal interpolation 344s registers an offense only for final %I[s1 s2] in interpolation 344s removes interpolation around %I[s1 s2] when there is more text 344s removes interpolation around multiple %I[s1 s2] 344s registers an offense for %I[s1 s2] in interpolation and removes interpolation around it 344s when there is non-literal and literal interpolation 344s when literal interpolation is after non-literal 344s only removes interpolation around literal 344s when literal interpolation is before non-literal 344s only removes interpolation around literal 344s behaves like special keywords 344s accepts strings like __LINE__ 344s registers an offense and autocorrects interpolation after __LINE__ 344s behaves like special keywords 344s accepts strings like __FILE__ 345s registers an offense and autocorrects interpolation after __FILE__ 345s behaves like literal interpolation 345s removes interpolation around multiple 1.2e-3 345s registers an offense for 1.2e-3 in interpolation and removes interpolation around it 345s removes interpolation around 1.2e-3 when there is more text 345s registers an offense only for final 1.2e-3 in interpolation 345s when there is non-literal and literal interpolation 345s when literal interpolation is after non-literal 345s only removes interpolation around literal 345s when literal interpolation is before non-literal 345s only removes interpolation around literal 345s in string-like contexts 345s removes interpolation in symbols 345s removes interpolation in backticks 345s removes interpolation in regular expressions 345s behaves like literal interpolation 345s registers an offense for 0o377 in interpolation and removes interpolation around it 345s removes interpolation around multiple 0o377 345s removes interpolation around 0o377 when there is more text 345s registers an offense only for final 0o377 in interpolation 345s when there is non-literal and literal interpolation 345s when literal interpolation is after non-literal 345s only removes interpolation around literal 345s when literal interpolation is before non-literal 345s only removes interpolation around literal 345s behaves like literal interpolation 345s registers an offense only for final 0xaabb in interpolation 345s registers an offense for 0xaabb in interpolation and removes interpolation around it 345s removes interpolation around 0xaabb when there is more text 345s removes interpolation around multiple 0xaabb 345s when there is non-literal and literal interpolation 345s when literal interpolation is before non-literal 345s only removes interpolation around literal 345s when literal interpolation is after non-literal 345s only removes interpolation around literal 345s behaves like non-special string literal interpolation 345s registers an offense for 'foo' and removes the interpolation and quotes around 'foo' 345s behaves like literal interpolation in words literal 345s accepts interpolation of an array literal containing a string with space in %W[] 345s accepts interpolation of a symbol literal with space in %W[] 345s accepts interpolation of an array literal containing a symbol with space in %W[] 345s accepts interpolation of a string literal with space in %W[] 345s removes interpolation of a symbol literal without space in %W[] 345s removes interpolation of a string literal without space in %W[] 345s removes interpolation of an array containing a symbol literal without space in %W[] 345s removes interpolation of an array containing a string literal without space in %W[] 345s behaves like non-special string literal interpolation 345s registers an offense for "foo" and removes the interpolation and quotes around "foo" 345s 345s RuboCop::Cop::Layout::EmptyLines 345s does not register an offense for heredocs with empty lines inside 345s does not register an offense for empty lines in a string 345s registers an offense for consecutive empty lines 345s does not register an offense when there are no tokens 345s does not register an offense for comments 345s 345s RuboCop::Cop::Lint::HeredocMethodCallPosition 345s correct cases 345s accepts simple correct case 345s ignores if no call 345s accepts chained correct case 345s incorrect cases 345s chained case with multiple line args 345s detects 345s simple incorrect case 345s detects 345s chained case no parens 345s detects 345s chained case without args 345s detects 345s simple incorrect case with paren 345s detects 345s with trailing comma in method call 345s detects 345s chained case with parens 345s detects 345s 345s RuboCop::Cop::Style::RedundantCapitalW 345s registers no offense for arrays with character constants 345s does not register an offense for array of non-words 345s registers no offense for normal arrays of strings 345s does not register an offense for array with empty strings 345s registers no offense for %W with special characters 345s registers no offense for %w without interpolation 345s registers no offense for %W with interpolation 345s registers an offense for misused %W with different bracket 345s registers no offense for %w with interpolation-like syntax 345s does not register an offense for array with one element 345s does not register an offense for array containing non-string 345s registers no offense for normal arrays of strings with interpolation 345s registers an offense for misused %W 345s 345s RuboCop::Cop::Style::GuardClause 345s registers an error if non-control-flow branch has multiple lines 345s does not report an offense if next is inside elsif 345s does not report an offense if return is inside elsif 345s accepts a method with empty parentheses as its body 345s does not report an offense if return is inside if..elsif..else..end 345s accepts a method which body does not end with if / unless 345s doesn't report an offense if condition has multiple lines 345s registers an error with return in the else branch 345s does not register an offense when assigning the result of a guard condition with `else` 345s doesn't register an error if control flow expr has multiple lines 345s registers an error with return in the if branch 346s registers an error with raise "error" in the if branch 346s does not report an offense if break is inside elsif 346s does not report an offense if break is inside if..elsif..else..end 346s accepts a method which body is if / unless with else 346s doesn't register an error if condition has multiple lines 346s doesn't register an error if condition has multiple lines 346s does not report an offense if next is inside if..elsif..else..end 346s registers an error if non-control-flow branch has multiple lines 346s doesn't register an error if condition has multiple lines 346s registers an error with next in the else branch 346s doesn't register an error if control flow expr has multiple lines 346s accepts a method whose body is a modifier if / unless 346s registers an error with next in the if branch 346s registers an offense when using `and return` in `else` branch 346s registers an error with raise "error" in the else branch 346s registers an error if non-control-flow branch has multiple lines 346s does not report an offense if raise "error" is inside if..elsif..else..end 346s registers an error with break in the else branch 346s does not report an offense if raise "error" is inside elsif 346s registers an error with break in the if branch 346s doesn't register an error if control flow expr has multiple lines 346s doesn't register an error if control flow expr has multiple lines 346s registers an error if non-control-flow branch has multiple lines 346s registers an offense when using `|| raise` in `else` branch 346s does not report an offense if body is if..elsif..end 346s registers an offense when using `|| raise` in `then` branch 346s doesn't register an error if condition has multiple lines 346s registers an offense when using `and return` in `then` branch 346s MinBodyLength: 1 346s reports an offense for if whose body has 1 line 346s behaves like reports offense 346s reports an offense if method body ends with if / unless without else 346s reports an offense if method body is if / unless without else 346s MinBodyLength: 4 346s accepts a method whose body has 3 lines 346s behaves like reports offense 346s reports an offense if method body is if / unless without else 346s reports an offense if method body ends with if / unless without else 346s method in module 346s registers an offense for singleton methods 346s registers an offense for instance method 346s Invalid MinBodyLength 346s fails with an error 346s with Metrics/MaxLineLength enabled 346s when the correction is too long for a single line 346s with a nested `begin` node 346s does registers an offense 346s with a trivial body 346s does not register an offense 346s with a nested `if` node 346s does registers an offense 346s AllowConsecutiveConditionals: true 346s reports an offense when allowed same depth multiple if statement andpreceding expression is not a conditional at the same depth 346s does not register an offense when allowed same depth multiple if statement andpreceding expression is not a conditional at the same depth 346s AllowConsecutiveConditionals: false 346s reports an offense when not allowed same depth multiple if statement andpreceding expression is a conditional at the same depth 346s with Metrics/MaxLineLength disabled 346s registers an offense with modifier example code regardless of length 346s 346s RuboCop::Cop::Lint::RedundantSplatExpansion 346s allows assigning to a splat variable 346s allows expansions of an array that is assigned to a variable in rescue 346s allows assigning to an expanded range 346s allows assigning to a splat 346s accepts expanding a variable as a method parameter 346s allows splat expansion inside of an array 346s allows expanding a method call on an array literal 346s allows assigning a variable to a splat expansion of a variable 346s registers an offense and corrects an array literal being expanded in a rescue 346s allows an array using a constructor 346s expanding Array.new call on method argument 346s registers an offense and corrects 346s when `AllowPercentLiteralArrayArgument: true` 346s does not register an offense when using percent symbol literal array 346s does not register an offense when using percent string literal array 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 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 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 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 expanding an array literal in a when condition 346s allows an array using a constructor 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 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 %w 346s registers an offense and corrects an array using [] 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 more than one element 346s accepts 346s when the array literal contains exactly one element 346s registers an offense and corrects 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 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 when `AllowPercentLiteralArrayArgument: false` 346s registers an offense when using percent symbol literal array 346s registers an offense when using percent 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 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 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 assignment to splat expansion 346s registers and corrects an array using top-level const 346s registers an offense and corrects an array using a constructor 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 346s RuboCop::Cop::Lint::IdentityComparison 346s registers an offense and corrects when using `==` for comparison between `object_id`s 346s does not register an offense when using `==` for comparison between `object_id` and other 346s does not register an offense when using `==` 346s does not register an offense when lhs is `object_id` without receiver 346s does not register an offense when rhs is `object_id` without receiver 346s does not register an offense when a receiver that is not `object_id` uses `==` 346s 346s RuboCop::Cop::Bundler::GemFilename 346s with EnforcedStyle set to `gems.rb` 346s with gems.rb file path 346s does not register an offense 346s with Gemfile.lock file path 346s registers an offense 346s with non-root Gemfile.lock file path 346s registers an offense 346s with non-root Gemfile file path 346s registers an offense 346s with non-root gems.locked file path 346s does not register an offense 346s with non-root gems.rb file path 346s does not register an offense 346s with Gemfile file path 346s registers an offense 346s with default configuration (EnforcedStyle => `Gemfile`) 346s with Gemfile file path 346s does not register an offense 346s with gems.rb file path 346s registers an offense 346s with non-root gems.rb file path 346s registers an offense 346s with Gemfile.lock file path 346s does not register an offense 346s with non-root Gemfile.lock file path 346s does not register an offense 346s with non-root gems.locked file path 346s registers an offense 346s with non-root Gemfile file path 346s does not register an offense 346s with gems.locked file path 346s registers an offense 346s 346s RuboCop::Cop::Naming::InclusiveLanguage 346s comments 346s registers an offense in a block comment 346s registers an offense in a single line comment 346s when CheckComments is false 346s does not register an offense 346s flagged term matching 346s registers an offense when using a flagged term 346s registers an offense for a partial word match 346s registers an offense when using a flagged term with mixed case 346s disable default flagged term 346s ignores flagged terms that are set to nil 346s WholeWord: true 346s only flags when the term is a whole word 346s regex 346s registers an offense for a flagged term matched with a regexp 346s multiple offenses on a line 346s registers an offense for each word 346s variables 346s when CheckVariables config is true 346s registers offenses for instance variables 346s registers offenses for global variables 346s registers offenses for class variables 346s when CheckVariables config is false 346s does not register offenses for variables 346s filepath 346s offense in directory name 346s registers an offense for a director 346s one offense in filename 346s registers an offense 346s CheckFilepaths is false 346s does not register an offense 346s multiple offenses in filename 346s registers an offense with all problematic words 346s strings 346s registers an offense in a heredoc 346s registers an offense for an interpolated string 346s does not register offenses and not raise `ArgumentError` for invalid byte sequence in UTF-8 346s registers an offense for a multiline string 346s when CheckStrings config is false 346s does not register offenses for strings 346s symbols 346s when CheckSymbols is false 346s does not register an offense 346s when CheckSymbols is true 346s registers an offense 346s suggestions 346s flagged term with three or more suggestions 346s includes all suggestions in the message 346s flagged term with one suggestion 346s includes the suggestion in the offense message 346s flagged term with two suggestions 346s includes both suggestions in the offense message 346s identifiers 346s when CheckIdentifiers config is false 346s does not register offenses for identifiers 346s when CheckIdentifiers config is true 346s registers an offense 346s constants 346s when CheckConstants config is true 346s registers offenses for constants 346s when CheckConstants config is false 346s does not register offenses for constants 346s allowed use 346s does not register an offense for an allowed use 346s offense after an allowed use 346s registers an offense at the correct location 346s 346s RuboCop::Cop::Lint::RescueException 346s registers an offense for rescue with ::Exception 346s registers an offense for rescue from Exception 346s does not crash when the splat operator is used in a rescue 346s does not register an offense for rescue with no class and => e 346s does not register an offense for rescue with other classes 346s does not register an offense for rescue with a module prefix 346s does not register an offense for rescue with no class 346s registers an offense for rescue with Exception => e 346s registers an offense for rescue with StandardError, Exception 346s does not register an offense for rescue with other class 346s does not crash when the namespace of a rescued class is in a local variable 346s 346s RuboCop::Cop::Style::MutableConstant 346s Strict: false 346s allows method call assignments 346s behaves like immutable objects 346s allows :sym to be assigned to a constant 346s allows :sym to be ||= to a constant 346s behaves like immutable objects 346s allows ENV['foo'] to be ||= to a constant 346s allows ENV['foo'] to be assigned to a constant 346s Ruby 2.7 or lower 346s when assigning a range (erange) without parenthesis 346s adds parentheses when autocorrecting 346s does not insert parenthesis to range enclosed in parentheses 346s when assigning a range (irange) without parenthesis 346s does not insert parenthesis to range enclosed in parentheses 346s adds parentheses when autocorrecting 346s when using shareable_constant_values 346s behaves like literals that are not frozen 346s behaves like immutable objects 346s allows FOO - BAR to be assigned to a constant 346s allows FOO - BAR to be ||= to a constant 346s behaves like immutable objects 346s allows ENV['foo'] to be assigned to a constant 346s allows ENV['foo'] to be ||= to a constant 346s behaves like immutable objects 346s allows 1.5 to be ||= to a constant 346s allows 1.5 to be assigned to a constant 346s behaves like immutable objects 346s allows 'foo' + 'bar' to be ||= to a constant 346s allows 'foo' + 'bar' to be assigned to a constant 346s behaves like immutable objects 346s allows ::ENV['foo'] to be ||= to a constant 346s allows ::ENV['foo'] to be assigned to a constant 346s behaves like mutable objects 346s when assigning with = 346s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 346s when assigning with ||= 346s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 346s behaves like mutable objects 346s when assigning with = 346s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 346s when assigning with ||= 346s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 346s behaves like immutable objects 346s allows FOO + BAR to be ||= to a constant 346s allows FOO + BAR to be assigned to a constant 346s behaves like mutable objects 346s when assigning with ||= 346s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 346s when assigning with = 346s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 346s behaves like immutable objects 346s allows 1 to be ||= to a constant 346s allows 1 to be assigned to a constant 346s behaves like immutable objects 346s allows :sym to be assigned to a constant 346s allows :sym to be ||= to a constant 346s behaves like mutable objects 346s when assigning with ||= 346s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 346s when assigning with = 346s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 346s behaves like mutable objects 346s when assigning with ||= 346s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 346s when assigning with = 346s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 346s behaves like literals that are not frozen 346s behaves like immutable objects 346s allows FOO - BAR to be assigned to a constant 346s allows FOO - BAR to be ||= to a constant 346s behaves like mutable objects 346s when assigning with ||= 346s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 346s when assigning with = 346s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 346s behaves like mutable objects 346s when assigning with ||= 346s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 346s when assigning with = 346s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 346s behaves like immutable objects 346s allows ::ENV['foo'] to be ||= to a constant 346s allows ::ENV['foo'] to be assigned to a constant 346s behaves like immutable objects 346s allows 1 to be ||= to a constant 346s allows 1 to be assigned to a constant 346s behaves like mutable objects 346s when assigning with ||= 346s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 346s when assigning with = 346s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 346s behaves like immutable objects 346s allows FOO + BAR to be assigned to a constant 346s allows FOO + BAR to be ||= to a constant 346s behaves like mutable objects 346s when assigning with = 346s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 346s when assigning with ||= 346s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 346s behaves like immutable objects 346s allows :sym to be ||= to a constant 346s allows :sym to be assigned to a constant 346s behaves like immutable objects 346s allows 1.5 to be ||= to a constant 346s allows 1.5 to be assigned to a constant 346s behaves like mutable objects 346s when assigning with = 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows ENV['foo'] to be assigned to a constant 347s allows ENV['foo'] to be ||= to a constant 347s behaves like immutable objects 347s allows 'foo' + 'bar' to be assigned to a constant 347s allows 'foo' + 'bar' to be ||= to a constant 347s behaves like literals that are not frozen 347s behaves like immutable objects 347s allows ::ENV['foo'] to be assigned to a constant 347s allows ::ENV['foo'] to be ||= to a constant 347s behaves like immutable objects 347s allows :sym to be assigned to a constant 347s allows :sym to be ||= to a constant 347s behaves like immutable objects 347s allows FOO + BAR to be assigned to a constant 347s allows FOO + BAR to be ||= to a constant 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows FOO - BAR to be ||= to a constant 347s allows FOO - BAR to be assigned to a constant 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows 'foo' + 'bar' to be assigned to a constant 347s allows 'foo' + 'bar' to be ||= to a constant 347s behaves like immutable objects 347s allows ENV['foo'] to be assigned to a constant 347s allows ENV['foo'] to be ||= to a constant 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows 1.5 to be assigned to a constant 347s allows 1.5 to be ||= to a constant 347s behaves like immutable objects 347s allows 1 to be ||= to a constant 347s allows 1 to be assigned to a constant 347s behaves like literals that are not frozen 347s behaves like immutable objects 347s allows FOO + BAR to be assigned to a constant 347s allows FOO + BAR to be ||= to a constant 347s behaves like immutable objects 347s allows ::ENV['foo'] to be assigned to a constant 347s allows ::ENV['foo'] to be ||= to a constant 347s behaves like immutable objects 347s allows 1 to be ||= to a constant 347s allows 1 to be assigned to a constant 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows :sym to be ||= to a constant 347s allows :sym to be assigned to a constant 347s behaves like immutable objects 347s allows ENV['foo'] to be ||= to a constant 347s allows ENV['foo'] to be assigned to a constant 347s behaves like immutable objects 347s allows 1.5 to be assigned to a constant 347s allows 1.5 to be ||= to a constant 347s behaves like immutable objects 347s allows 'foo' + 'bar' to be assigned to a constant 347s allows 'foo' + 'bar' to be ||= to a constant 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows FOO - BAR to be assigned to a constant 347s allows FOO - BAR to be ||= to a constant 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s when assigning a regexp 347s registers an offense 347s behaves like immutable objects 347s allows 1.5 to be ||= to a constant 347s allows 1.5 to be assigned to a constant 347s behaves like immutable objects 347s allows 1 to be assigned to a constant 347s allows 1 to be ||= to a constant 347s behaves like string literal 347s Ruby 2.7 or lower 347s when the frozen string literal comment is false 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s when the frozen string literal comment is true 347s does not register an offense when using interpolated heredoc constant 347s does not register an offense when using a multiline string 347s behaves like immutable objects 347s allows "#{a}" to be assigned to a constant 347s allows "#{a}" to be ||= to a constant 347s behaves like immutable objects 347s allows <<~HERE 347s foo 347s bar 347s HERE 347s to be ||= to a constant 347s allows <<~HERE 347s foo 347s bar 347s HERE 347s to be assigned to a constant 347s when the frozen string literal comment is missing 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s Ruby 3.0 or higher 347s when the frozen string literal comment is missing 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s when the frozen string literal comment is false 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s when the frozen string literal comment is true 347s does not register an offense when using a multiline string 347s registers an offense when using a multiline string with interpolation 347s registers an offense when using interpolated heredoc constant 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows <<~HERE 347s foo 347s bar 347s HERE 347s to be ||= to a constant 347s allows <<~HERE 347s foo 347s bar 347s HERE 347s to be assigned to a constant 347s Ruby 3.0 or higher 347s raises offense when shareable_constant_value is specified as an inline comment 347s raises offense only for shareable_constant_value as none when set in the order of: literal, none and experimental_everything 347s when assigning a range (irange) 347s does not register an offense when without parenthesis 347s does not register an offense when with parenthesis 347s when using shareable_constant_value 347s behaves like literals that are not frozen 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows FOO + BAR to be ||= to a constant 347s allows FOO + BAR to be assigned to a constant 347s behaves like immutable objects 347s allows ::ENV['foo'] to be ||= to a constant 347s allows ::ENV['foo'] to be assigned to a constant 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows FOO - BAR to be ||= to a constant 347s allows FOO - BAR to be assigned to a constant 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows 1 to be assigned to a constant 347s allows 1 to be ||= to a constant 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows 'foo' + 'bar' to be ||= to a constant 347s allows 'foo' + 'bar' to be assigned to a constant 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows ENV['foo'] to be assigned to a constant 347s allows ENV['foo'] to be ||= to a constant 347s behaves like immutable objects 347s allows 1.5 to be ||= to a constant 347s allows 1.5 to be assigned to a constant 347s behaves like immutable objects 347s allows :sym to be assigned to a constant 347s allows :sym to be ||= to a constant 347s behaves like literals that are frozen 347s behaves like immutable objects 347s allows ::ENV['foo'] to be ||= to a constant 347s allows ::ENV['foo'] to be assigned to a constant 347s behaves like immutable objects 347s allows { a: 1, b: 2 } to be assigned to a constant 347s allows { a: 1, b: 2 } to be ||= to a constant 347s behaves like immutable objects 347s allows %w(a b c) to be assigned to a constant 347s allows %w(a b c) to be ||= to a constant 347s behaves like immutable objects 347s allows ENV['foo'] to be ||= to a constant 347s allows ENV['foo'] to be assigned to a constant 347s behaves like immutable objects 347s allows :sym to be assigned to a constant 347s allows :sym to be ||= to a constant 347s behaves like immutable objects 347s allows 'str' to be ||= to a constant 347s allows 'str' to be assigned to a constant 347s behaves like immutable objects 347s allows FOO + BAR to be ||= to a constant 347s allows FOO + BAR to be assigned to a constant 347s behaves like immutable objects 347s allows "top#{1 + 2}" to be ||= to a constant 347s allows "top#{1 + 2}" to be assigned to a constant 347s behaves like immutable objects 347s allows 1.5 to be assigned to a constant 347s allows 1.5 to be ||= to a constant 347s behaves like immutable objects 347s allows 'foo' + 'bar' to be ||= to a constant 347s allows 'foo' + 'bar' to be assigned to a constant 347s behaves like immutable objects 347s allows FOO - BAR to be assigned to a constant 347s allows FOO - BAR to be ||= to a constant 347s behaves like immutable objects 347s allows 1 to be assigned to a constant 347s allows 1 to be ||= to a constant 347s behaves like immutable objects 347s allows [1, 2, 3] to be ||= to a constant 347s allows [1, 2, 3] to be assigned to a constant 347s behaves like literals that are frozen 347s behaves like immutable objects 347s allows { a: 1, b: 2 } to be ||= to a constant 347s allows { a: 1, b: 2 } to be assigned to a constant 347s behaves like immutable objects 347s allows 1 to be ||= to a constant 347s allows 1 to be assigned to a constant 347s behaves like immutable objects 347s allows "top#{1 + 2}" to be ||= to a constant 347s allows "top#{1 + 2}" to be assigned to a constant 347s behaves like immutable objects 347s allows 'foo' + 'bar' to be assigned to a constant 347s allows 'foo' + 'bar' to be ||= to a constant 347s behaves like immutable objects 347s allows ENV['foo'] to be ||= to a constant 347s allows ENV['foo'] to be assigned to a constant 347s behaves like immutable objects 347s allows FOO - BAR to be assigned to a constant 347s allows FOO - BAR to be ||= to a constant 347s behaves like immutable objects 347s allows :sym to be assigned to a constant 347s allows :sym to be ||= to a constant 347s behaves like immutable objects 347s allows ::ENV['foo'] to be ||= to a constant 347s allows ::ENV['foo'] to be assigned to a constant 347s behaves like immutable objects 347s allows FOO + BAR to be assigned to a constant 347s allows FOO + BAR to be ||= to a constant 347s behaves like immutable objects 347s allows [1, 2, 3] to be assigned to a constant 347s allows [1, 2, 3] to be ||= to a constant 347s behaves like immutable objects 347s allows 1.5 to be ||= to a constant 347s allows 1.5 to be assigned to a constant 347s behaves like immutable objects 347s allows %w(a b c) to be assigned to a constant 347s allows %w(a b c) to be ||= to a constant 347s behaves like immutable objects 347s allows 'str' to be assigned to a constant 347s allows 'str' to be ||= to a constant 347s behaves like literals that are frozen 347s behaves like immutable objects 347s allows FOO + BAR to be ||= to a constant 347s allows FOO + BAR to be assigned to a constant 347s behaves like immutable objects 347s allows %w(a b c) to be ||= to a constant 347s allows %w(a b c) to be assigned to a constant 347s behaves like immutable objects 347s allows { a: 1, b: 2 } to be ||= to a constant 347s allows { a: 1, b: 2 } to be assigned to a constant 347s behaves like immutable objects 347s allows 'foo' + 'bar' to be ||= to a constant 347s allows 'foo' + 'bar' to be assigned to a constant 347s behaves like immutable objects 347s allows "top#{1 + 2}" to be ||= to a constant 347s allows "top#{1 + 2}" to be assigned to a constant 347s behaves like immutable objects 347s allows 1.5 to be assigned to a constant 347s allows 1.5 to be ||= to a constant 347s behaves like immutable objects 347s allows 'str' to be ||= to a constant 347s allows 'str' to be assigned to a constant 347s behaves like immutable objects 347s allows [1, 2, 3] to be ||= to a constant 347s allows [1, 2, 3] to be assigned to a constant 347s behaves like immutable objects 347s allows 1 to be ||= to a constant 347s allows 1 to be assigned to a constant 347s behaves like immutable objects 347s allows ENV['foo'] to be assigned to a constant 347s allows ENV['foo'] to be ||= to a constant 347s behaves like immutable objects 347s allows FOO - BAR to be assigned to a constant 347s allows FOO - BAR to be ||= to a constant 347s behaves like immutable objects 347s allows ::ENV['foo'] to be ||= to a constant 347s allows ::ENV['foo'] to be assigned to a constant 347s behaves like immutable objects 347s allows :sym to be assigned to a constant 347s allows :sym to be ||= to a constant 347s when assigning a range (erange) 347s does not register an offense when without parenthesis 347s does not register an offense when with parenthesis 347s when assigning a regexp 347s does not register an offense 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows FOO - BAR to be assigned to a constant 347s allows FOO - BAR to be ||= to a constant 347s splat expansion 347s expansion of a range 347s registers an offense and corrects to use to_a.freeze 347s with parentheses 347s registers an offense and corrects to use to_a.freeze 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s when assigning an array without brackets 347s adds brackets when autocorrecting 347s does not insert brackets for %w() arrays 347s behaves like immutable objects 347s allows FOO + BAR to be assigned to a constant 347s allows FOO + BAR to be ||= to a constant 347s behaves like mutable objects 347s when assigning with ||= 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s when assigning with = 347s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows ::ENV['foo'] to be assigned to a constant 347s allows ::ENV['foo'] to be ||= to a constant 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows 'foo' + 'bar' to be ||= to a constant 347s allows 'foo' + 'bar' to be assigned to a constant 347s Strict: true 347s freezes a heredoc 347s allows calls to freeze 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for Something.new assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for Something.new assigned to a constant and corrects by adding .freeze 347s behaves like immutable objects 347s allows Struct.new(:node) do 347s def assignment? 347s true 347s end 347s end 347s to be ||= to a constant 347s allows Struct.new(:node) do 347s def assignment? 347s true 347s end 347s end 347s to be assigned to a constant 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for 'str' assigned to a constant and corrects by adding .freeze 347s behaves like mutable objects 347s when assigning with = 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s when assigning with ||= 347s registers an offense for "top#{1 + 2}" assigned to a constant and corrects by adding .freeze 347s when assigning with an operator 347s behaves like operator methods 347s registers an offense and corrects with parens and freeze 347s behaves like operator methods 348s registers an offense and corrects with parens and freeze 348s behaves like operator methods 348s registers an offense and corrects with parens and freeze 348s behaves like operator methods 348s registers an offense and corrects with parens and freeze 348s behaves like operator methods 348s registers an offense and corrects with parens and freeze 348s behaves like operator methods 348s registers an offense and corrects with parens and freeze 348s when assigning an array without brackets 348s adds brackets when autocorrecting 348s does not insert brackets for %w() arrays 348s behaves like immutable objects 348s allows ::Namespace::OTHER_CONST to be assigned to a constant 348s allows ::Namespace::OTHER_CONST to be ||= to a constant 348s behaves like immutable objects 348s allows 1.5 to be ||= to a constant 348s allows 1.5 to be assigned to a constant 348s behaves like immutable objects 348s allows :sym to be assigned to a constant 348s allows :sym to be ||= to a constant 348s behaves like immutable objects 348s allows 1 to be assigned to a constant 348s allows 1 to be ||= to a constant 348s when assigning with multiple operator calls 348s registers an offense and corrects with parens and freeze 348s behaves like mutable objects 348s when assigning with ||= 348s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 348s when assigning with = 348s registers an offense for %w(a b c) assigned to a constant and corrects by adding .freeze 348s behaves like immutable objects 348s allows ::Struct.new to be assigned to a constant 348s allows ::Struct.new to be ||= to a constant 348s behaves like immutable objects 348s allows ::ENV['foo'] to be ||= to a constant 348s allows ::ENV['foo'] to be assigned to a constant 348s behaves like mutable objects 348s when assigning with = 348s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 348s when assigning with ||= 348s registers an offense for [1, 2, 3] assigned to a constant and corrects by adding .freeze 348s behaves like immutable objects 348s allows OTHER_CONST to be ||= to a constant 348s allows OTHER_CONST to be assigned to a constant 348s behaves like mutable objects 348s when assigning with ||= 348s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 348s when assigning with = 348s registers an offense for { a: 1, b: 2 } assigned to a constant and corrects by adding .freeze 348s behaves like immutable objects 348s allows Struct.new(:a, :b) to be assigned to a constant 348s allows Struct.new(:a, :b) to be ||= to a constant 348s methods and operators that produce frozen objects 348s accepts operating on multiple floats 348s accepts operating on a constant and an interger 348s accepts operating on a constant and a float 348s accepts comparison operators 348s accepts operating on multiple integers 348s accepts checking fixed size 348s accepts assigning to an environment variable with a fallback 348s behaves like string literal 348s Ruby 2.7 or lower 348s when the frozen string literal comment is false 348s behaves like mutable objects 348s when assigning with ||= 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s when assigning with = 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s when the frozen string literal comment is missing 348s behaves like mutable objects 348s when assigning with = 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s when assigning with ||= 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s when the frozen string literal comment is true 348s does not register an offense when using interpolated heredoc constant 348s does not register an offense when using a multiline string 348s behaves like immutable objects 348s allows <<~HERE 348s foo 348s bar 348s HERE 348s to be ||= to a constant 348s allows <<~HERE 348s foo 348s bar 348s HERE 348s to be assigned to a constant 348s behaves like immutable objects 348s allows "#{a}" to be assigned to a constant 348s allows "#{a}" to be ||= to a constant 348s Ruby 3.0 or higher 348s when the frozen string literal comment is false 348s behaves like mutable objects 348s when assigning with = 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s when assigning with ||= 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s when the frozen string literal comment is true 348s registers an offense when using a multiline string with interpolation 348s does not register an offense when using a multiline string 348s registers an offense when using interpolated heredoc constant 348s behaves like mutable objects 348s when assigning with = 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s when assigning with ||= 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s behaves like immutable objects 348s allows <<~HERE 348s foo 348s bar 348s HERE 348s to be ||= to a constant 348s allows <<~HERE 348s foo 348s bar 348s HERE 348s to be assigned to a constant 348s when the frozen string literal comment is missing 348s behaves like mutable objects 348s when assigning with ||= 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s when assigning with = 348s registers an offense for "#{a}" assigned to a constant and corrects by adding .freeze 348s operators that produce unfrozen objects 348s registers an offense when operating on a constant and a string 348s registers an offense when operating on multiple strings 348s splat expansion 348s expansion of a range 348s registers an offense and corrects to use to_a.freeze 348s with parentheses 348s registers an offense and corrects to use to_a.freeze 348s behaves like immutable objects 348s allows ::OTHER_CONST to be ||= to a constant 348s allows ::OTHER_CONST to be assigned to a constant 348s behaves like immutable objects 348s allows ENV['foo'] to be ||= to a constant 348s allows ENV['foo'] to be assigned to a constant 348s behaves like immutable objects 348s allows Namespace::OTHER_CONST to be assigned to a constant 348s allows Namespace::OTHER_CONST to be ||= to a constant 348s behaves like immutable objects 348s allows Struct.new to be assigned to a constant 348s allows Struct.new to be ||= to a constant 348s 348s RuboCop::Config 348s whether the cop is enabled 348s when an entire cop department is enabled 348s but an individual cop is disabled 348s still disables the cop 348s when a cop has configuration but no explicit Enabled setting 348s enables the cop by default 348s when an nested cop department is disabled 348s and an individual cop is not specified 348s the cop setting overrides the department 348s but an individual cop is enabled 348s the cop setting overrides the department 348s when an entire cop department is disabled 348s but an individual cop is enabled 348s the cop setting overrides the department 348s when configuration has no mention of a cop 348s enables the cop that is not mentioned 348s when all cops are disabled by default 348s disables the cop that is not mentioned 348s when all cops are explicitly enabled by default 348s enables the cop that is not mentioned 348s #patterns_to_include 348s when config file has AllCops => Include key 348s returns the Include value 348s #allowed_camel_case_file? 348s when the passed path matches allowed camel case patterns to include 348s is expected to equal true 348s when the passed path is a gemspec 348s is expected to equal true 348s when the passed path does not match allowed camel case patterns to include 348s is expected to equal false 348s #patterns_to_exclude 348s when config file has AllCops => Exclude key 348s returns the Exclude value 348s #file_to_include? 348s when the passed path matches any of patterns to include 348s returns true 348s when the passed path does not match any of patterns to include 348s returns false 348s #validate 348s when the configuration includes any unrecognized parameter 348s prints a warning message 348s when the configuration includes the obsolete Style/IfUnlessModifier: MaxLineLength parameter 348s raises validation error 348s when the configuration is in the base RuboCop config folder 348s is not validated 348s when the configuration includes multiple valid enforced styles 348s does not raise validation error 348s when the configuration includes an obsolete parameter 348s raises validation error 348s conflicting Safe settings 348s when the configuration includes an unsafe cop that is explicitly declared to have a safe autocorrection 348s raises validation error 348s when the configuration includes an unsafe cop without a declaration of its autocorrection 348s does not raise validation error 348s when the configuration includes multiple but config does not allow 348s raises validation error 348s when the configuration includes Lint/Syntax cop 348s when the configuration matches the default 348s does not raise validation error 348s when the configuration does not match the default 348s raises validation error 348s when the configuration includes a valid enforced style 348s does not raise validation error 348s when the configuration includes an empty section 348s raises validation error 348s when the configuration includes an invalid EnforcedStyle 348s raises validation error 348s when the configuration includes an invalid enforced style 348s raises validation error 348s when the configuration includes any unrecognized cop name and given `--ignore-unrecognized-cops` option 348s there is unrecognized cop 348s prints a warning about the cop 348s there are no unrecognized cops 348s does not print any warnings 348s when the empty section is AllCops 348s raises validation error 348s when all cops are both Enabled and Disabled by default 348s raises validation error 348s when the configuration includes a valid EnforcedStyle 348s does not raise validation error 348s when the configuration includes an obsolete EnforcedStyle parameter 348s raises validation error 348s when the configuration includes any unrecognized cop name 348s raises an validation error 348s when the configuration includes the obsolete Style/WhileUntilModifier: MaxLineLength parameter 348s raises validation error 348s when the configuration includes any common parameter 348s does not raise validation error 348s when the configuration includes multiple invalid enforced styles 348s raises validation error 348s when the configuration includes multiple valid enforced styles and one invalid style 348s raises validation error 348s when the configuration includes an obsolete cop 348s raises validation error 348s when the configuration includes obsolete parameters and cops 348s raises validation error 348s #deprecation_check 348s when there is AllCops configuration 348s if there are is an Includes key 348s yields 348s if there are is an Excludes key 348s yields 348s if there are no Excludes or Includes keys 348s does not yield 348s when there is no AllCops configuration 348s does not yield 348s #make_excludes_absolute 348s when config is in root directory 348s generates valid absolute directory 348s when config is in subdirectory 348s generates valid absolute directory 348s #file_to_exclude? 348s when the passed path does not match any of patterns to exclude 348s returns false 348s when the passed path matches any of patterns to exclude 348s returns true 348s #for_department 348s always returns the department's config 348s accepts a Symbol 348s #possibly_include_hidden? 348s returns true when Include config includes a toplevel dotfile 348s returns true when Include config includes a regex 348s returns true when Include config only includes regular paths 348s returns true when Include config includes a dotfile in a path 348s #check 348s when a deprecated configuration is detected 348s prints a warning message for the loaded path 348s #for_badge 348s takes into account the department 348s works if department has no config 348s 348s RuboCop::Cop::Style::TernaryParentheses 348s when configured to enforce parentheses inclusion 348s with a simple condition 348s registers an offense for query method in condition 348s registers an offense for yield in condition 348s registers an offense for accessor in condition 348s with a complex condition 348s registers an offense for boolean expression using keyword 348s registers an offense for arithmetic condition 348s registers an offense for defined? with nested constant in condition 348s registers an offense when calling method on a receiver 348s registers an offense for boolean expression containing parens 348s registers an offense for negated condition 348s registers an offense for defined? with class method in condition 348s registers an offense for defined? with method chain in condition 348s registers an offense for equality check 348s registers an offense for boolean expression 348s registers an offense for defined? with variable in condition 348s with an assignment condition 348s registers an offense for triple assignment 348s registers an offense for double assignment with equality check in condition 348s accepts safe assignment in condition 348s registers an offense for double assignment 348s when configured to enforce parentheses omission 348s accepts condition including a range 348s with one line pattern matching 348s does not register an offense 348s with a complex condition 348s registers an offense for boolean expression using keyword 348s registers an offense for negated condition 348s registers an offense for defined with method chain in condition 348s registers an offense for equality check 348s registers an offense for query method on object 348s registers an offense for defined with class method in condition 348s registers an offense for arithmetic expression 348s accepts parens around inner boolean expression 348s registers an offense for boolean expression 348s registers an offense for defined with variable in condition 348s registers an offense for defined with nested constant in condition 348s with no space between the parentheses and question mark 348s registers an offense 348s with an assignment condition 348s accepts double safe assignment 348s accepts safe assignment 348s accepts safe assignment as part of multiple assignment 348s registers an offense for equality check 348s behaves like safe assignment disabled 348s registers an offense for parens around outer assignment 348s registers an offense for parens around assignment 348s registers an offense for parens around inner assignment 348s with a simple condition 348s registers an offense for yield in condition 348s accepts multi-line boolean expression starting on following line 348s registers an offense for accessor in condition 348s registers an offense for query method in condition 348s registers an offense for multi-line boolean expression 348s with an unparenthesized method call condition 348s registers an offense for defined check 348s registers an offense when calling method with a parameter 348s when calling method with multiple arguments 349s registers an offense 349s when calling method on a receiver 349s registers an offense 349s when calling method on a literal receiver 349s registers an offense 349s when calling method on a constant receiver 349s registers an offense 349s with one line pattern matching 349s does not register an offense 349s configured for parentheses on complex and there are no parens 349s with an assignment condition 349s accepts safe assignment 349s registers an offense for equality check 349s with complex condition 349s registers an offense for comparison with method call on receiver 349s registers an offense comparison with exponentiation 349s registers an offense for comparison with multiplication 349s registers an offense for comparison 349s registers an offense for arithmetic and equality check 349s registers an offense for boolean expression with inner parens 349s registers an offense for addition expression 349s registers an offense for compound boolean expression 349s registers an offense for subtraction expression 349s registers an offense for boolean expression 349s configured for parentheses on complex and there are parens 349s accepts condition including a range 349s with a complex condition 349s registers an offense for defined with method chain in condition 349s accepts boolean expression using keywords 349s accepts boolean expression 349s registers an offense when calling method on a receiver 349s registers an offense for defined with class method in condition 349s registers an offense for defined with nested constant in condition 349s registers an offense for defined with variable in condition 349s with an assignment condition 349s accepts equality check 349s accepts safe assignment 349s accepts safe assignment as part of multiple assignment 349s accepts accepts safe multiple assignment 349s behaves like safe assignment disabled 349s registers an offense for parens around outer assignment 349s registers an offense for parens around assignment 349s registers an offense for parens around inner assignment 349s with a simple condition 349s registers an offense for yield in condition 349s registers an offense for query method in condition 349s registers an offense for save navigation 349s registers an offense with preceding boolean keyword expression 349s registers an offense for accessor in condition 349s with method call condition 349s registers an offense for defined check 349s registers an offense when calling method on a receiver 349s registers an offense when calling method with a parameter 349s without accessor in method call parameters 349s registers an offense for array include? with parens 349s registers an offense for array include? without parens 349s with accessor in method call parameters 349s registers an offense for array include? with multiple parameters with parens 349s registers an offense for array include? with multiple parameters without parens 349s registers an offense for array include? without parens 349s 349s RuboCop::Cop::Style::HashTransformKeys 349s when using Ruby 2.6 or newer 349s does not flag `_.to_h{...}` when its receiver is an array literal 349s does not flag `_.to_h{...}` when its receiver is `with_index` 349s does not flag `_.to_h{...}` when its receiver is `zip` 349s does not flag `_.to_h{...}` when both key & value are transformed 349s does not flag _.to_h {...} when key block argument is unused 349s flags _.to_h{...} when transform_keys could be used 349s does not flag `_.to_h{...}` when its receiver is `each_with_index` 349s below Ruby 2.6 349s does not flag _.to_h{...} 349s below Ruby 2.5 349s does not flag even if transform_keys could be used 349s when using Ruby 2.5 or newer 349s does not flag `Hash[_.map{...}]` when its receiver is `zip` 349s does not flag Hash[_.map{...}] when both key & value are transformed 349s does not flag `_.map{...}.to_h` when its receiver is `zip` 349s does not flag each_with_object when both key & value are transformed 349s does not flag `each_with_object` when its receiver is `with_index` 349s flags _.map{...}.to_h when transform_keys could be used when line break before `to_h` 349s does not flag `Hash[_.map{...}]` when its receiver is an array literal 349s correctly autocorrects Hash[_.map{...}] 349s does not flag `Hash[_.map{...}]` when its receiver is `each_with_index` 349s flags Hash[_.map{...}] when transform_keys could be used 349s does not flag _.map {...}.to_h when key block argument is unused 349s does not flag `each_with_object` when its receiver is `zip` 349s does not flag key transformation in the absence of to_h 349s does not flag `each_with_object` when its receiver is `each_with_index` 349s correctly autocorrects _.map{...}.to_h without block 349s flags _.map{...}.to_h when transform_keys could be used 349s does not flag each_with_object when its argument is not modified 349s does not flag each_with_object when key transformation uses value 349s does not flag `_.map{...}.to_h` when its receiver is `each_with_index` 349s does not flag _.map{...}.to_h when both key & value are transformed 349s does not flag key transformation when receiver is array literal 349s does not flag `Hash[_.map{...}]` when its receiver is `with_index` 349s flags _.map {...}.to_h when transform_keys could be used when wrapped in another block 349s does not flag each_with_object when its receiver is array literal 349s does not flag each_with_object when no transformation occurs 349s does not flag `_.map{...}.to_h` when its receiver is `with_index` 349s correctly autocorrects _.map{...}.to_h with block 349s does not flag `each_with_object` when its argument is used in the key 349s with safe navigation operator 349s flags each_with_object when transform_keys could be used 349s with inline block 349s flags each_with_object when transform_keys could be used 349s with multiline block 349s flags each_with_object when transform_keys could be used 349s 349s RuboCop::Cop::Style::MixinUsage 349s does not register an offense when using inside nested module 349s include 349s does not register an offense when using inside class 349s does not register an offense when using inside block 349s does not register an offense when using outside class 349s registers an offense when using outside class (used below) 349s does not register an offense when using `include` in method definition inside module 349s registers an offense when using outside class (used above) 349s registers an offense when using `include` in method definition outside class or module 349s doesn't register an offense when `include` call is a method argument 349s registers an offense when using only `include` statement 349s does not register an offense when using `include` in method definition inside class 349s does not register an offense when using inside block and `if` condition is after `include` 349s Multiple definition classes in one 349s does not register an offense when using inside class 349s Nested module 349s registers an offense when using outside class 349s extend 349s registers an offense when using outside class 349s does not register an offense when using inside class 349s prepend 349s registers an offense when using outside class 349s does not register an offense when using inside class 349s 349s RuboCop::Cop::Style::ConditionalAssignment 349s SingleLineConditionsOnly true 349s registers an offense for assignment to an if then else 349s registers an offense for assignment to case when then else 349s corrects assignment to a namespaced constant 349s allows a method call in the subject of a ternary operator 349s corrects assignment when without `else` branch 349s registers an offense for assignment using []= 349s registers an offense for assignment using a method that ends with an equal sign 349s behaves like all assignment types 349s registers an offense any assignment to case when 349s does not crash when used inside rescue 349s registers an offense any assignment to if else 349s allows any assignment to if without else 349s registers an offense for any assignment to unless else 349s registers an offense for any assignment to ternary 349s behaves like all assignment types 349s registers an offense any assignment to if else 349s registers an offense any assignment to case when 349s allows any assignment to if without else 349s registers an offense for any assignment to unless else 349s does not crash when used inside rescue 349s registers an offense for any assignment to ternary 349s behaves like multiline all variable types allow 349s assigning any variable type to a multiline case when 349s assigning any variable type to a multiline unless else 349s assigning any variable type to an if else with multiline in one branch 349s assigning any variable type to a multiline if elsif else 349s assigning any variable type to a multiline if else 349s behaves like multiline all assignment types allow 349s any assignment to a multiline case when 349s any assignment to a multiline if else 349s any assignment to a multiline unless else 349s behaves like multiline all assignment types allow 349s any assignment to a multiline unless else 349s any assignment to a multiline case when 349s any assignment to a multiline if else 349s behaves like all assignment types 349s does not crash when used inside rescue 349s registers an offense for any assignment to unless else 349s allows any assignment to if without else 349s registers an offense any assignment to case when 349s registers an offense for any assignment to ternary 349s registers an offense any assignment to if else 349s behaves like all assignment types 349s registers an offense any assignment to case when 349s registers an offense any assignment to if else 349s does not crash when used inside rescue 349s registers an offense for any assignment to ternary 349s registers an offense for any assignment to unless else 349s allows any assignment to if without else 349s behaves like all assignment types 349s does not crash when used inside rescue 349s registers an offense for any assignment to unless else 349s registers an offense any assignment to if else 349s registers an offense any assignment to case when 349s registers an offense for any assignment to ternary 349s allows any assignment to if without else 349s behaves like multiline all assignment types allow 349s any assignment to a multiline if else 349s any assignment to a multiline unless else 349s any assignment to a multiline case when 349s behaves like all variable types 349s allows assignment to if without else 349s does not crash for rescue assignment 349s registers an offense assigning any variable type to if else 349s registers an offense for assigning any variable type to case when 349s registers an offense assigning any variable type to ternary 349s registers an offense assigning any variable type to unless else 349s registers an offense assigning any variable type to if elsewith multiple assignment 349s registers an offense assigning any variable type to if elsif else 349s >= Ruby 2.7 349s registers an offense for assigning any variable type to case in 349s behaves like all assignment types 349s registers an offense for any assignment to unless else 349s allows any assignment to if without else 349s registers an offense for any assignment to ternary 349s registers an offense any assignment to if else 349s does not crash when used inside rescue 349s registers an offense any assignment to case when 349s behaves like all assignment types 349s allows any assignment to if without else 349s does not crash when used inside rescue 349s registers an offense for any assignment to ternary 349s registers an offense any assignment to if else 349s registers an offense for any assignment to unless else 349s registers an offense any assignment to case when 349s behaves like all assignment types 349s registers an offense for any assignment to unless else 349s registers an offense for any assignment to ternary 349s does not crash when used inside rescue 349s registers an offense any assignment to case when 349s registers an offense any assignment to if else 349s allows any assignment to if without else 349s behaves like multiline all assignment types allow 349s any assignment to a multiline if else 349s any assignment to a multiline case when 349s any assignment to a multiline unless else 349s behaves like multiline all assignment types allow 349s any assignment to a multiline if else 349s any assignment to a multiline case when 349s any assignment to a multiline unless else 349s behaves like all assignment types 349s registers an offense for any assignment to ternary 349s registers an offense for any assignment to unless else 349s registers an offense any assignment to case when 349s registers an offense any assignment to if else 349s does not crash when used inside rescue 349s allows any assignment to if without else 349s behaves like multiline all variable types allow 349s assigning any variable type to a multiline if else 349s assigning any variable type to a multiline if elsif else 349s assigning any variable type to an if else with multiline in one branch 349s assigning any variable type to a multiline unless else 349s assigning any variable type to a multiline case when 349s behaves like all variable types 349s registers an offense assigning any variable type to unless else 349s allows assignment to if without else 349s does not crash for rescue assignment 349s registers an offense assigning any variable type to if elsewith multiple assignment 349s registers an offense assigning any variable type to if elsif else 349s registers an offense assigning any variable type to ternary 350s registers an offense for assigning any variable type to case when 350s registers an offense assigning any variable type to if else 350s >= Ruby 2.7 350s registers an offense for assigning any variable type to case in 350s behaves like all variable types 350s registers an offense assigning any variable type to if else 350s registers an offense assigning any variable type to ternary 350s registers an offense assigning any variable type to if elsif else 350s allows assignment to if without else 350s registers an offense for assigning any variable type to case when 350s registers an offense assigning any variable type to if elsewith multiple assignment 350s registers an offense assigning any variable type to unless else 350s does not crash for rescue assignment 350s >= Ruby 2.7 350s registers an offense for assigning any variable type to case in 350s behaves like all variable types 350s registers an offense for assigning any variable type to case when 350s registers an offense assigning any variable type to if elsif else 350s registers an offense assigning any variable type to if else 350s registers an offense assigning any variable type to unless else 350s does not crash for rescue assignment 350s registers an offense assigning any variable type to if elsewith multiple assignment 350s allows assignment to if without else 350s registers an offense assigning any variable type to ternary 350s >= Ruby 2.7 350s registers an offense for assigning any variable type to case in 350s behaves like multiline all assignment types allow 350s any assignment to a multiline case when 350s any assignment to a multiline unless else 350s any assignment to a multiline if else 350s for loop 350s ignores pseudo assignments in a for loop 350s behaves like all assignment types 350s registers an offense for any assignment to ternary 350s registers an offense any assignment to if else 350s registers an offense for any assignment to unless else 350s registers an offense any assignment to case when 350s does not crash when used inside rescue 350s allows any assignment to if without else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline case when 350s any assignment to a multiline if else 350s any assignment to a multiline unless else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline if else 350s any assignment to a multiline unless else 350s any assignment to a multiline case when 350s behaves like all variable types 350s allows assignment to if without else 350s registers an offense for assigning any variable type to case when 350s does not crash for rescue assignment 350s registers an offense assigning any variable type to unless else 350s registers an offense assigning any variable type to if else 350s registers an offense assigning any variable type to if elsewith multiple assignment 350s registers an offense assigning any variable type to if elsif else 350s registers an offense assigning any variable type to ternary 350s >= Ruby 2.7 350s registers an offense for assigning any variable type to case in 350s behaves like all assignment types 350s registers an offense any assignment to case when 350s registers an offense for any assignment to ternary 350s does not crash when used inside rescue 350s registers an offense any assignment to if else 350s allows any assignment to if without else 350s registers an offense for any assignment to unless else 350s behaves like all assignment types 350s allows any assignment to if without else 350s registers an offense for any assignment to ternary 350s registers an offense any assignment to case when 350s does not crash when used inside rescue 350s registers an offense for any assignment to unless else 350s registers an offense any assignment to if else 350s behaves like all assignment types 350s registers an offense any assignment to case when 350s allows any assignment to if without else 350s registers an offense for any assignment to ternary 350s registers an offense for any assignment to unless else 350s registers an offense any assignment to if else 350s does not crash when used inside rescue 350s behaves like multiline all assignment types allow 350s any assignment to a multiline if else 350s any assignment to a multiline case when 350s any assignment to a multiline unless else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline case when 350s any assignment to a multiline if else 350s any assignment to a multiline unless else 350s behaves like all assignment types 350s registers an offense any assignment to case when 350s does not crash when used inside rescue 350s allows any assignment to if without else 350s registers an offense for any assignment to unless else 350s registers an offense for any assignment to ternary 350s registers an offense any assignment to if else 350s behaves like all variable types 350s registers an offense for assigning any variable type to case when 350s registers an offense assigning any variable type to if elsif else 350s registers an offense assigning any variable type to if else 350s registers an offense assigning any variable type to if elsewith multiple assignment 350s does not crash for rescue assignment 350s registers an offense assigning any variable type to unless else 350s registers an offense assigning any variable type to ternary 350s allows assignment to if without else 350s >= Ruby 2.7 350s registers an offense for assigning any variable type to case in 350s behaves like all assignment types 350s allows any assignment to if without else 350s registers an offense any assignment to case when 350s registers an offense any assignment to if else 350s registers an offense for any assignment to unless else 350s registers an offense for any assignment to ternary 350s does not crash when used inside rescue 350s behaves like all assignment types 350s does not crash when used inside rescue 350s registers an offense for any assignment to ternary 350s allows any assignment to if without else 350s registers an offense for any assignment to unless else 350s registers an offense any assignment to case when 350s registers an offense any assignment to if else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline if else 350s any assignment to a multiline case when 350s any assignment to a multiline unless else 350s behaves like all assignment types 350s registers an offense for any assignment to unless else 350s allows any assignment to if without else 350s registers an offense any assignment to case when 350s does not crash when used inside rescue 350s registers an offense for any assignment to ternary 350s registers an offense any assignment to if else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline case when 350s any assignment to a multiline if else 350s any assignment to a multiline unless else 350s behaves like multiline all variable types allow 350s assigning any variable type to an if else with multiline in one branch 350s assigning any variable type to a multiline unless else 350s assigning any variable type to a multiline if elsif else 350s assigning any variable type to a multiline case when 350s assigning any variable type to a multiline if else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline unless else 350s any assignment to a multiline if else 350s any assignment to a multiline case when 350s behaves like multiline all assignment types allow 350s any assignment to a multiline unless else 350s any assignment to a multiline case when 350s any assignment to a multiline if else 350s behaves like multiline all variable types allow 350s assigning any variable type to a multiline if elsif else 350s assigning any variable type to a multiline case when 350s assigning any variable type to an if else with multiline in one branch 350s assigning any variable type to a multiline unless else 350s assigning any variable type to a multiline if else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline if else 350s any assignment to a multiline unless else 350s any assignment to a multiline case when 350s behaves like all assignment types 350s allows any assignment to if without else 350s registers an offense for any assignment to unless else 350s registers an offense any assignment to if else 350s does not crash when used inside rescue 350s registers an offense for any assignment to ternary 350s registers an offense any assignment to case when 350s behaves like multiline all variable types allow 350s assigning any variable type to a multiline unless else 350s assigning any variable type to a multiline if else 350s assigning any variable type to a multiline case when 350s assigning any variable type to an if else with multiline in one branch 350s assigning any variable type to a multiline if elsif else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline if else 350s any assignment to a multiline unless else 350s any assignment to a multiline case when 350s behaves like multiline all assignment types allow 350s any assignment to a multiline if else 350s any assignment to a multiline case when 350s any assignment to a multiline unless else 350s behaves like all variable types 350s does not crash for rescue assignment 350s allows assignment to if without else 350s registers an offense assigning any variable type to if elsewith multiple assignment 350s registers an offense assigning any variable type to ternary 350s registers an offense assigning any variable type to if else 350s registers an offense assigning any variable type to if elsif else 350s registers an offense for assigning any variable type to case when 350s registers an offense assigning any variable type to unless else 350s >= Ruby 2.7 350s registers an offense for assigning any variable type to case in 350s behaves like single line condition autocorrect 350s corrects assignment to an unless else condition 350s corrects assignment to an if elsif else condition 350s corrects assignment to an if else condition 350s corrects assignment to a case when else with multiple whens 350s corrects assignment to an if elsif else with multiple elsifs 350s corrects assignment to a case when else condition 350s corrects assignment to a ternary operator 350s behaves like multiline all variable types allow 350s assigning any variable type to a multiline unless else 350s assigning any variable type to a multiline if else 350s assigning any variable type to an if else with multiline in one branch 350s assigning any variable type to a multiline case when 350s assigning any variable type to a multiline if elsif else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline unless else 350s any assignment to a multiline case when 350s any assignment to a multiline if else 350s behaves like multiline all assignment types allow 350s any assignment to a multiline if else 350s any assignment to a multiline case when 350s any assignment to a multiline unless else 350s behaves like multiline all variable types allow 350s assigning any variable type to a multiline if elsif else 350s assigning any variable type to a multiline if else 350s assigning any variable type to an if else with multiline in one branch 350s assigning any variable type to a multiline case when 350s assigning any variable type to a multiline unless else 350s behaves like all assignment types 350s registers an offense any assignment to if else 350s registers an offense for any assignment to unless else 350s does not crash when used inside rescue 350s allows any assignment to if without else 350s registers an offense for any assignment to ternary 350s registers an offense any assignment to case when 350s SingleLineConditionsOnly false 350s corrects assignment to a multiline if elsif else condition 350s corrects assignment to a case when else condition 350s corrects assignment to a multiline if else condition 350s corrects assignment to an unless else condition 350s corrects assignment to a case when else with multiple whens 350s corrects assignment to an if elsif else with multiple elsifs 350s behaves like multiline all assignment types offense 350s any assignment to a multiline case when 350s any assignment to a multiline unless else 350s any assignment to a multiline if else 350s behaves like multiline all variable types offense 350s assigning any variable type to a multiline case when 350s assigning any variable type to a multiline if else 350s assigning any variable type to a multiline if elsif else 350s assigning any variable type to an if else with multiline in one branch 350s assigning any variable type to a multiline unless else 350s behaves like all variable types 350s does not crash for rescue assignment 350s registers an offense assigning any variable type to if elsewith multiple assignment 350s registers an offense assigning any variable type to if else 351s registers an offense for assigning any variable type to case when 351s registers an offense assigning any variable type to ternary 351s registers an offense assigning any variable type to unless else 351s allows assignment to if without else 351s registers an offense assigning any variable type to if elsif else 351s >= Ruby 2.7 351s registers an offense for assigning any variable type to case in 351s behaves like multiline all assignment types offense 351s any assignment to a multiline if else 351s any assignment to a multiline unless else 351s any assignment to a multiline case when 351s behaves like all assignment types 351s allows any assignment to if without else 351s registers an offense any assignment to case when 351s registers an offense for any assignment to ternary 351s does not crash when used inside rescue 351s registers an offense for any assignment to unless else 351s registers an offense any assignment to if else 351s behaves like multiline all assignment types offense 351s any assignment to a multiline unless else 351s any assignment to a multiline if else 351s any assignment to a multiline case when 351s behaves like all assignment types 351s allows any assignment to if without else 351s registers an offense any assignment to if else 351s registers an offense for any assignment to unless else 351s registers an offense any assignment to case when 351s does not crash when used inside rescue 351s registers an offense for any assignment to ternary 351s behaves like all assignment types 351s registers an offense any assignment to if else 351s allows any assignment to if without else 351s registers an offense any assignment to case when 351s registers an offense for any assignment to unless else 351s does not crash when used inside rescue 351s registers an offense for any assignment to ternary 351s behaves like multiline all assignment types offense 351s any assignment to a multiline if else 351s any assignment to a multiline case when 351s any assignment to a multiline unless else 351s behaves like all assignment types 351s registers an offense for any assignment to unless else 351s registers an offense any assignment to case when 351s registers an offense for any assignment to ternary 351s registers an offense any assignment to if else 351s allows any assignment to if without else 351s does not crash when used inside rescue 351s behaves like multiline all assignment types offense 351s any assignment to a multiline case when 351s any assignment to a multiline unless else 351s any assignment to a multiline if else 351s behaves like multiline all assignment types offense 351s any assignment to a multiline if else 351s any assignment to a multiline unless else 351s any assignment to a multiline case when 351s behaves like all assignment types 351s allows any assignment to if without else 351s registers an offense for any assignment to unless else 351s registers an offense for any assignment to ternary 351s does not crash when used inside rescue 351s registers an offense any assignment to case when 351s registers an offense any assignment to if else 351s behaves like multiline all assignment types offense 351s any assignment to a multiline if else 351s any assignment to a multiline unless else 351s any assignment to a multiline case when 351s behaves like multiline all assignment types offense 351s any assignment to a multiline unless else 351s any assignment to a multiline if else 351s any assignment to a multiline case when 351s behaves like multiline all variable types offense 351s assigning any variable type to an if else with multiline in one branch 351s assigning any variable type to a multiline unless else 351s assigning any variable type to a multiline if elsif else 351s assigning any variable type to a multiline if else 351s assigning any variable type to a multiline case when 351s behaves like multiline all variable types offense 351s assigning any variable type to a multiline unless else 351s assigning any variable type to a multiline if elsif else 351s assigning any variable type to a multiline if else 351s assigning any variable type to a multiline case when 351s assigning any variable type to an if else with multiline in one branch 351s behaves like all assignment types 351s registers an offense any assignment to if else 351s registers an offense for any assignment to unless else 351s does not crash when used inside rescue 351s allows any assignment to if without else 351s registers an offense any assignment to case when 351s registers an offense for any assignment to ternary 351s behaves like all variable types 351s does not crash for rescue assignment 351s registers an offense assigning any variable type to if elsif else 351s registers an offense assigning any variable type to if elsewith multiple assignment 351s allows assignment to if without else 351s registers an offense assigning any variable type to unless else 351s registers an offense for assigning any variable type to case when 351s registers an offense assigning any variable type to ternary 351s registers an offense assigning any variable type to if else 351s >= Ruby 2.7 351s registers an offense for assigning any variable type to case in 351s behaves like all assignment types 351s allows any assignment to if without else 351s registers an offense for any assignment to ternary 351s registers an offense any assignment to if else 351s registers an offense for any assignment to unless else 351s does not crash when used inside rescue 351s registers an offense any assignment to case when 351s behaves like all assignment types 351s registers an offense any assignment to case when 351s does not crash when used inside rescue 351s registers an offense for any assignment to unless else 351s registers an offense any assignment to if else 351s allows any assignment to if without else 351s registers an offense for any assignment to ternary 351s behaves like multiline all assignment types offense 351s any assignment to a multiline if else 351s any assignment to a multiline unless else 351s any assignment to a multiline case when 351s behaves like all variable types 351s registers an offense assigning any variable type to if elsif else 351s allows assignment to if without else 351s registers an offense assigning any variable type to if else 351s registers an offense assigning any variable type to if elsewith multiple assignment 351s registers an offense assigning any variable type to ternary 351s registers an offense assigning any variable type to unless else 351s registers an offense for assigning any variable type to case when 351s does not crash for rescue assignment 351s >= Ruby 2.7 351s registers an offense for assigning any variable type to case in 351s behaves like multiline all variable types offense 351s assigning any variable type to a multiline case when 351s assigning any variable type to a multiline if else 351s assigning any variable type to a multiline if elsif else 351s assigning any variable type to a multiline unless else 351s assigning any variable type to an if else with multiline in one branch 351s behaves like all variable types 351s does not crash for rescue assignment 351s allows assignment to if without else 351s registers an offense assigning any variable type to unless else 351s registers an offense assigning any variable type to if elsif else 351s registers an offense for assigning any variable type to case when 351s registers an offense assigning any variable type to ternary 351s registers an offense assigning any variable type to if elsewith multiple assignment 351s registers an offense assigning any variable type to if else 351s >= Ruby 2.7 351s registers an offense for assigning any variable type to case in 351s behaves like all assignment types 351s registers an offense any assignment to case when 351s registers an offense for any assignment to unless else 351s does not crash when used inside rescue 351s registers an offense any assignment to if else 351s allows any assignment to if without else 351s registers an offense for any assignment to ternary 351s behaves like multiline all assignment types offense 351s any assignment to a multiline unless else 351s any assignment to a multiline case when 351s any assignment to a multiline if else 351s behaves like all assignment types 351s registers an offense for any assignment to unless else 351s does not crash when used inside rescue 351s allows any assignment to if without else 351s registers an offense any assignment to case when 351s registers an offense any assignment to if else 351s registers an offense for any assignment to ternary 351s behaves like all assignment types 351s registers an offense for any assignment to unless else 351s registers an offense any assignment to case when 351s registers an offense for any assignment to ternary 351s allows any assignment to if without else 351s registers an offense any assignment to if else 351s does not crash when used inside rescue 351s behaves like all variable types 351s registers an offense assigning any variable type to if else 351s registers an offense assigning any variable type to if elsif else 351s registers an offense assigning any variable type to ternary 351s registers an offense for assigning any variable type to case when 351s does not crash for rescue assignment 351s registers an offense assigning any variable type to if elsewith multiple assignment 351s allows assignment to if without else 351s registers an offense assigning any variable type to unless else 351s >= Ruby 2.7 351s registers an offense for assigning any variable type to case in 351s behaves like multiline all assignment types offense 351s any assignment to a multiline unless else 351s any assignment to a multiline case when 351s any assignment to a multiline if else 351s behaves like multiline all assignment types offense 351s any assignment to a multiline case when 351s any assignment to a multiline unless else 351s any assignment to a multiline if else 351s behaves like all assignment types 351s registers an offense for any assignment to ternary 351s does not crash when used inside rescue 351s allows any assignment to if without else 351s registers an offense for any assignment to unless else 351s registers an offense any assignment to case when 351s registers an offense any assignment to if else 351s behaves like all assignment types 351s registers an offense any assignment to case when 351s does not crash when used inside rescue 351s registers an offense any assignment to if else 351s allows any assignment to if without else 351s registers an offense for any assignment to unless else 351s registers an offense for any assignment to ternary 351s behaves like multiline all assignment types offense 351s any assignment to a multiline if else 351s any assignment to a multiline case when 351s any assignment to a multiline unless else 351s behaves like multiline all variable types offense 351s assigning any variable type to a multiline if elsif else 351s assigning any variable type to a multiline unless else 351s assigning any variable type to an if else with multiline in one branch 351s assigning any variable type to a multiline case when 351s assigning any variable type to a multiline if else 351s behaves like all assignment types 351s registers an offense for any assignment to unless else 351s registers an offense for any assignment to ternary 351s registers an offense any assignment to if else 351s does not crash when used inside rescue 351s registers an offense any assignment to case when 351s allows any assignment to if without else 351s behaves like multiline all assignment types offense 351s any assignment to a multiline case when 351s any assignment to a multiline if else 351s any assignment to a multiline unless else 351s behaves like multiline all assignment types offense 351s any assignment to a multiline if else 351s any assignment to a multiline unless else 352s any assignment to a multiline case when 352s behaves like single line condition autocorrect 352s corrects assignment to an if elsif else with multiple elsifs 352s corrects assignment to a ternary operator 352s corrects assignment to an if else condition 352s corrects assignment to an if elsif else condition 352s corrects assignment to a case when else with multiple whens 352s corrects assignment to an unless else condition 352s corrects assignment to a case when else condition 352s behaves like multiline all assignment types offense 352s any assignment to a multiline if else 352s any assignment to a multiline unless else 352s any assignment to a multiline case when 352s behaves like all assignment types 352s registers an offense for any assignment to unless else 352s allows any assignment to if without else 352s registers an offense for any assignment to ternary 352s does not crash when used inside rescue 352s registers an offense any assignment to case when 352s registers an offense any assignment to if else 352s behaves like all assignment types 352s registers an offense for any assignment to ternary 352s does not crash when used inside rescue 352s registers an offense any assignment to if else 352s allows any assignment to if without else 352s registers an offense any assignment to case when 352s registers an offense for any assignment to unless else 352s behaves like multiline all assignment types offense 352s any assignment to a multiline if else 352s any assignment to a multiline unless else 352s any assignment to a multiline case when 352s behaves like multiline all assignment types offense 352s any assignment to a multiline unless else 352s any assignment to a multiline case when 352s any assignment to a multiline if else 352s behaves like multiline all assignment types offense 352s any assignment to a multiline case when 352s any assignment to a multiline unless else 352s any assignment to a multiline if else 352s behaves like multiline all variable types offense 352s assigning any variable type to a multiline unless else 352s assigning any variable type to a multiline if elsif else 352s assigning any variable type to a multiline case when 352s assigning any variable type to a multiline if else 352s assigning any variable type to an if else with multiline in one branch 352s behaves like all assignment types 352s registers an offense any assignment to case when 352s registers an offense any assignment to if else 352s allows any assignment to if without else 352s registers an offense for any assignment to ternary 352s registers an offense for any assignment to unless else 352s does not crash when used inside rescue 352s behaves like multiline all variable types offense 352s assigning any variable type to a multiline if else 352s assigning any variable type to a multiline if elsif else 352s assigning any variable type to a multiline unless else 352s assigning any variable type to a multiline case when 352s assigning any variable type to an if else with multiline in one branch 352s behaves like all variable types 352s registers an offense assigning any variable type to if elsewith multiple assignment 352s does not crash for rescue assignment 352s registers an offense assigning any variable type to ternary 352s allows assignment to if without else 352s registers an offense assigning any variable type to if elsif else 352s registers an offense for assigning any variable type to case when 352s registers an offense assigning any variable type to if else 352s registers an offense assigning any variable type to unless else 352s >= Ruby 2.7 352s registers an offense for assigning any variable type to case in 352s behaves like all variable types 352s registers an offense assigning any variable type to if elsewith multiple assignment 352s registers an offense for assigning any variable type to case when 352s allows assignment to if without else 352s registers an offense assigning any variable type to unless else 352s registers an offense assigning any variable type to ternary 352s registers an offense assigning any variable type to if elsif else 352s registers an offense assigning any variable type to if else 352s does not crash for rescue assignment 352s >= Ruby 2.7 352s registers an offense for assigning any variable type to case in 352s behaves like all assignment types 352s registers an offense for any assignment to ternary 352s does not crash when used inside rescue 352s registers an offense any assignment to case when 352s registers an offense any assignment to if else 352s registers an offense for any assignment to unless else 352s allows any assignment to if without else 352s behaves like all assignment types 352s registers an offense any assignment to case when 352s registers an offense for any assignment to unless else 352s registers an offense any assignment to if else 352s does not crash when used inside rescue 352s allows any assignment to if without else 352s registers an offense for any assignment to ternary 352s IncludeTernaryExpressions false 352s allows assigning any variable type to ternary 352s 352s RuboCop::Cop::Naming::HeredocDelimiterNaming 352s when the delimiter contains non-letter characters 352s does not register an offense when delimiter contains an underscore 352s does not register an offense when delimiter contains a number 352s with a naked heredoc 352s does not register an offense with a meaningful delimiter 352s registers an offense with a non-meaningful delimiter 352s with multiple heredocs starting on the same line 352s registers an offense with a trailing non-meaningful delimiter 352s registers an offense with a leading non-meaningful delimiter 352s does not register an offense with meaningful delimiters 352s with a non-interpolated heredoc 352s when using double quoted delimiters 352s registers an offense with a non-meaningful delimiter 352s does not register an offense with a meaningful delimiter 352s when using back tick delimiters 352s registers an offense with a non-meaningful delimiter 352s does not register an offense with a meaningful delimiter 352s when using non-word delimiters 352s registers an offense 352s when using single quoted delimiters 352s does not register an offense with a meaningful delimiter 352s registers an offense with a non-meaningful delimiter 352s with an interpolated heredoc 352s does not register an offense with a meaningful delimiter 352s registers an offense with a non-meaningful delimiter 352s with a squiggly heredoc 352s registers an offense with a non-meaningful delimiter 352s does not register an offense with a meaningful delimiter 352s 352s RuboCop::Cop::Style::CaseEquality 352s when AllowOnConstant is true 352s registers an offense and corrects for === when the receiver is a range 352s does not register an offense for === when the receiver is not a camel cased constant 352s does not fail when the receiver is implicit 352s registers an offense and does not correct for === when receiver is of some other type 352s registers an offense and corrects for === when the receiver is a regexp 352s does not register an offense for === when the receiver is a constant 352s when AllowOnConstant is false 352s does not fail when the receiver is implicit 352s registers an offense and corrects for === when the receiver is a constant 352s does not register an offense for === when the receiver is not a camel cased constant 352s registers an offense and corrects for === when the receiver is a regexp 352s registers an offense and corrects for === when the receiver is a range 352s registers an offense and does not correct for === when receiver is of some other type 352s when AllowOnSelfClass is true 352s registers an offense and corrects for === when the receiver is a regexp 352s registers an offense and corrects for === when the receiver is a range 352s does not register an offense for === when the receiver is self.class 352s registers an offense and corrects for === when the receiver is self.klass 352s registers an offense and does not correct for === when receiver is of some other type 352s does not fail when the receiver is implicit 352s does not register an offense for === when the receiver is not a camel cased constant 352s when AllowOnSelfClass is false 352s does not register an offense for === when the receiver is not a camel cased constant 352s registers an offense and corrects for === when the receiver is a regexp 352s registers an offense and does not correct for === when receiver is of some other type 352s registers an offense and corrects for === when the receiver is a range 352s registers an offense and corrects for === when the receiver is self.class 352s does not fail when the receiver is implicit 352s 352s RuboCop::Cop::Style::FetchEnvVar 352s registers an offense with using an `ENV` at multiple `if` condition in the body 352s registers an offense when using an `ENV` at `if` condition in the body 352s registers an offense when using `ENV && x` that is different from `if` condition in the body 352s registers an offense when using `ENV || x` that is different from `if` condition in the body 352s when the node is a receiver of `||=` 352s does not register an offense 352s when it is a hash key 352s registers an offense 352s when it is compared `!=` with other object 352s does not register an offense 352s when it is compared `==` with other object 352s does not register an offense 352s when it receives a message with safe navigation 352s registers no offenses 352s with negation 352s registers no offenses 352s when it is assigned to a variable 352s registers an offense when using single assignment 352s registers an offense when using multiple assignment 352s when using `fetch` instead of `[]` 352s registers no offenses 352s when it is used in a conditional expression 352s registers no offenses with ternary operator 352s registers no offenses when using the same `ENV` var as `if` condition in the body with assignment method 352s registers no offenses when using the same `ENV` var as `if` condition in the body with other conditions 352s registers no offenses when using the same `ENV` var as `if` condition in the body with operator 352s registers no offenses when using the same `ENV` var as `if` condition in the body with predicate method 352s registers no offenses when using the same `ENV` var as `if` condition in the body 352s registers an offense with `case` 352s registers no offenses with `unless` 352s registers an offense when using an `ENV` var that is different from `if` condition in the body 352s registers no offenses with `if` 352s registers an offense with using an `ENV` var as `if` condition in the body with assignment method 352s when it is evaluated with no default values 352s registers an offense 352s when it receives a message 352s registers no offenses 352s when the node is a receiver of `&&=` 352s does not register an offense 352s when the node is a assigned by `||=` 352s registers an offense 352s when it is a hash value 352s registers an offense 352s when it is an argument of a method 352s registers an offense 352s when it is used in an interpolation 352s registers an offense 352s when the node is a assigned by `&&=` 352s registers an offense 352s when `ENV[]` is the LHS of `||` 352s registers no offenses 352s when the env val is excluded from the inspection by the config 352s registers no offenses 352s when `ENV[]` is the right end of `||` chains 352s registers an offense 352s when it is an array element 352s registers an offense 352s 352s RuboCop::Cop::Naming::PredicateName 352s without method definition macros 352s accepts method name when corrected name is invalid identifier 352s does not register any offenses when using an internal affair macro 352s registers an offense when using `define_method` 352s with restricted prefixes 352s accepts method name when corrected name is invalid identifier 352s accepts method name that starts with unknown prefix 352s registers an offense when method name starts with "has" 352s accepts method name that is an assignment 352s registers an offense when method name starts with "is" 352s with permitted predicate names 352s accepts method name which is in permitted list 352s without restricted prefixes 352s registers an offense when method name starts with "has" 352s accepts method name that starts with unknown prefix 352s registers an offense when method name starts with "is" 352s accepts method name when corrected name is invalid identifier 352s with method definition macros 352s registers an offense when using an internal affair macro 352s accepts method name when corrected name is invalid identifier 352s registers an offense when using `define_method` 352s 352s RuboCop::Cop::Style::OpenStructUse 352s when using OpenStruct 352s for ::OpenStruct 352s when inheriting from it via Class.new 352s registers an offense 352s when used in assignments 352s registers an offense 352s when inheriting from it via < 352s registers an offense 352s for OpenStruct 352s when used in assignments 352s registers an offense 352s when inheriting from it via < 352s registers an offense 352s when inheriting from it via Class.new 352s registers an offense 352s when using custom namespaced OpenStruct 352s when used in assignments 352s registers no offense 352s when inheriting from it 352s is expected to eq "class A < SomeNamespace::OpenStruct; end" 352s when defined in custom namespace 352s when module 352s is expected to eq "module SomeNamespace\n module OpenStruct\n end\nend\n" 352s when class 352s is expected to eq "module SomeNamespace\n class OpenStruct\n end\nend\n" 352s when not using OpenStruct 352s registers no offense 352s 352s RuboCop::Formatter::FileListFormatter 352s #file_finished 352s displays parsable text 352s 352s RuboCop::Cop::Style::ExponentialNotation 352s EnforcedStyle is scientific 352s registers no offense for a negative exponent 352s registers an offense for mantissa smaller than 1 352s registers no offense for a mantissa equal to 1 352s registers no offense for a mantissa between 1 and 10 352s registers an offense for mantissa greater than 10 352s registers no offense for a regular float 352s registers an offense for mantissa equal to 10 352s registers no offense for a negative mantissa 352s registers no offense for a float smaller than 1 352s EnforcedStyle is engineering 352s registers no offense for a large mantissa 352s registers no offense for a negative exponent 352s registers an offense for exponent equal to 4 352s registers an offense for mantissa smaller than -1000 352s registers no offense for a mantissa equal to 1 352s registers no offense for a float smaller than 1 352s registers an offense for mantissa smaller than 0.1 352s registers no offense for a negative mantissa 352s registers no offense for a regular float 352s registers an offense for exponent equal to -2 352s registers an offense for a mantissa greater than -0.1 352s EnforcedStyle is integral 352s registers no offense for negative mantissa 352s registers no offense for a float smaller than 1 352s registers no offense for a regular float 352s registers no offense for an integral mantissa 352s registers no offense for negative exponent 352s registers an offense for mantissa divisible by 10 352s registers an offense for decimal mantissa 352s 352s RuboCop::Cop::Migration::DepartmentName 352s when only department name has given 352s does not register an offense 352s when todo/enable comments have cop names without departments 352s registers offenses and corrects when there is space around `:` 352s registers offenses and corrects 353s registers offenses and corrects when using a legacy cop name 353s when a disable comment has cop names with departments 353s accepts 353s when a disable comment contains an unexpected character for department name 353s accepts 353s when an unexpected disable comment format 353s does not register an offense 353s when a disable comment contains a plain comment 353s accepts 353s 353s RuboCop::Cop::Metrics::Utils::CodeLengthCalculator 353s #calculate 353s raises when unknown foldable type is passed 353s when class 353s counts comments if asked 353s folds arrays if asked 353s folds heredocs if asked 353s calculates class length 353s does not count blank lines 353s folds hashes if asked 353s does not count lines of inner classes 353s when method 353s counts single line hash as the one of method args if asked folding 353s counts single line without parentheses correctly if asked folding 353s folds heredocs if asked 353s counts single line hash with other args correctly if asked folding 353s calculates method length 353s counts single line hash as the one of method args with safe navigation operator if asked folding 353s folds hashes with comment if asked 353s folds hashes as method kwargs if asked 353s does not count blank lines 353s folds hashes as method args if asked 353s folds arrays if asked 353s folds multiline hashes with line break before it as method args if asked 353s folds hashes if asked 353s folds multiline hashes without braces as method args if asked 353s folds hashes without braces as the one of method args if asked 353s counts single line correctly if asked folding 353s counts single line hash with line breaks correctly if asked folding 353s folds multiline hashes with line break after it as method args if asked 353s counts comments if asked 353s 353s RuboCop::Cop::Metrics::ClassLength 353s accepts empty classes 353s reports the correct beginning and end lines 353s accepts a class with 5 lines 353s does not count blank lines 353s rejects a class with more than 5 lines 353s accepts a class with less than 5 lines 353s when `CountAsOne` is not empty 353s folds array into one line 353s when CountComments is disabled 353s accepts classes that only contain comments 353s when using numbered parameter 353s when inspecting a class defined with ::Class.new 353s registers an offense 353s when inspecting a class defined with Class.new 353s registers an offense 353s when inspecting a class defined with Struct.new 353s registers an offense when inspecting or equals (`||=`) for constant 353s registers an offense 353s registers an offense when multiple assignments to constants 353s when a class has inner classes 353s does not count lines of inner classes 353s rejects a class with 6 lines that belong to the class directly 353s when CountComments is enabled 353s also counts commented lines 353s registers an offense for a class that only contains comments 353s when inspecting a class defined with Class.new 353s registers an offense 353s when inspecting a class defined with Struct.new 353s registers an offense when multiple assignments to constants 353s registers an offense when inspecting or equals (`||=`) for constant 353s registers an offense 353s when inspecting a class defined with ::Class.new 353s registers an offense 353s when overlapping constant assignments 353s does not register an offense 353s 353s RuboCop::Cop::Style::BisectedAttrAccessor 353s registers an offense and corrects properly when attr_writer is before attr_reader 353s registers and corrects in a module 353s registers an offense and corrects when within eigenclass 353s registers an offense and corrects when both accessors are in the same visibility scope 353s does not register an offense when using `attr_accessor` 353s registers an offense and corrects when attr and attr_writer 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 when both accessors of the splat exists 353s does not register an offense when accessors are within different visibility scopes 353s registers an offense for accessors with the same visibility in different scopes 353s registers an offense and corrects when both accessors of the name exists 353s does not register an offense when only one accessor of the name exists 353s multiple bisected accessors 353s when some attr names are bisected 353s registers and retains non-bisected attrs 353s when all attr names are bisected 353s registers and replaces with attr_accessor 353s 353s RuboCop::Cop::Layout::LineContinuationSpacing 353s EnforcedStyle: no_space 353s ignores empty code 353s marks the offense correctly when offense is not in first line 353s registers an offense when one space in front of backslash 353s ignores when too much space in front of backslash after `__END__` 353s registers no offense with zero spaces in front of backslash 353s ignores heredocs and comments 353s registers an offense when many spaces in front of backslash 353s EnforcedStyle: space 353s ignores heredocs and comments 353s ignores empty code 353s ignores when too much space in front of backslash after `__END__` 353s registers an offense when no space in front of backslash 353s marks the offense correctly when offense is not in first line 353s registers no offense with one space in front of backslash 353s registers an offense when too much space in front of backslash 353s 353s RuboCop::Cop::Naming::VariableName 353s when configured for snake_case 353s registers an offense for camel case when invoking method args 353s registers an offense for camel case in instance variable name 353s registers an offense for camel case local variables marked as unused 353s accepts assignment with indexing of self 353s accepts one symbol size local variables 353s registers an offense for correct + opposite 353s registers an offense for rest arguments 353s accepts assigning to camel case constant 353s registers an offense for block arguments 353s registers an offense for default method arguments 353s accepts screaming snake case globals 353s accepts local variables marked as unused 353s registers an offense for camel case in class variable name 353s registers an offense for method arguments 353s registers an offense for keyword arguments 353s registers an offense for keyword rest arguments 353s accepts screaming snake case constants 353s registers an offense for camel case in local variable name 353s when AllowedPatterns is set 353s does not register an offense for a instance variable name that matches the allowed pattern 353s does not register an offense for a class variable name that matches the allowed pattern 353s does not register an offense for a symbol that matches the allowed pattern 353s does not register an offense for a local variable name that matches the allowed pattern 353s does not register an offense for a method name that matches the allowed pattern 353s does not register an offense for a global variable name that matches the allowed pattern 353s when AllowedIdentifiers is set 353s does not register an offense for a instance variable name that is allowed 353s does not register an offense for a local variable name that is allowed 353s does not register an offense for a method name that is allowed 353s does not register an offense for a symbol that is allowed 353s does not register an offense for a global variable name that is allowed 353s does not register an offense for a class variable name that is allowed 353s when configured for camelCase 353s accepts camel case in class variable name 353s registers an offense for rest arguments 353s accepts assignment with indexing of self 353s accepts with non-ascii characters 353s accepts assigning to camel case constant 353s accepts screaming snake case constants 353s registers an offense for keyword rest arguments 353s registers an offense for block arguments 353s accepts camel case local variables marked as unused 353s accepts one symbol size local variables 353s accepts local variables marked as unused 353s registers an offense for keyword arguments 353s registers an offense for snake case in local variable name 353s accepts screaming snake case globals 353s registers an offense for camel case when invoking method args 353s registers an offense for default method arguments 353s registers an offense for opposite + correct 353s registers an offense for snake case in method parameter 353s accepts camel case in local variable name 353s accepts camel case in instance variable name 353s when AllowedIdentifiers is set 353s does not register an offense for a symbol that is allowed 353s does not register an offense for a global variable name that is allowed 353s does not register an offense for a local variable name that is allowed 353s does not register an offense for a class variable name that is allowed 353s does not register an offense for a instance variable name that is allowed 353s does not register an offense for a method name that is allowed 353s when AllowedPatterns is set 353s does not register an offense for a instance variable name that matches the allowed pattern 353s does not register an offense for a method name that matches the allowed pattern 353s does not register an offense for a global variable name that matches the allowed pattern 353s does not register an offense for a local variable name that matches the allowed pattern 353s does not register an offense for a class variable name that matches the allowed pattern 353s does not register an offense for a symbol that matches the allowed pattern 353s 353s RuboCop::Cop::Style::MultilineIfModifier 353s unless guard clause 353s registers an offense when indented 353s allows a multiline condition 353s allows a one liner 353s registers an offense 353s if guard clause 353s registers an offense 353s allows a multiline condition 353s registers an offense when indented 353s allows a one liner 353s 353s RuboCop::Formatter::ClangStyleFormatter 353s #report_file 353s displays text containing the offending source line 353s when the source line is blank 353s does not display offending source line 353s when the offense is automatically corrected 353s prints [Corrected] along with message 353s when the source contains multibyte characters 353s displays text containing the offending source line 353s when the offense is correctable 353s prints message as-is 353s when the offense is not corrected 353s prints message as-is 353s when the offending source spans multiple lines 353s displays the first line with ellipses 353s 353s RuboCop::Cop::Lint::InterpolationCheck 353s does not register an offense for escaped crab claws in dstr 353s registers an offense for interpolation in double + single quoted split string 353s does not register an offense for properly interpolation strings 353s does not register an offense for an escaped interpolation 353s registers an offense for interpolation in single quoted split string 353s does not register an offense for interpolation in nested strings 353s registers an offense and corrects for interpolation in single quoted string 353s does not register offense for strings in %w() 353s does not register an offense for interpolation in a regexp 353s does not crash for \xff 353s registers an offense and corrects when including interpolation and double quoted string in single quoted string 353s 353s RuboCop::Cop::InternalAffairs::OffenseLocationKeyword 353s does not register an offense when the `loc` is on a child node 353s does not register an offense when the `loc` is on a different node 353s when `node.loc.selector` is passed 353s registers an offense if message argument is passed 353s registers an offense 353s 353s RuboCop::Cop::Style::ZeroLengthPredicate 353s when inspecting a File::Stat object 353s does not register an offense with ::File 353s does not register an offense 353s with collection variables 353s registers an offense for `0 != collection.size` 353s registers an offense for `collection.size != 0` 353s registers an offense for `collection.size == 0` 353s registers an offense for `0 == collection.size` 353s when inspecting a Tempfile object 353s does not register an offense with top-level ::Tempfile 353s does not register an offense 353s with arrays 353s registers an offense for `0 < array.length 353s registers an offense for `array.length != 0` 353s registers an offense for `0 != array.size` 353s registers an offense for `1 > array.length` 353s registers an offense for `array.size < 1` 353s registers an offense for `array.length > 0` 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.length` 353s registers an offense for `1 > array.size` 353s registers an offense for `array.length == 0` 353s registers an offense for `array.length < 1` 353s registers an offense for `array.size == 0` 353s registers an offense for `0 == array.size` 353s registers an offense for `array.size != 0` 353s with hashes 353s registers an offense for `0 == hash.size 353s registers an offense for `0 != hash.size` 353s registers an offense for `hash.size == 0` 353s registers an offense for `hash.size != 0` 353s when name of the variable is `size` or `length` 353s accepts inequality check 353s accepts comparison 353s accepts equality check 353s with strings 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 registers an offense for `string.size == 0` 353s when inspecting a StringIO object 353s when initialized with a string 353s does not register an offense 353s does not register an offense with top-level ::StringIO 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::Style::EvenOdd 353s converts x % 2 == 1 to #odd? 353s converts x % 2 == 0 to #even? 353s converts (x % 2) == 0 to #even? 353s converts x._(y) % 2 != 1 to even? 353s accepts x % 2 == 2 353s converts 1 % 2 != 1 to even? 353s converts (x % 2) != 0 to #odd? 353s converts (x._(y)) % 2 != 1 to even? 353s converts (y % 2) != 1 to #even? 353s accepts x % 3 == 0 353s converts x % 2 != 1 to #even? 353s converts (x % 2) == 1 to #odd? 354s converts (x.y % 2) != 1 to #even? 354s converts complex examples 354s converts (x._(y) % 2) != 1 to even? 354s accepts x % 3 != 0 354s converts (x(y) % 2) != 1 to #even? 354s converts x % 2 != 0 to #odd? 354s 354s RuboCop::Cop::Style::Proc 354s registers an offense for ::Proc.new 354s registers an offense for a Proc.new call 354s accepts the Proc.new call without block 354s accepts the ::Proc.new call without block 354s Ruby 2.7 354s registers an offense for a Proc.new call 354s 354s RuboCop::Cop::Layout::EmptyLinesAroundExceptionHandlingKeywords 354s registers an offense for rescue section ending with a blank 354s accepts last `rescue` and `end` are on the same line 354s registers an offense for rescue section starting with a blank 354s accepts `def` and `rescue` are on the same line 354s accepts empty method definition 354s with complex method definition - registers many offenses 354s with complex begin-end - registers many offenses 354s accepts no empty line 354s registers an offense for rescue section ending for method definition a blank 354s accepts `rescue` and `end` are on the same line 354s accepts empty begin 354s registers an offense for above rescue keyword with a blank 354s accepts empty lines around begin body 354s accepts `begin` and `rescue` are on the same line 354s 354s RuboCop::Cop::Layout::SingleLineBlockChain 354s does not register an offense for method call chained on a new line after a single line block 354s does not register an offense for method call chained on a new line after a single line block with trailing dot 354s registers an offense for no selector method call chained on the same line as a block 354s does not register an offense for method call chained on the same line as a multiline block 354s registers an offense for method call chained on the same line as a block 354s does not register an offense for method call chained without a dot 354s 354s RuboCop::Cop::Lint::RedundantCopEnableDirective 354s registers correct offense when combined with necessary enable 354s registers offense and corrects unnecessary enable 354s registers multiple offenses and corrects the same comment 354s registers offense and corrects redundant enabling of same cop 354s registers an offense and corrects when the first cop is unnecessarily enabled 354s registers correct offense when combined with necessary enable, no white-space after comma 354s when last cop is unnecessarily enabled 354s registers an offense and corrects when there is no space between the cops and the comma 354s registers an offense and corrects 354s all switch 354s registers offense and corrects unnecessary enable all 354s when at least one cop was disabled 354s does not register offense 354s when all cops are unnecessarily enabled 354s on separate lines 354s registers an offense and corrects when there is extra white space 354s on the same line 354s registers an offense and corrects 354s when middle cop is unnecessarily enabled 354s registers an offense and corrects when there is extra white space 354s registers an offense and corrects 354s when cop is disabled in the configuration 354s registers an offense if enabling it twice 354s registers no offense when enabling the cop 354s when all department enabled 354s registers multiple offenses and corrects the same comment 354s registers offense and corrects unnecessary enable 354s registers offense and corrects redundant enabling of same department 354s registers offense and corrects redundant enabling of cop of same department 354s registers correct offense when combined with necessary enable 354s registers an offense and corrects when the first department is unnecessarily enabled 354s registers offense and corrects redundant enabling of department of same cop 354s 354s RuboCop::Cop::Lint::IneffectiveAccessModifier 354s when `protected` is applied to a class method 354s registers an offense 354s when `private` is applied to a class method 354s registers an offense 354s when there is `begin` before a method definition 354s does not register an offense 354s when `private_class_method` is used 354s when `private_class_method` does not contain the method 354s registers an offense 354s when `private_class_method` contains all private method names 354s doesn't register an offense 354s when there is an intervening instance method 354s still registers an offense 354s when a `class << self` block is used 354s doesn't register an offense 354s when no access modifier is used 354s doesn't register an offense 354s 354s RuboCop::Cop::Style::Not 354s uses the reverse operator when `not` is applied to a comparison 354s parenthesizes when `not` is applied to a ternary op 354s parenthesizes when `not` is applied to or 354s autocorrects "not" with ! 354s registers an offense for not 354s parenthesizes when `not` is applied to and 354s does not register an offense for ! 354s autocorrects "not" followed by parens with ! 354s parenthesizes when `not` would change the meaning of a binary exp 354s 354s RuboCop::Cop::Layout::ConditionPosition 354s accepts condition on a different line for modifiers 354s registers an offense and corrects for condition on the next line 354s accepts condition on the same line 354s registers an offense and corrects for condition on the next line 354s accepts condition on a different line for modifiers 354s accepts condition on the same line 354s accepts ternary ops 354s registers an offense and corrects for condition on the next line 354s accepts condition on a different line for modifiers 354s registers an offense and corrects for elsif condition on the next line 354s accepts condition on the same line 354s registers an offense and corrects for condition on the next line 354s accepts condition on the same line 354s accepts condition on a different line for modifiers 354s 354s RuboCop::Cop::Style::CaseLikeIf 354s does not register an offense when using `match?` in first branch with non regexp 354s does not register an offense when using `==` with class reference 354s registers an offense and corrects when using `==` with constant 354s registers an offense and corrects when using nested conditions with `||` 354s registers an offense and corrects when using `include?` with range 354s registers an offense and corrects when using `=~` 354s registers an offense and corrects when using `match?` with regexp 354s does not register an offense when using `==` with constant containing 1 letter in name 354s registers an offense and corrects when using `===` 354s registers an offense and corrects when using `==` with literal 354s registers an offense and corrects when using `match?` with non regexp in other branches except first 354s does not register an offense when one of the branches contains `==` with class reference 354s does not register an offense when only `if-else` 354s does not register an offense when using `=~` in first branch with non regexp 354s registers an offense and corrects when using `||` within conditions 354s does not register an offense when using ternary operator 354s does not register an offense when using `unless` 354s does not register an offense when using `match?` with non regexp 354s does not register an offense when not all conditions contain target 354s does not register an offense when only single `if` 354s does not register an offense when an object overrides `equal?` with no arity 354s registers an offense and corrects when target is a method call 354s does not register an offense when using `==` with method call with arguments 354s does not register an offense when using `match?` without a receiver 354s does not register an offense when using modifier `if` 354s does not register an offense when using `equal?` without a receiver 354s registers an offense and corrects when using `is_a?` 354s does not register an offense when using `include?` without a receiver 354s does not register an offense when using `cover?` without a receiver 354s does not register an offense when one of `||` subconditions is not convertible 354s when using regexp with named captures 354s does not register an offense with match and regexp on rhs 354s registers and corrects an offense with =~ and regexp on rhs 354s registers and corrects an offense with match? and regexp on lhs 354s does not register an offense with match and regexp on lhs 354s registers and corrects an offense with match? and regexp on rhs 354s does not register an offense with =~ and regexp on lhs 354s 354s RuboCop::Cop::InternalAffairs::RedundantMethodDispatchNode 354s does not register an offense when using `node.method_name` 354s does not register an offense when using `node.receiver` 354s registers an offense when using `node.send_node.method_name` 354s registers an offense when using `node.send_node.receiver` 354s does not register an offense when using `send_node.method_name` 354s does not register an offense when using `node.send_node.arguments?` 354s 354s RuboCop::Cop::Layout::SpaceInsideParens 354s when EnforcedStyle is space 354s accepts parentheses with line break 354s accepts parentheses with comment and line break 354s accepts empty parentheses without spaces 354s registers an offense for no space around heredoc start 354s registers an offense for space inside empty parens 354s registers an offense for no spaces inside parens 354s registers an offense in block parameter list with no spaces 354s accepts parentheses with spaces 354s when EnforcedStyle is no_space 354s accepts parentheses with line break 354s accepts parentheses with no spaces 354s registers an offense for spaces inside parens 354s accepts parentheses in block parameter list 354s registers an offense for space around heredoc start 354s accepts parentheses with comment and line break 354s when EnforcedStyle is compact 354s registers multiple offense for a missing and extra space between consecutive brackets 354s accepts empty parentheses without spaces 354s registers an offense for space between consecutive brackets 354s accepts parentheses with spaces 354s accepts three consecutive right parentheses 354s registers an offense in block parameter list with no spaces 354s accepts parentheses with comment and line break 354s registers an offense for no spaces inside parens 354s registers an offense for no space around heredoc start 354s registers an offense for space inside empty parens 354s accepts three consecutive left parentheses 354s accepts two consecutive left parentheses 354s accepts two consecutive right parentheses 354s accepts parentheses with line break 354s 354s RuboCop::CommentConfig 354s #cop_enabled_at_line? 354s supports disabling cops with multiple levels in department name 354s does not confuse a cop name including "all" with all cops 354s supports disabling cops with multiple uppercase letters 354s supports disabling cops with numbers in their name 354s supports enabling/disabling multiple cops along with a comment 355s supports disabling all cops except Lint/RedundantCopDisableDirective with keyword all 355s supports disabling all lines after a directive 356s supports enabling/disabling multiple cops in a single directive 356s supports disabling multiple lines with a pair of directive 356s supports disabling cops on a comment line with an EOL comment 356s supports enabling/disabling cops without a prefix 356s does not confuse a comment directive embedded in a string literal with a real comment 356s can handle double disable of one cop 356s just ignores unpaired enabling directives 356s supports disabling single line with a directive at end of line 356s handles indented single line 356s #extra_enabled_comments 356s has keys as instances of Parser::Source::Comment for extra enabled comments 356s has values as arrays of extra enabled cops 356s #cop_disabled_line_ranges 356s collects line ranges by disabled cops 356s comment_only_line? 356s when line is empty 356s returns true 356s when line contains code and comment 356s returns false 356s when line contains only code 356s returns false 356s returns false 356s returns false 356s returns false 356s when line contains only comment 356s returns true 356s returns true 356s 356s RuboCop::Cop::Security::YAMLLoad 356s does not register an offense for YAML.load under a different namespace 356s registers an offense and corrects load with a literal string 356s registers an offense and corrects a fully qualified ::YAML.load 356s does not register an offense for YAML.dump 356s Ruby >= 3.1 356s does not register an offense and corrects a fully qualified `::YAML.load` 356s does not register an offense and corrects load with a literal string 356s 356s RuboCop::Cop::Style::IdenticalConditionalBranches 356s on case without else 356s doesn't register an offense 356s on case with identical leading lines 356s registers and corrects an offense 356s on if..else with slightly different trailing lines 356s doesn't register an offense 356s on if..else with identical leading lines 356s registers and corrects an offense 356s on case..when with identical bodies and assigning to a variable used in `case` condition 356s doesn't register an offense 356s on if..else with identical trailing lines 356s registers and corrects an offense 356s when one of the case branches is empty 356s does not register an offense 356s when using pattern matching 356s on case-match with identical bodies 356s registers an offense and corrects 356s on case..in with identical bodies and assigning to a variable used in `case` condition 356s doesn't register an offense 356s on case-match with empty when 356s doesn't register an offense 356s on case-match with identical leading lines 356s registers and corrects an offense 356s on case-match without else 356s doesn't register an offense 356s on case-match with identical trailing lines 356s registers and corrects an offense 356s when one of the case-match branches is empty 356s does not register an offense 356s on if..else with identical bodies 356s registers and corrects an offense 356s on if..elsif with no else 356s doesn't register an offense 356s on case with identical bodies 356s registers an offense and corrects 356s on case with empty when 356s doesn't register an offense 356s on case with identical trailing lines 356s registers and corrects an offense 356s with a ternary 356s registers an offense 356s on if..else with identical bodies and assigning to a variable used in `if` condition 356s doesn't register an offense 356s with empty brace 356s does not raise any error 356s 356s RuboCop::Cop::Lint::BooleanSymbol 356s does not register an offense when using regular symbol 356s does not register an offense when used inside percent-literal symbol array 356s does not register an offense when using `true` 356s does not register an offense when using `false` 356s registers an offense when using `:false` 356s registers an offense when using `:true` 356s when using the new hash syntax 356s registers an offense when using `false:` 356s registers an offense when using `true:` 356s registers an offense when using `key: :false` 356s 356s RuboCop::Cop::Naming::AsciiIdentifiers 356s when AsciiConstants is true 356s does not get confused by a byte order mark 356s accepts identifiers with only ascii chars 356s registers an offense for a constant name with non-ascii chars 356s registers an offense for a variable name with mixed chars 356s registers an offense for a variable name with non-ascii chars 356s does not get confused by an empty file 356s when AsciiConstants is false 356s accepts constants with only ascii chars 356s does not get confused by a byte order mark 356s registers an offense for a variable name with non-ascii chars 356s registers an offense for a variable name with mixed chars 356s accepts identifiers with only ascii chars 356s does not get confused by an empty file 356s 356s RuboCop::Cop::Gemspec::DeprecatedAttributeAssignment 356s behaves like deprecated attributes 356s does not register an offense when using `s.rubygems_version =` outside `Gem::Specification.new` 356s registers and corrects an offense when using `spec.rubygems_version =` 356s registers and corrects an offense when using `s.rubygems_version =` 356s does not register an offense when using `rubygems_version =` and receiver is not `Gem::Specification.new` block variable 356s behaves like deprecated attributes 356s does not register an offense when using `rubygems_version =` and receiver is not `Gem::Specification.new` block variable 356s does not register an offense when using `s.rubygems_version =` outside `Gem::Specification.new` 356s registers and corrects an offense when using `s.rubygems_version =` 356s registers and corrects an offense when using `spec.rubygems_version =` 356s behaves like deprecated attributes 356s does not register an offense when using `rubygems_version =` and receiver is not `Gem::Specification.new` block variable 356s does not register an offense when using `s.rubygems_version =` outside `Gem::Specification.new` 356s registers and corrects an offense when using `s.rubygems_version =` 356s registers and corrects an offense when using `spec.rubygems_version =` 356s behaves like deprecated attributes with addition 356s registers and corrects an offense when using `spec.rubygems_version +=` 356s registers and corrects an offense when using `s.rubygems_version +=` 356s behaves like deprecated attributes 356s does not register an offense when using `s.rubygems_version =` outside `Gem::Specification.new` 356s registers and corrects an offense when using `s.rubygems_version =` 356s registers and corrects an offense when using `spec.rubygems_version =` 356s does not register an offense when using `rubygems_version =` and receiver is not `Gem::Specification.new` block variable 356s 356s RuboCop::Cop::Style::RedundantFetchBlock 356s with SafeForConstants: true 356s does not register an offense when using `#fetch` with String in the block and strings are not frozen 356s registers an offense and corrects when using `#fetch` with Integer in the block 356s does not register an offense when using `#fetch` with interpolated Symbol in the block 356s registers an offense and corrects when using `#fetch` with Complex in the block 356s does not register an offense when using `#fetch` with argument fallback 356s registers an offense and corrects when using `#fetch` with empty block 356s does not register an offense when using `#fetch` with an argument in the block 356s registers an offense and corrects when using `#fetch` with Rational in the block 356s registers an offense and corrects when using `#fetch` with Symbol in the block 356s registers an offense and corrects when using `#fetch` with String in the block and strings are frozen 356s does not register an offense when using `#fetch` with `Rails.cache` 356s registers an offense and corrects when using `#fetch` with constant in the block 356s registers an offense and corrects when using `#fetch` with Float in the block 356s with SafeForConstants: false 356s does not register an offense when using `#fetch` with constant in the block 356s 356s RuboCop::Cop::Metrics::PerceivedComplexity 356s when Max is 2 356s counts stupid nested if and else blocks 356s when AllowedPatterns is enabled 356s does not register an offense when defining an instance method 356s does not register an offense when defining a class method 356s does not register an offense when using `define_method` 356s when Max is 1 356s counts known iterating block 356s registers an offense for a for block 356s counts else in a case with no argument 356s accepts complex code outside of methods 356s registers an offense for elsif and else blocks 356s deals with nested if blocks containing && and || 356s registers an offense for a while block 356s accepts a method with no decision points 356s registers an offense for an unless modifier 356s registers an offense for a case/when block 356s accepts an empty method 356s registers an offense for && 356s registers an offense for a rescue block 356s registers an offense for a ternary operator 356s registers an offense for an if modifier 356s accepts an empty `define_method` 356s registers an offense for and 356s registers an offense for a `define_method` 356s registers an offense for || 356s registers an offense for or 356s does not count unknown block calls 356s registers an offense for an until block 356s registers an offense for a case/when block without an expression after case 356s counts only a single method 356s when AllowedMethods is enabled 356s does not register an offense when defining a class method 356s does not register an offense when using `define_method` 356s does not register an offense when defining an instance method 356s 356s RuboCop::Cop::Gemspec::RequiredRubyVersion 356s registers an offense when `required_ruby_version` is blank 356s registers an offense when `required_ruby_version` is not specified 356s registers an offense when `required_ruby_version` is an empty array 356s target ruby version > 2.6 356s registers an offense when `required_ruby_version` is specified with >= and is higher than `TargetRubyVersion` 356s registers an offense when `required_ruby_version` is specified with ~> and is higher than `TargetRubyVersion` 356s target ruby version > 2.7 356s registers an offense when `required_ruby_version` is specified with ~> without a minor version and is lower than `TargetRubyVersion` 356s does not register an offense when `required_ruby_version` is specified with >= and equals `TargetRubyVersion` 356s does not register an offense when `required_ruby_version` is specified with >= without a patch version and equals `TargetRubyVersion` 356s does not register an offense when `required_ruby_version` is specified with ~> without a patch version and equals `TargetRubyVersion` 356s does not register an offense when lowest version of `required_ruby_version` equals `TargetRubyVersion` 356s registers an offense when `required_ruby_version` is specified with >= without a minor version and is lower than `TargetRubyVersion` 356s does not register an offense when `required_ruby_version` is specified with ~> and equals `TargetRubyVersion` 356s target ruby version > 2.7 356s registers an offense when `required_ruby_version` is specified with ~> and is lower than `TargetRubyVersion` 356s recognizes Gem::Requirement and registers offense 356s registers an offense when `required_ruby_version` is specified with >= and is lower than `TargetRubyVersion` 356s recognizes a Gem::Requirement with multiple requirements and does not register an offense 356s registers an offense when `required_ruby_version` is specified in array and is lower than `TargetRubyVersion` 356s false negatives 356s does not register an offense when `required_ruby_version` is assigned as a variable (an array of string literal) 356s does not register an offense when `required_ruby_version` is assigned as a variable (string literal) 356s 356s RuboCop::Cop::Layout::RedundantLineBreak 356s when InspectBlocks is true 356s for an expression that does not fit on a single line 357s accepts a method call on a multiple lines 357s with a longer max line length 357s registers an offense for a method call with a do keyword that is just under the max line length 357s accepts an assignment containing a method definition 357s accepts a method call followed by binary operations that are too long taken together 357s accepts an assignment containing a heredoc 357s accepts method call with a do keyword that would just surpass the max line length 357s accepts a complex method call on a multiple lines 357s for a block 357s accepts when it is difficult to convert to single line 357s for a block 357s registers an offense when the method call has no arguments 357s registers an offense when the method call has parentheses 357s when Layout/SingleLineBlockChain is enabled 357s reports an offense for a multiline block without a chained method call 357s when Layout/SingleLineBlockChain is disabled 357s reports an offense for a multiline block without a chained method call 357s reports an offense for a method call chained onto a multiline block 357s for an expression that fits on a single line 357s accepts a method call on a single line 357s accepts a method call with a block 357s registers an offense for a method call with a double quoted split string without parentheses 357s registers an offense for a method call with a double quoted split string in parentheses 357s registers an offense for a method call with a split operation 357s accepts an assignment containing an if expression 357s registers an offense for a method call on multiple lines with backslash 357s accepts a method call on multiple lines if there are comments on them 357s registers an offense for a method call with a double and single quoted split string 357s accepts an assignment containing a begin-end expression 357s accepts an assignment containing a case expression 357s registers an offense for a method call on multiple lines 357s registers an offense for a method call on multiple lines inside a block 357s registers an offense for a method call with a single quoted split string 357s registers an offense for a method call as right hand side of an assignment 357s accepts a binary expression containing an if expression 357s method chains 357s properly corrects a method chain on multiple lines 357s registers an offense and corrects with a arguments on multiple lines 357s registers an offense and corrects with a string argument on multiple lines 357s does not register an offense with a heredoc argument 357s with LineLength Max 100 357s registers an offense for a method without parentheses on multiple lines 357s when Layout/SingleLineBlockChain is disabled 357s reports an offense for a method call chained onto a single line block 357s when Layout/SingleLineBlockChain is enabled 357s accepts a method call chained onto a single line block 357s when InspectBlocks is false 357s when Layout/SingleLineBlockChain is enabled 357s accepts a method call chained onto a single line block 357s for an expression that does not fit on a single line 357s accepts a method call on a multiple lines 357s with a longer max line length 357s accepts a method call followed by binary operations that are too long taken together 357s accepts an assignment containing a heredoc 357s registers an offense for a method call with a do keyword that is just under the max line length 357s accepts method call with a do keyword that would just surpass the max line length 357s accepts an assignment containing a method definition 357s accepts a complex method call on a multiple lines 357s for a block 357s accepts when it is difficult to convert to single line 357s for a block 357s accepts when the method call has parentheses 357s accepts when the method call has no arguments 357s when Layout/SingleLineBlockChain is enabled 357s accepts a multiline block without a chained method call 357s when Layout/SingleLineBlockChain is disabled 357s accepts a method call chained onto a multiline block 357s accepts a multiline block without a chained method call 357s for an expression that fits on a single line 357s accepts a binary expression containing an if expression 357s accepts an assignment containing a begin-end expression 357s registers an offense for a method call with a double and single quoted split string 357s registers an offense for a method call on multiple lines inside a block 357s registers an offense for a method call on multiple lines 357s registers an offense for a method call with a double quoted split string in parentheses 357s registers an offense for a method call with a split operation 357s registers an offense for a method call as right hand side of an assignment 357s accepts an assignment containing a case expression 357s accepts a method call with a block 357s accepts an assignment containing an if expression 357s accepts a method call on a single line 357s registers an offense for a method call on multiple lines with backslash 357s accepts a method call on multiple lines if there are comments on them 357s registers an offense for a method call with a double quoted split string without parentheses 357s registers an offense for a method call with a single quoted split string 357s with LineLength Max 100 357s registers an offense for a method without parentheses on multiple lines 357s method chains 357s registers an offense and corrects with a string argument on multiple lines 357s does not register an offense with a heredoc argument 357s properly corrects a method chain on multiple lines 357s registers an offense and corrects with a arguments on multiple lines 357s when Layout/SingleLineBlockChain is disabled 357s reports an offense for a method call chained onto a single line block 357s 357s RuboCop::Cop::Layout::EmptyLineAfterMultilineCondition 357s does not register an offense when new line after `elsif` with multiline condition 357s does not register an offense for `while` with single line condition 357s registers an offense when no new line after `if` with multiline condition 357s registers an offense when no new line after `elsif` with multiline condition 357s does not register an offense when new line after modifier `while` with multiline condition 357s does not register an offense for `when` with singleline condition 357s does not register an offense when modifier `if` with multiline conditionis the last child of its parent 357s does not register an offense when `if` at the top level 357s registers an offense when no new line after modifier `while` 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 `when` with multiline condition 357s does not register an offense when modifier `while` with multiline conditionis the last child of its parent 357s registers an offense when no new line after `until` with multiline condition 357s registers an offense when no new line after `rescue` with multiline exceptions 357s does not register an offense for `if` with single line condition 357s does not register an offense for `rescue` with singleline exceptions 357s does not register an offense when new line after `while` with multiline condition 357s registers an offense when no new line after `while` with multiline condition 357s registers an offense when no new line after modifier `if` with multiline condition 357s does not register an offense when new line after modifier `if` with multiline condition 357s does not register an offense when new line after `rescue` with multiline exceptions 357s does not register an offense when new line after `if` with multiline condition 357s 357s RuboCop::Formatter::JUnitFormatter 357s #file_finished 357s displays end of parsable text 357s displays an offense for `classname='test_2` in parsable text 357s displays start of parsable text 357s displays a non-offense element in parsable text 357s displays an offense for `classname='test_1` in parsable text 357s 357s RuboCop::Cop::Style::QuotedSymbols 357s configured with `same_as_string_literals` 357s when Style/StringLiterals is disabled 357s behaves like enforce single quotes 357s accepts double quotes with single quotes 357s accepts double quotes with line breaks 357s registers an offense and corrects for double quotes without interpolation 357s accepts double quotes when unicode control sequence is used 357s accepts single quotes with line breaks 357s registers an offense and corrects for an escaped quote within double quotes 357s accepts single quoted symbol with an escaped quote 357s registers an offense and corrects for double quotes in hash keys 357s registers an offense and corrects escape characters properly 357s accepts double quotes when interpolating a class variable 357s accepts double quotes with some other special symbols 357s accepts single quotes 357s accepts double quotes when control characters are used 357s accepts double quotes with interpolation 357s accepts double quotes when interpolating an instance variable 357s accepts double quotes when interpolating a global variable 357s accepts single quotes with double quotes 357s accepts double quotes with escape sequences 357s accepts unquoted symbols 357s hash with hashrocket style 357s corrects wrong quotes 357s accepts properly quoted symbols 357s when Style/StringLiterals is configured with single_quotes 357s behaves like enforce single quotes 357s accepts double quotes when interpolating a class variable 357s accepts double quotes with some other special symbols 357s accepts double quotes when interpolating an instance variable 357s accepts double quotes when interpolating a global variable 357s accepts single quotes with line breaks 357s registers an offense and corrects for double quotes in hash keys 357s accepts unquoted symbols 357s accepts single quotes with double quotes 357s accepts double quotes with single quotes 357s accepts single quoted symbol with an escaped quote 357s accepts double quotes with interpolation 357s registers an offense and corrects for an escaped quote within double quotes 357s registers an offense and corrects escape characters properly 357s accepts double quotes with escape sequences 358s accepts single quotes 358s registers an offense and corrects for double quotes without interpolation 358s accepts double quotes when control characters are used 358s accepts double quotes when unicode control sequence is used 358s accepts double quotes with line breaks 358s hash with hashrocket style 358s accepts properly quoted symbols 358s corrects wrong quotes 358s when Style/StringLiterals is configured with double_quotes 358s behaves like enforce double quotes 358s accepts double quotes when interpolating an instance variable 358s accepts double quotes with escape sequences 358s registers an offense for single quotes 358s accepts double quotes with line breaks 358s accepts double quotes when interpolating a class variable 358s accepts double quotes with single quotes 358s registers an offense and corrects escape characters properly 358s accepts double quotes when interpolating a global variable 358s accepts single quotes with line breaks 358s accepts double quoted symbol with an escaped quote 358s accepts double quotes with interpolation 358s accepts single quotes with double quotes 358s accepts double quotes 358s registers an offense and corrects for an escaped quote within single quotes 358s accepts unquoted symbols 358s hash with hashrocket style 358s corrects wrong quotes 358s accepts properly quoted symbols 358s configured with `double_quotes` 358s behaves like enforce double quotes 358s accepts double quoted symbol with an escaped quote 358s accepts double quotes with line breaks 358s accepts double quotes when interpolating an instance variable 358s accepts double quotes with single quotes 358s accepts double quotes when interpolating a class variable 358s accepts double quotes when interpolating a global variable 358s accepts single quotes with line breaks 358s registers an offense for single quotes 358s accepts double quotes with interpolation 358s registers an offense and corrects escape characters properly 358s accepts single quotes with double quotes 358s registers an offense and corrects for an escaped quote within single quotes 358s accepts double quotes 358s accepts double quotes with escape sequences 358s accepts unquoted symbols 358s hash with hashrocket style 358s corrects wrong quotes 358s accepts properly quoted symbols 358s configured with `single_quotes` 358s behaves like enforce single quotes 358s registers an offense and corrects for an escaped quote within double quotes 358s accepts double quotes with some other special symbols 358s accepts double quotes when interpolating an instance variable 358s accepts double quotes when unicode control sequence is used 358s accepts double quotes when interpolating a global variable 358s accepts double quotes when control characters are used 358s accepts single quotes with double quotes 358s accepts single quotes with line breaks 358s registers an offense and corrects for double quotes without interpolation 358s registers an offense and corrects escape characters properly 358s accepts double quotes with interpolation 358s accepts double quotes when interpolating a class variable 358s accepts double quotes with escape sequences 358s accepts single quotes 358s accepts unquoted symbols 358s accepts single quoted symbol with an escaped quote 358s accepts double quotes with single quotes 358s registers an offense and corrects for double quotes in hash keys 358s accepts double quotes with line breaks 358s hash with hashrocket style 358s corrects wrong quotes 358s accepts properly quoted symbols 358s 358s RuboCop::Cop::AlignmentCorrector 358s #correct 358s simple indentation 358s with a negative column delta 358s outdents 358s with a positive column delta 358s indents 358s with single-line here docs 358s does not indent body and end marker 358s within string literals 358s does not insert whitespace 358s with large column deltas 358s with heredoc in backticks (<<``) 358s behaves like heredoc indenter 358s does not change indentation of here doc bodies and end markers 358s with plain heredoc (<<) 358s behaves like heredoc indenter 358s does not change indentation of here doc bodies and end markers 358s 358s RuboCop::Cop::Lint::IncompatibleIoSelectWithFiberScheduler 358s does not register an offense when using `IO.select` with multiple write arguments 358s registers and corrects an offense when using `IO.select` with single read argument 358s registers and corrects an offense when using `IO.select` with single read, `nil`, and timeout arguments 358s registers and corrects an offense when using `IO.select` with multiple read argument and specify the first argument only 358s does not register an offense when using `Enumerable#select` 358s registers and corrects an offense when using `IO.select` with single read and timeout arguments 358s registers and corrects an offense when using `IO.select` with single write and timeout arguments 358s registers and corrects an offense when using `::IO.select` with single read and timeout arguments 358s registers and corrects an offense when using `IO.select` with single read argument and specify the first argument only 358s does not register an offense when using `IO.select` with multiple read arguments 358s does not register an offense when using `IO.select` with read and write arguments 358s registers an offense when using `IO.select` with write argument and using return value but does not autocorrect 358s registers an offense when using `IO.select` with read argument and using return value but does not autocorrect 358s registers and corrects an offense when using `IO.select` with single write, `nil`, and timeout arguments 358s registers and corrects an offense when using `::IO.select` with single read argument 358s registers and corrects an offense when using `IO.select` with single write as `self` and timeout arguments 358s registers and corrects an offense when using `IO.select` with single write argument 358s registers and corrects an offense when using `IO.select` with single read as `self` and timeout arguments 358s 358s RuboCop::Cop::Lint::OrAssignmentToConstant 358s does not register an offense with or-assignment to a global variable 358s does not register an offense with or-assignment to an instance variable 358s does not register an offense with plain assignment to a constant 358s does not register an offense with or-assignment to an attribute 358s registers an offense with or-assignment to a constant 358s does not register an offense with or-assignment to a local variable 358s does not register an offense with or-assignment to a class variable 358s 358s RuboCop::Cop::Style::HashAsLastArrayItem 358s when EnforcedStyle is no_braces 358s does not register an offense when hash is not the last element 358s registers an offense and corrects when hash with braces and trailing comma and new line 358s registers an offense and corrects when hash with braces and trailing comma 358s does not register an offense when the array is all hashes 358s does not register an offense when hash without braces 358s does not register an offense when passing an implicit array to a setter 358s does not register an offense when the hash is empty 358s does not register an offense when hash is not inside array 358s registers an offense and corrects when hash with braces 358s when EnforcedStyle is braces 358s does not register an offense when the hash is empty 358s does not register an offense when hash with braces 358s does not register an offense when the array is all hashes 358s does not register an offense when using double splat operator 358s registers an offense and corrects when hash without braces 358s does not register an offense when hash is not inside array 358s 358s RuboCop::Cop::Layout::BlockEndNewline 358s accepts a one-liner 358s registers an offense and corrects when multiline block `}` is not on its own line and using method chain 358s registers an offense and corrects when multiline block `}` is not on its own line and using multiple heredoc argument method chain 358s registers an offense and corrects when multiline block `}` is not on its own line and using heredoc argument 358s registers an offense and corrects when multiline block `}` is not on its own line and using multiple heredoc arguments 358s registers an offense and corrects when a multiline block ends with a method call with hash arguments 358s registers an offense and corrects when multiline block `}` is not on its own line 358s registers an offense and corrects when multiline block `}` is not on its own line and using heredoc argument with method chain 358s registers an offense and corrects when multiline block end is not on its own line 358s accepts multiline blocks with newlines before the end 358s registers an offense and corrects when a multiline block ends with a hash 358s registers an offense and corrects when `}` of multiline block without processing is not on its own line 358s Ruby 2.7 358s registers an offense and corrects when multiline block `}` is not on its own line and using heredoc argument 358s registers an offense and corrects when multiline block `}` is not on its own line and using method chain 358s 358s RuboCop::Cop::Layout::SpaceAroundOperators 358s accepts an operator called with method syntax 358s accepts an assignment with the same alignment margins 358s registers an offense and corrects exclamation point negation 358s accepts ranges 358s accepts an assignment with spaces 358s accepts an operator at the end of a line 358s accepts argument default values without space 358s accepts unary operators without space 358s accepts scope operator 358s accepts a unary 358s accepts splat operator 358s accepts the result of the ExtraSpacing Cop 358s accepts exclamation point definition 358s accepts an operator at the beginning of a line 358s accepts an assignment followed by newline 358s accepts operator surrounded by tabs 358s accepts operators with spaces 358s accepts some operators that are exceptions & don't need spaces 358s accepts exponent operator without spaces 358s accepts [] without space 358s accepts operator symbols 358s accepts rational 358s accepts an assignment with a blank line 358s registers an offense and corrects singleton class operator` 358s accepts [arg] without space 358s accepts []= without space 358s accepts an assignment by `for` statement 358s accepts ::Kernel::raise 358s registers an offenses for exponent operator with spaces 358s accepts def of operator 358s when EnforcedStyleForExponentOperator is space 358s registers an offenses for exponent operator without spaces 358s >= Ruby 2.7 358s does not register an offenses for one-line pattern matching syntax (`in`) 358s extra space around operators 358s registers an offense and corrects a hash rocket with too many spaces 358s registers an offense and corrects equality operators with too many spaces 358s registers an offense and corrects hash rocket with too many spaces at rescue 358s does not register an offenses match operators between `+=` and `<<` 358s registers an offense and corrects a hash rocket with an extra spaceon multiple line 358s accepts for a hash rocket with an extra space for alignment on multiple line 358s registers an offense and corrects inheritance < with too many spaces 358s registers an offense and corrects a setter call with too many spaces 358s registers an offense and corrects match operators with too many spaces 358s registers an offense and corrects arguments to a method 358s does not register an offenses match operators between `<<` and `+=` 358s registers an offense and corrects ternary operator with too many spaces 358s registers an offense and corrects operators with too many spaces 358s registers an offense and corrects various assignments with too many spaces 358s registers an offense and corrects binary operators that could be unary 358s registers an offense and corrects `-` with too many spaces with negative lhs operand 358s registers an offense and corrects assignment with too many spaces on either side 358s registers an offense and corrects operators with too many spaces on the same line 358s behaves like modifier with extra space 358s registers an offense in presence of modifier unless statement 358s when does not allowed for alignment 358s registers an offense and corrects an extra space 358s behaves like modifier with extra space 358s registers an offense in presence of modifier if statement 358s behaves like modifier with extra space 358s registers an offense in presence of modifier until statement 358s behaves like modifier with extra space 358s registers an offense in presence of modifier while statement 358s >= Ruby 3.0 358s registers an offenses for one-line pattern matching syntax (`=>`) 358s when Layout/ExtraSpacing has `ForceEqualSignAlignment` configured to true 358s allows constants to be aligned 358s allows variables to be aligned 358s missing space around operators 358s doesn't register an offense for operators with newline on right 358s registers an offense and corrects match operators without space 358s registers an offense and corrects string concatenation without messing up new lines 358s registers an offense and corrects a setter call without spaces 358s registers an offense for binary operators that could be unary 358s registers an offense for operators without spaces 358s registers an offense for assignment without space on both sides 358s registers an offense and corrects equality operators without space 358s registers an offense and corrects inheritance < without space 358s registers an offense and corrects `-` without space with a negative lhs operand 358s registers an offense and corrects various assignments without space 358s registers an offense and corrects hash rocket without space at rescue 358s registers an offense and corrects arguments to a method 358s behaves like modifier with missing space 358s registers an offense in presence of modifier while statement 358s ternary operators 358s registers an offense and corrects operators with just a leading space 358s registers an offense and corrects operators with just a trailing space 358s registers an offense and corrects operators with no spaces 358s behaves like modifier with missing space 358s registers an offense in presence of modifier if statement 358s when a hash literal is on a single line 358s and Layout/HashAlignment:EnforcedHashRocketStyle is key 358s registers an offense and corrects a hash rocket without spaces 358s and Layout/HashAlignment:EnforcedHashRocketStyle is table 358s registers an offense and corrects a hash rocket without spaces 358s behaves like modifier with missing space 358s registers an offense in presence of modifier until statement 358s behaves like modifier with missing space 358s registers an offense in presence of modifier unless statement 358s when a hash literal is on multiple lines 358s and Layout/HashAlignment:EnforcedHashRocketStyle is table 358s doesn't register an offense for a hash rocket without spaces 358s and Layout/HashAlignment:EnforcedHashRocketStyle is key 358s registers an offense and corrects a hash rocket without spaces 358s 358s RuboCop::Cop::Style::TrailingUnderscoreVariable 358s configured to not allow named underscore variables 358s registers an offense for named variables that start with an underscore 358s registers an offense when underscore is the second to last variable and blank is the last variable 358s does not register an offense when there are no underscores 358s does not register an offense for underscores at the beginning 358s does not register an offense for multiple named underscores preceded by a splat variable 358s does not register an offense for a named underscore preceded by a splat variable 358s registers an offense for an underscore preceded by a named splat underscore 358s does not register an offense for a named underscore variable preceded by a splat variable 358s registers an offense for nested assignments with trailing underscores 358s registers an offense for a named splat underscore as the last variable 358s does not register an offense for multiple underscores preceded by a splat variable 358s registers an offense for splat underscore as the last variable 358s registers an offense for multiple underscore variables preceded by a named splat underscore variable 358s registers an offense for complex nested assignments with trailing underscores 358s registers an offense when multiple underscores are used as the last variables of parallel assignment 358s does not register an offense for an underscore preceded by a splat variable 358s registers an offense for multiple underscore variables preceded by a splat underscore variable 358s does not register an offense for nested assignments without trailing underscores 358s registers an offense for an underscore variable preceded by a named splat underscore variable 358s does not register an offense for an underscore preceded by a splat variable and another underscore 358s does not register an offense for complex nested assignments without trailing underscores 359s does not register an offense for a named variable preceded by a names splat underscore variable 359s registers an offense when the last variable of parallel assignment is an underscore 359s registers an offense for an underscore as the last param when there is also an underscore as the first param 359s registers an offense when underscore is the only variable in parallel assignment 359s does not register an offense for an underscore preceded by a splat variable anywhere in the argument chain 359s autocorrect 359s with parentheses 359s leaves parentheses but removes trailing underscores and commas 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 configured to allow named underscore variables 359s does not register an offense for an underscore variable preceded by a named splat underscore 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 a named underscore variable preceded by a splat variable 359s registers an offense for complex nested assignments with trailing underscores 359s does not register an offense when there are no underscores 359s registers an offense when underscore is the only variable in parallel assignment 359s does not register an offense for multiple underscore variables preceded by a named splat underscore variable 359s does not register an offense for an underscore preceded by a splat variable and another underscore 359s does not register an offense for multiple 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 does not register an offense for named variables that start with an underscore 359s registers an offense for splat underscore as the last variable 359s does not register an offense for complex nested assignments without trailing underscores 359s registers an offense for nested assignments with trailing underscores 359s does not register an offense for an underscore preceded by a splat variable 359s registers an offense when the last variable of parallel assignment is an underscore 359s does not register an offense for an underscore preceded by a splat variable anywhere in the argument chain 359s registers an offense when multiple underscores are used as the last variables of parallel assignment 359s does not register an offense for a named variable preceded by a names splat underscore variable 359s does not register an offense for multiple named underscores preceded by a splat variable 359s does not register an offense for a named 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 splat underscore variable 359s does not register an offense for underscores at the beginning 359s autocorrect 359s with parentheses 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 removes assignment part when every assignment is to `_` 359s 359s RuboCop::Cop::Layout::ElseAlignment 359s accepts a ternary if 359s ensure/rescue/else in Block Argument 359s accepts a correctly aligned else 359s accepts a correctly aligned else with assignment 359s registers an offense for misaligned else 359s with if statement 359s registers an offense for misaligned else 359s accepts indentation after else when if is on new line after assignment 359s accepts a correctly aligned if/elsif/else/end 359s accepts an if/else branches with rescue clauses 359s registers an offense for misaligned elsif 359s accepts a one line if statement 359s with assignment 359s when alignment style is variable 359s and end is aligned with variable 359s accepts an if-else with end aligned with setter 359s accepts an if with end aligned with element assignment 359s accepts an if/else 359s accepts an if/else with chaining with a block after the end 359s accepts an if/else with chaining after the end 359s accepts an if-elsif-else with end aligned with setter 359s and end is aligned with keyword 359s registers an offense for an if with element assignment 359s registers offenses for an if with setter 359s registers an offense for an if 359s when alignment style is keyword by choice 359s and end is aligned with keyword 359s accepts an if/else in assignment 359s accepts an until in assignment 359s accepts a while in assignment 359s accepts an if/else in assignment on next line 359s accepts an if in assignment 359s and end is aligned with variable 359s registers an offense for an if 359s for a file with byte order mark 359s accepts a correctly aligned if/elsif/else/end 359s with def/rescue/else/end 359s accepts a correctly aligned else 359s registers an offense for misaligned else 359s with case 359s accepts correctly aligned case/when/else 359s registers an offense for misaligned else 359s accepts case without else 359s accepts else aligned with when but not with case 359s >= Ruby 2.7 359s with case match 359s accepts correctly aligned empty else 359s accepts correctly aligned case/when/else 359s accepts case match without else 359s registers an offense for misaligned else 359s with begin/rescue/else/ensure/end 359s registers an offense for misaligned else 359s accepts a correctly aligned else 359s with def/defs 359s accepts an empty defs body 359s accepts an empty def body 359s when modifier and def are on the same line 359s registers an offense for else not aligned with private 359s accepts a correctly aligned body 359s with unless 359s registers an offense for misaligned else 359s accepts an empty unless 359s accepts a correctly aligned else in an otherwise empty unless 359s with def/rescue/else/ensure/end 359s registers an offense for misaligned else 359s accepts a correctly aligned else 359s 359s RuboCop::Cop::Layout::SpaceInsideBlockBraces 359s registers an offense and corrects right brace without inner space 359s accepts braces surrounded by spaces 359s registers an offense and corrects left brace without inner space 359s registers an offense and corrects both left and right brace without inner space after success 359s register offenses and correct both braces without inner space 359s accepts left brace without outer space 359s Ruby >= 2.7 359s registers an offense for numblocks without inner space 359s with space inside empty braces allowed 359s registers an offense and corrects empty braces with no space inside 359s accepts empty braces with space inside 359s with space inside empty braces not allowed 359s accepts multiline braces with content 359s accepts empty braces with line break inside 359s accepts braces with something inside 359s registers an offense and corrects empty braces with space inside 359s accepts empty braces with no space inside 359s accepts braces that are not empty 359s accepts empty braces with comment and line break inside 359s with invalid value for EnforcedStyleForEmptyBraces 359s fails with an error 359s configured with no_space 359s registers an offense and corrects both left and right brace with inner space after success 359s registers an offense and corrects right brace with inner space 359s registers an offense and corrects left brace with inner space 359s accepts braces without spaces inside 359s accepts left brace without outer space 359s with passed in parameters 359s and space before block parameters not allowed 359s accepts new lambda syntax 359s registers an offense when braces are not aligned in multiline block with bracket 359s accepts when braces are aligned in multiline block with bracket 359s registers an offense and corrects left brace with inner space 359s accepts when braces are aligned in multiline block 359s registers an offense when braces are not aligned in multiline block 359s and space before block parameters allowed 359s registers an offense and corrects left brace without inner space 359s accepts new lambda syntax 359s accepts left brace with inner space 359s with passed in parameters 359s accepts new lambda syntax 359s for multi-line blocks 359s accepts left brace with inner space 359s registers an offense and corrects left brace without inner space 359s for single-line blocks 359s accepts left brace with inner space 359s registers an offense and corrects left brace without inner space 359s and BlockDelimiters cop enabled 359s registers an offense and corrects multi-line blocks 359s registers an offense and corrects for single-line blocks 359s and space before block parameters not allowed 359s accepts left brace without inner space 359s registers an offense and corrects left brace with inner space 359s accepts new lambda syntax 359s 359s RuboCop::Cop::Security::Open 359s accepts open on a literal string 359s accepts File.open as method 359s registers an offense for `::URI.open` with string that starts with a pipe 359s accepts open with a literal string starting with a pipe 359s registers an offense for open with string that starts with a pipe 359s accepts open as variable 359s accepts open with prefix string literal plus something 359s registers an offense for open with dynamic string that is not prefixed 359s registers an offense for open with mode argument 359s registers an offense for open 359s accepts open with a string that interpolates a literal 359s accepts open with string that has a prefixed interpolation 359s registers an offense for `URI.open` with a block 359s accepts open with no arguments 359s registers an offense for `URI.open` with string that starts with a pipe 359s registers an offense for open with a block 359s 359s RuboCop::Cop::Style::ClassEqualityComparison 359s does not register an offense when using `instance_of?` 359s registers an offense and corrects when comparing `Module#name` for equality 359s registers an offense and corrects when comparing double quoted class name for equality 359s registers an offense and corrects when comparing class using `equal?` for equality 359s registers an offense and corrects when comparing class using `==` for equality 359s registers an offense and corrects when comparing single quoted class name for equality 359s registers an offense and corrects when comparing class using `eql?` for equality 359s when AllowedMethods is enabled 359s does not register an offense when comparing class for equality 359s when AllowedPatterns is enabled 359s does not register an offense when comparing class for equality 359s with String comparison in module 359s registers and corrects an offense 359s with instance variable comparison in module 359s registers and corrects an offense 359s 359s RuboCop::Cop::InternalAffairs::RedundantContextConfigParameter 359s does not register an offense when using `:config` in other than `context` 359s registers an offense when using `:config` parameter with other parameters 359s does not register an offense when not using `:config` 359s registers an offense when using `:config` parameter 359s does not register an offense when using `:ruby30` only 359s 359s RuboCop::Cop::Style::MissingRespondToMissing 359s registers an offense respond_to_missing? is implemented as an instance method and method_missing is implemented as a class method 359s allows method_missing and respond_to_missing? when defined with inline access modifier 359s registers an offense respond_to_missing? is implemented as a class method and method_missing is implemented as an instance method 359s allows method_missing and respond_to_missing? implemented as instance methods 359s registers an offense when respond_to_missing? is not implemented 359s registers an offense when method_missing is implemented as a class methods 359s allows method_missing and respond_to_missing? when defined with inline access modifier and method_missing is not qualified by inline access modifier 359s allows method_missing and respond_to_missing? implemented as class methods 359s 359s RuboCop::Cop::Lint::SendWithMixinArgument 359s registers an offense when using `public_send` method 359s does not register an offense when not using a mixin method 359s registers an offense when using `send` with `extend` 359s does not register an offense when using `prepend` 359s registers an offense when using `send` with `prepend` 359s does not register an offense when using `include` 359s registers an offense when using `__send__` method 359s registers an offense when using `send` with `include` 359s does not register an offense when using `extend` 359s when specifying a mixin method as a string 359s registers an offense when using `send` with `extend` 359s registers an offense when using `send` with `include` 359s registers an offense when using `send` with `prepend` 359s when using namespace for module 359s registers an offense when using `send` with `include` 359s 359s RuboCop::Cop::Lint::ConstantDefinitionInBlock 359s does not register an offense for a top-level module 359s does not register an offense for a top-level module followed by another statement 359s does not register an offense for a constant with an explicit top-level scope 359s does not register an offense for a top-level class followed by another statement 359s does not register an offense for a top-level constant 359s registers an offense for a constant defined within a block followed by another statement 359s registers an offense for a module defined within a block followed by another statement 359s registers an offense for a constant defined within a block 359s does not register an offense for a constant with an explicit top-level scope followed by another statement 359s registers an offense for a module defined within a block 359s does not register an offense for a constant with an explicit self scope followed by another statement 359s does not register an offense for a top-level constant followed by another statement 359s does not register an offense for a top-level class 359s registers an offense for a class defined within a block followed by another statement 359s does not register an offense for a constant with an explicit self scope 359s registers an offense for a class defined within a block 359s when `AllowedMethods: [enums]` 359s does not register an offense for a module defined within a block of `enums` method 359s does not register an offense for a casign used within a block of `enums` method 359s does not register an offense for a class defined within a block of `enums` method 359s when `AllowedMethods: []` 359s registers an offense for a class defined within a block of `enums` method 359s registers an offense for a casign used within a block of `enums` method 359s registers an offense for a module defined within a block of `enums` method 359s 359s RuboCop::Cop::InternalAffairs::ExampleDescription 359s with `expect_correction` 359s registers an offense when given an improper description 359s in conjunction with expect_offense 359s registers an offense when given an improper description 359s when the description is invalid for both methods 359s registers an offense for the first method encountered 359s when not making an expectation on offenses 359s does not register an offense 359s with `expect_no_offenses` 359s registers an offense when given an improper description 359s does not register an offense when given a proper description 359s does not crash when given a proper description that is split with + 359s does not register an offense when given an unexpected description 359s with `expect_no_corrections` 359s registers an offense when given an improper description 359s in conjunction with expect_offense 359s registers an offense when given an improper description 359s with `expect_offense` 359s does not register an offense when given an unexpected description 359s does not register an offense when given a proper description 359s registers an offense when given an improper description 359s 359s RuboCop::Cop::Style::HashConversion 359s registers and corrects an offense when using `zip` with argument in `Hash[]` 359s registers and corrects an offense when using argumentless `zip` without parentheses in `Hash[]` 359s reports different offense for Hash[a && b] 359s registers and corrects an offense when using argumentless `zip` with parentheses in `Hash[]` 359s reports different offense for multi-argument Hash[] 359s reports different offense for Hash[a || b] 359s does not try to correct multi-argument Hash with odd number of arguments 359s reports different offense for empty Hash[] 359s reports different offense for Hash[(a || b)] 359s reports different offense for Hash[(a && b)] 359s reports different offense for hash argument Hash[] as a method argument with parentheses 359s reports an offense for single-argument Hash[] 359s wraps complex statements in parens if needed 359s reports different offense for hash argument Hash[] 359s registers and corrects an offense when using multi-argument `Hash[]` as a method argument 359s reports different offense for hash argument Hash[] as a method argument without parentheses 359s AllowSplatArgument: false 359s reports uncorrectable offense for unpacked array 359s AllowSplatArgument: true 359s does not register an offense for unpacked array 359s 359s RuboCop::Cop::Lint::ScriptPermission 359s with file permission 0644 359s registers an offense for script permission 360s if autocorrection is off 360s leaves the file intact 360s with file permission 0755 360s accepts with shebang line 360s accepts with blank 360s accepts without shebang line 360s with stdin 360s skips investigation 360s 360s RuboCop::Cop::Util 360s #to_supported_styles 360s when EnforcedStyle 360s is expected to eq "SupportedStyles" 360s when EnforcedStyleInsidePipes 360s is expected to eq "SupportedStylesInsidePipes" 360s #same_line? 360s returns false if an argument is not a node or range 360s can use ranges 360s returns false when two nodes are not on the same line 360s returns true when two nodes are on the same line 360s #line_range 360s returns line range of the expression 360s 360s RuboCop::Cop::Lint::ElseLayout 360s registers an offense and corrects for expr on same line as else 360s accepts ternary ops 360s registers an offense and corrects for the entire else body being on the same line 360s does not register an offense for an elsif with no body 360s accepts empty braces 360s accepts modifier forms 360s registers and corrects an offense when using multiple `elsif`s 360s registers an offense and corrects for elsifs 360s accepts proper else 360s does not register an offense if the entire if is on a single line 360s 360s RuboCop::Cop::Style::MethodDefParentheses 360s require_no_parentheses 360s behaves like endless methods 360s endless methods 360s accepts parens without args 360s accepts parens with args 360s accepts parens with `forward-arg` 360s accepts parens for method calls inside an endless method 360s behaves like no parentheses 360s requires parens for forwarding 360s reports an offense for opposite + correct 360s accepts a class def with parameters with parens 360s reports an offense for def with parameters with parens 360s auto-removes the parens for defs 360s reports an offense for def with no args and parens 360s accepts a def with parameters but no parens 360s reports an offense for class def with parameters with parens 360s requires parens for anonymous block forwarding 360s accepts def with no args and no parens 360s require_no_parentheses_except_multiline 360s when args span multiple lines 360s auto-adds required parens to argument lists on multiple lines 360s reports an offense for correct + opposite 360s behaves like endless methods 360s endless methods 360s accepts parens without args 360s accepts parens with `forward-arg` 360s accepts parens with args 360s accepts parens for method calls inside an endless method 360s when args are all on a single line 360s behaves like no parentheses 360s accepts a def with parameters but no parens 360s auto-removes the parens for defs 360s reports an offense for def with no args and parens 360s requires parens for anonymous block forwarding 360s accepts a class def with parameters with parens 360s requires parens for forwarding 360s accepts def with no args and no parens 360s reports an offense for opposite + correct 360s reports an offense for def with parameters with parens 360s reports an offense for class def with parameters with parens 360s require_parentheses 360s auto-adds required parens to argument lists on multiple lines 360s auto-adds required parens for a defs after a passing method 360s auto-adds required parens for a defs 360s reports an offense for def with parameters but no parens 360s reports an offense for class def with parameters but no parens 360s accepts def with no args and no parens 360s reports an offense for correct + opposite 360s behaves like endless methods 360s endless methods 360s accepts parens without args 360s accepts parens with `forward-arg` 360s accepts parens with args 360s accepts parens for method calls inside an endless method 360s 360s RuboCop::DirectiveComment 360s #line_number 360s returns line number for directive 360s .before_comment 360s when line has NO code 360s is expected to eq "" 360s when line has code 360s is expected to eq "def foo " 360s #overridden_by_department? 360s when there are no departments 360s is expected to equal false 360s when cop is not overridden by it's department 360s is expected to equal false 360s when there are no cops 360s is expected to equal false 360s when cop is overridden by it's department 360s is expected to equal true 360s #disabled_all? 360s when enabled all cops 360s is expected to equal false 360s when disabled all cops 360s is expected to equal true 360s when disabled specific cops 360s is expected to equal false 360s when enabled specific cops 360s is expected to equal false 360s #directive_count 360s when few department used 360s is expected to eq 3 360s when few cops used 360s is expected to eq 2 360s when cops and departments used 360s is expected to eq 4 360s #match_captures 360s when typo 360s is expected to be nil 360s when disable 360s is expected to eq ["disable", "all", nil, nil] 360s when enable 360s is expected to eq ["enable", "Foo/Bar", nil, "Foo/"] 360s when todo 360s is expected to eq ["todo", "all", nil, nil] 360s #all_cops? 360s when mentioned specific cops 360s is expected to equal false 360s when mentioned all 360s is expected to equal true 360s #department_names 360s when couple departments specified 360s is expected to eq ["Foo", "Baz"] 360s when only cop specified 360s is expected to eq [] 360s when only department specified 360s is expected to eq ["Foo"] 360s when all cops mentioned 360s is expected to eq [] 360s when department and cops specified 360s is expected to eq ["Foo"] 360s #disabled? 360s when enable 360s is expected to equal false 360s when disable 360s is expected to equal true 360s when todo 360s is expected to equal true 360s #match? 360s when there are no cop names 360s is expected to equal false 360s when cop names are superset of names 360s is expected to equal false 360s when cop names are subset of names 360s is expected to equal false 360s when cop names are same but in a different order 360s is expected to equal true 360s when cop names are same as in the comment 360s is expected to equal true 360s when disabled all cops 360s is expected to equal true 360s when cop names are same but have duplicated names 360s is expected to equal true 360s #enabled? 360s when disable 360s is expected to equal false 360s when enable 360s is expected to equal true 360s when todo 360s is expected to equal false 360s #cop_names 360s when department and cops specified 360s is expected to eq ["Foo/Bar", "Foo/Baz", "Baz/Cop"] 360s when only cop specified 360s is expected to eq ["Foo/Bar"] 360s when all cops mentioned 360s is expected to eq ["all_names"] 360s when redundant directive cop department specified 360s is expected to eq ["Lint/One", "Lint/Two"] 360s when only department specified 360s is expected to eq ["Foo/Bar", "Foo/Baz"] 360s when couple departments specified 360s is expected to eq ["Foo/Bar", "Foo/Baz", "Baz/Bar"] 360s #in_directive_department? 360s when cop disabled 360s is expected to equal false 360s when cop department disabled 360s is expected to equal true 360s when another department disabled 360s is expected to equal false 360s #single_line? 360s when relates to single line 360s is expected to equal true 360s when does NOT relate to single line 360s is expected to equal false 360s #enabled_all? 360s when enabled specific cops 360s is expected to equal false 360s when disabled specific cops 360s is expected to equal false 360s when enabled all cops 360s is expected to equal true 360s when disabled all cops 360s is expected to equal false 360s 360s RuboCop::Cop::Lint::EmptyInterpolation 360s registers an offense and corrects #{} in interpolation 360s finds interpolations in string-like contexts 360s accepts non-empty interpolation 360s registers an offense and corrects #{ } in interpolation 360s 360s RuboCop::Cop::Layout::SpaceAfterSemicolon 360s does not crash if semicolon is the last character of the file 360s registers an offense and corrects semicolon without space after it 360s inside block braces 360s when EnforcedStyle for SpaceInsideBlockBraces is no_space 360s accepts no space between a semicolon and a closing brace 360s behaves like common behavior 360s accepts a space between a semicolon and a closing brace 360s when EnforcedStyle for SpaceInsideBlockBraces is space 360s registers an offense and corrects no space between a semicolon and a closing brace 360s behaves like common behavior 360s accepts a space between a semicolon and a closing brace 360s 360s RuboCop::Cop::Style::ClassMethods 360s registers an offense for methods using a module name 360s registers an offense for methods using a class name 360s does not register an offense outside class/module bodies 360s does not register an offense for methods using self 360s does not register an offense for other top-level singleton methods 360s 360s RuboCop::Cop::Layout::MultilineMethodCallBraceLayout 360s ignores calls without arguments 360s ignores single-line calls 360s ignores calls with a multiline empty brace 360s ignores calls with an empty brace 360s ignores implicit calls 360s when EnforcedStyle is new_line 360s still ignores single-line calls 360s ignores single-line calls with multi-line receiver with leading dot 360s ignores single-line calls with multi-line receiver 360s behaves like multiline literal brace layout 360s heredoc 360s ignores heredocs that could share a last line 360s detects heredoc structures that are safe to add to 360s symmetrical style 360s opening brace on same line as first element 360s allows closing brace on same line as last multiline element 360s allows closing brace on same line as last element 360s autocorrects closing brace on different line from last element 360s detects closing brace on different line from last element 360s with a chained call on the closing brace 360s and a comment after the last element 360s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 360s but no comment after the last element 360s autocorrects the closing brace 360s opening brace on separate line from first element 360s allows closing brace on separate line from last element 360s detects closing brace on same line as last element 360s allows closing brace on separate line from last multiline element 360s new_line style 360s opening brace on separate line from first element 360s allows closing brace on separate line from last element 360s allows closing brace on separate line from last multiline element 360s detects closing brace on same line as last element 360s opening brace on same line as first element 360s autocorrects closing brace on same line as last element 360s detects closing brace on same line as last multiline element 360s allows closing brace on different line from last element 360s allows closing brace on different line from multi-line element 360s same_line style 360s opening brace on same line as first element 360s detects closing brace on different line from multiline element 360s allows closing brace on same line as multi-line element 360s allows closing brace on same line from last element 360s autocorrects closing brace on different line as last element 360s with a chained call on the closing brace 360s and a comment after the last element 360s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 360s but no comment after the last element 360s autocorrects the closing brace 360s opening brace on separate line from first element 360s detects closing brace on different line from last element 360s allows closing brace on same line as last multiline element 360s allows closing brace on same line as last element 360s when comment present before closing brace 360s corrects closing brace without crashing 360s behaves like multiline literal brace layout trailing comma 360s same_line style 360s opening brace on same line as first element 360s last element has a trailing comma 361s autocorrects closing brace on different line as last element 361s symmetrical style 361s opening brace on same line as first element 361s last element has a trailing comma 361s autocorrects closing brace on different line from last element 361s 361s RuboCop::Cop::Lint::FormatParameterMismatch 361s accepts an extra argument for dynamic width 361s correctly ignores double percent 361s does not register an offense argument is the result of a message send 361s registers an offense when calling Kernel.sprintf and the fields do not match 361s correctly parses different sprintf formats 361s constants do not register offenses 361s does not register an offense when arguments and fields match 361s does not register offense for `String#%` when arguments, fields match 361s accepts an extra arg for dynamic width with other preceding flags 361s registers an offense when calling Kernel.format and the fields do not match 361s does not register an offense when single argument is not an array 361s registers an offense for String#% 361s ignores percent right next to format string 361s does not register an offense for format with splat argument 361s registers offense with sprintf 361s registers an offense when there are less arguments than expected 361s registers an offense if extra argument for dynamic width not given 361s does not register an offense when single argument is a hash 361s identifies correctly digits for spacing in format 361s finds faults even when the string looks like a HEREDOC 361s registers an offense when there are more arguments than expected 361s does not register an offense when using named parameters 361s does not register an offense for sprintf with splat argument 361s does not register an offense when using named parameters with escaped `%` 361s when splat argument is present 361s does not register an offense when args count is less than expected 361s when args count is more than expected 361s registers an offense for `#%` 361s does not register an offense for `#format` 361s does not register an offense for `#sprintf` 361s when format is invalid 361s registers an offense 361s when using (digit)$ flag 361s registers an offense when mismatch between the maximum value specified by (digit)$ flag and the number of arguments 361s does not register an offense 361s does not register an offense when match between the maximum value specified by (digit)$ flag and the number of arguments 361s behaves like variables 361s does not register an offense for format called on a variable 361s does not register an offense for format called on a variable 361s does not register an offense for % called on a variable 361s when passed an empty array 361s does not register an offense 361s on format with %<> interpolations 361s and 1 argument 361s does not register an offense 361s and multiple arguments 361s registers an offense 361s behaves like variables 361s does not register an offense for % called on a variable 361s does not register an offense for format called on a variable 361s does not register an offense for format called on a variable 361s behaves like variables 361s does not register an offense for % called on a variable 361s does not register an offense for format called on a variable 361s does not register an offense for format called on a variable 361s when argument itself contains format characters and formats in format string and argument are not equal 361s ignores argument formatting 361s behaves like variables 361s does not register an offense for % called on a variable 361s does not register an offense for format called on a variable 361s does not register an offense for format called on a variable 361s with wildcard 361s does not register an offense for width and precision 361s does not register an offense for multiple wildcards 361s does not register an offense for width 361s does not register an offense for precision 361s on format with %{} interpolations 361s and multiple arguments 361s registers an offense 361s and 1 argument 361s does not register an offense 361s when multiple arguments are called for 361s and a single send node is passed 361s does not register an offense 361s and a single variable argument is passed 361s does not register an offense 361s when format is not a string literal 361s does not register an offense 361s behaves like variables 361s does not register an offense for format called on a variable 361s does not register an offense for % called on a variable 361s does not register an offense for format called on a variable 361s 361s RuboCop::Cop::Layout::EmptyLinesAroundClassBody 361s when EnforcedStyle is beginning_only 361s registers an offense for an empty line at the end of a class 361s ignores empty lines at the beginning of a class 361s when EnforcedStyle is empty_lines_except_namespace 361s when has multiple child classes 361s requires empty lines for namespace 361s registers offenses for namespace body starting and ending without a blank 361s when only child is class 361s autocorrects beginning and end 361s registers offenses for namespaced class body not starting with a blank 361s registers offense for namespace body ending with a blank 361s requires no empty lines for namespace 361s registers offenses for namespaced class body not ending with a blank 361s registers offense for namespace body starting with a blank 361s when only child is module 361s requires no empty lines for namespace 361s registers offense for namespace body ending with a blank 361s registers offense for namespace body starting with a blank 361s when EnforcedStyle is empty_lines 361s does not register offenses when specifying a superclass that breaks the line 361s accepts singleton classes with an empty body 361s accepts classes with an empty body 361s does not register offenses 361s registers an offense for singleton class body not starting or ending with a blank 361s registers an offense for class body not starting or ending with a blank 361s when EnforcedStyle is no_empty_lines 361s autocorrects singleton class body containing only a blank 361s registers an offense for class body ending with a blank 361s registers an offense for singleton class body ending with a blank 361s registers an offense for class body starting with a blank 361s when EnforcedStyle is empty_lines_special 361s class with empty body 361s without empty line 361s does NOT register offenses 361s with empty line 361s does NOT register offenses 361s when first child is an access modifier 361s with no blank lines at the beginning and ending of class body 361s registers and corrects an offense 361s with blank lines at the beginning and ending of class body 361s registers no offense 361s when first child is a method 361s requires blank line at the beginning and ending of class body 361s source without blank lines 361s registers an offense for class not beginning and ending with a blank line 361s when class has a namespace 361s requires no empty lines for namespace but requires blank line at the beginning and ending of class body 361s source without blank lines 361s registers and autocorrects the offenses 361s source with blank lines 361s autocorrects the offenses 361s class with constant and child class 361s registers and autocorrects the offenses 361s class with only constants 361s registers and autocorrects the offenses 361s when first child is NOT a method 361s 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 361s when class has a namespace 361s 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 361s source with blank lines 361s registers and autocorrects the offenses 361s source without blank lines 361s registers and autocorrects the offenses 361s source with constants 361s registers and autocorrects the offenses 361s source with blank lines 361s registers an offense for class beginning with a blank line 361s source with comment before method definition 361s registers an offense for class beginning with a blank line 361s source without blank lines 361s registers an offense for class not ending with a blank line 361s when namespace has multiple children 361s requires empty lines for namespace 361s when EnforcedStyle is ending_only 361s ignores empty lines at the beginning of a class 361s registers an offense for an empty line at the end of a class 361s 361s RuboCop::Cop::Lint::Syntax 361s .offenses_from_processed_source 361s with a diagnostic error 361s returns an offense 361s with --display-cop-names option 361s returns an offense with cop name 361s with --autocorrect --disable-uncorrectable options 361s returns an offense 361s with a parser error 361s returns an offense 361s with --display-cop-names option 361s returns an offense with cop name 361s 361s RuboCop::Cop::Bundler::InsecureProtocolSource 361s registers an offense when using `source :rubygems` 361s registers an offense when using `source :gemcutter` 361s does not register an offense when using `source 'https://rubygems.org'` 361s registers an offense when using `source :rubyforge` 361s when `AllowHttpProtocol: true` 361s does not register an offense when using `source 'http://rubygems.org'` 361s when `AllowHttpProtocol: false` 361s registers an offense when using `source 'http://rubygems.org'` 361s 361s RuboCop::Cop::Style::RaiseArgs 361s when enforced style is exploded 361s accepts a raise when exception object is assigned to a local variable 361s accepts a raise with 2 args 361s accepts a raise with 3 args 361s accepts exception constructor with more than 1 argument 361s accepts a raise with `new` method without receiver 361s accepts a raise with splatted arguments 361s accepts a raise with msg argument 361s accepts exception constructor with keyword arguments 361s ignores a raise with an exception argument 361s with opposite + correct 361s reports multiple offenses 361s reports an offense for opposite + correct 361s when an exception object is assigned to a local variable 361s autocorrects to exploded style 361s when exception type is in AllowedCompactTypes 361s accepts exception constructor with no arguments 361s with one argument 361s accepts exception constructor 361s with more than one argument 361s accepts exception constructor 361s with a raise with exception object 361s when used in a logical and expression 361s registers an offense and autocorrects 361s with no arguments 361s reports an offense 361s when used in a logical or expression 361s registers an offense and autocorrects 361s with one argument 361s reports an offense 361s when used in a ternary expression 361s registers an offense and autocorrects 361s when enforced style is compact 361s accepts exception constructor with keyword arguments and message argument 361s accepts a raise with msg argument 361s accepts a raise with an exception argument 361s when used in a logical and expression 361s registers an offense and autocorrects 361s when used in a ternary expression 361s registers an offense and autocorrects 361s with correct + opposite 361s reports an offense 361s reports multiple offenses 361s when used in a logical or expression 361s registers an offense and autocorrects 361s with a raise with exception instantiation and message arguments 361s reports an offense 361s with a raise with 3 args 361s reports an offense 361s with a raise with 2 args 361s reports an offense 361s with a raise with 2 args and exception object is assigned to a local variable 361s reports an offense 361s 361s RuboCop::Cop::Layout::EmptyLineBetweenDefs 361s accepts a def that follows code and a comment 361s registers an offense for adjacent one-liners by default 361s accepts a def that is the first of a module 361s accepts a nested def 361s treats lines with whitespaces as blank 361s registers an offense for multiple one-liners on the same line 361s accepts a def that follows an empty line and then a comment 361s accepts the first def without leading empty line in a class 361s accepts a def that follows a line with code 361s doesn't allow more than the required number of newlines 361s finds offenses in inner classes 361s autocorrects when there are too many new lines 361s when empty lines between classes and modules together 361s registers offense when no empty lines between module and method definitions 361s when there are only comments between defs 361s registers an offense 361s conditional method definitions 361s registers an offense for consecutive defs inside a conditional 361s accepts defs inside a conditional without blank lines in between 361s when a maximum of empty lines is specified 361s finds no offense for one empty line 361s finds no offense for no empty line 361s finds an offense for two empty lines 361s endless methods 361s with AllowAdjacentOneLineDefs: true 361s does not register an offense 361s with AllowAdjacentOneLineDefs: false 361s registers an offense and corrects 361s between endless class method and regular methods 361s registers an offense and corrects 361s between endless class method and regular class methods 361s registers an offense and corrects 361s between endless and regular methods 361s registers an offense and corrects 361s between regular and endless methods 361s registers an offense and corrects 361s class methods 361s adjacent class methods 361s registers an offense for missing blank line between methods 361s mixed instance and class methods 361s registers an offense for missing blank line between methods 361s EmptyLineBetweenClassDefs 361s registers offense when no empty lines between class and method definitions 361s with AllowAdjacentOneLineDefs enabled 361s does not register offense 361s when disabled 361s does not register offense 361s EmptyLineBetweenModuleDefs 361s registers offense when no empty lines between module and method definitions 361s when disabled 361s does not register offense 361s when multiple lines between defs are allowed 361s registers an offense and corrects when there are too many new lines 361s treats lines with whitespaces as blank 361s when AllowAdjacentOneLineDefs is enabled 361s registers an offense for adjacent defs if some are multi-line 361s accepts adjacent one-liners 361s 361s RuboCop::Cop::Metrics::ParameterLists 361s registers an offense when optargs count exceeds the maximum 361s accepts a proc with more than 4 parameters 361s registers an offense for a method def with 5 parameters 361s accepts a lambda with more than 4 parameters 361s does not register an offense when method has allowed amount of optargs 361s accepts a method def with 4 parameters 361s does not register an offense when method has no args 361s does not register an offense when method has allowed amount of args with block arg 361s When CountKeywordArgs is false 361s does not count keyword arguments 361s does not count keyword arguments without default values 361s When CountKeywordArgs is true 362s counts keyword arguments as well 362s 362s RuboCop::Cop::Style::RedundantInterpolation 362s registers an offense for "#{do_something(42)}" 362s registers an offense for "#{1 + 1; 2 + 2}" 362s accepts strings with characters after the interpolation 362s registers an offense for "#$1" 362s registers an offense for "#{@var}" 362s registers an offense for "#{1 + 1}" 362s registers an offense for "#{$1}" 362s registers an offense for "#$var" 362s registers an offense for "#{do_something 42}" 362s registers an offense for "#{foo.do_something 42}" 362s accepts strings implicitly concatenated with a later string 362s registers an offense for "%Q(#{1 + 1})" 362s registers an offense for "%|#{1 + 1}|" 362s accepts strings with characters before the interpolation 362s registers an offense for "#$+" 362s registers an offense for "#{var}" 362s registers an offense for "#@var" 362s registers an offense for "#{number}" 362s registers an offense for "#{$+}" 362s registers an offense for ["#{@var}"] 362s registers an offense for "#{$var}" 362s registers an offense for "#{@@var}" 362s registers an offense for "#@@var" 362s accepts strings that are part of a %W() 362s accepts strings implicitly concatenated with an earlier string 362s 362s RuboCop::Cop::Style::BlockComments 362s autocorrects an empty block comment by removing it 362s accepts regular comments 362s autocorrects a block comment into a regular comment (without trailingnewline) 362s autocorrects a block comment into a regular comment 362s registers an offense for block comments 362s 362s RuboCop::Cop::Gemspec::DuplicatedAssignment 362s does not register an offense when using `<<` twice 362s registers an offense when using `version=` twice 362s registers an offense when using `name=` twice 362s does not register an offense when using `spec.add_dependency` twice 362s registers an offense when using `name=` twice with `cbase` 362s does not register an offense when `name=` method call is not block value 362s registers an offense when using `required_ruby_version=` twice 362s 362s RuboCop::Cop::Lint::SuppressedException 362s with AllowComments set to false 362s does not register an offense for rescue with body 362s registers an offense for empty rescue block 362s when empty rescue for defs 362s registers an offense for empty rescue with comment 362s registers an offense for empty rescue without comment 362s when empty rescue for `def` 362s registers an offense for empty rescue with comment 362s registers an offense for empty rescue without comment 362s with AllowNil set to false 362s registers an offense for rescue block with nil 362s registers an offense for inline nil rescue 362s with AllowNil set to true 362s does not register an offense for inline nil rescue 362s does not register an offense for rescue block with nil 362s Ruby 2.5 or higher 362s when empty rescue for `do` block 362s registers an offense for empty rescue with comment 362s registers an offense for empty rescue without comment 362s with AllowComments set to true 362s registers an offense for empty rescue on single line with a comment after it 362s does not register an offense for empty rescue with comment 362s Ruby 2.5 or higher 362s when empty rescue for `do` block 362s registers an offense for empty rescue without comment 362s does not register an offense for empty rescue with comment 362s Ruby 2.7 or higher 362s when empty rescue for `do` block with a numbered parameter 362s registers an offense for empty rescue without comment 362s does not register an offense for empty rescue with comment 362s when empty rescue for `def` 362s registers an offense for empty rescue without comment 362s does not register an offense for empty rescue with comment 362s when empty rescue for `defs` 362s does not register an offense for empty rescue with comment 362s registers an offense for empty rescue without comment 362s 362s RuboCop::Cop::Lint::AmbiguousAssignment 362s registers an offense when using `*` with `X` 362s does not register an offense when no mistype assignments 362s registers an offense when using `*` with `@@x` 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s registers an offense when using `+` with `X` 362s does not register an offense when no mistype assignments 362s registers an offense when using `!` with `@x` 362s registers an offense when using `!` with `$x` 362s registers an offense when using `+` with `$x` 362s does not register an offense when no mistype assignments 362s registers an offense when using `+` with `@@x` 362s registers an offense when using `*` with `@x` 362s registers an offense when using `!` with `@@x` 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s registers an offense when using `*` with `$x` 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s registers an offense when using `-` with `X` 362s registers an offense when using `-` with `@@x` 362s registers an offense when using `!` with `X` 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s registers an offense when using `+` with `@x` 362s registers an offense when using `+` with `x` 362s registers an offense when using `-` with `x` 362s does not register an offense when no mistype assignments 362s registers an offense when using `-` with `$x` 362s does not register an offense when no mistype assignments 362s does not register an offense when no mistype assignments 362s registers an offense when using `!` with `x` 362s registers an offense when using `-` with `@x` 362s does not register an offense when no mistype assignments 362s registers an offense when using `*` with `x` 362s 362s RuboCop::Cop::Layout::BeginEndAlignment 362s accepts matching begin ... end 362s registers an offense for mismatched begin end and autocorrects 362s accepts matching puts 1; begin ... end 362s when EnforcedStyleAlignWith is start_of_line 362s registers an offense for mismatched var << begin end and autocorrects 362s accepts matching puts 1; begin ... end 362s registers an offense for mismatched begin end and autocorrects 362s accepts matching var = begin ... end 362s 362s RuboCop::Cop::Layout::EmptyLinesAroundArguments 362s when extra lines 362s registers and autocorrects offense on correct lines for multi-offense example 362s registers and autocorrects offense for empty line between args 362s registers and autocorrects offense when args start on definition line 362s registers and autocorrects offense on correct line for single offense example 362s registers and autocorrects offenses when multiple empty lines are detected 362s registers and autocorrects offense for empty line before arg 362s registers autocorrects empty line whetn args start on definition line 362s registers and autocorrects offense for empty line after arg 362s registers and autocorrects offense when empty line between normal arg & block arg 362s when using safe navigation operator 362s registers and autocorrects offense for empty line before arg 362s when no extra lines 362s accepts method with no arguments that trails off block 362s accepts method with argument that trails off block 362s accepts multiple listed mixed args 362s accepts when blank line is inserted between method with arguments and receiver 362s accepts one line methods 362s accepts method with argument that trails off heredoc 362s accepts multiline style argument for method call without selector 362s accepts listed args starting on definition line 362s accepts block argument with empty line 362s with one argument 362s ignores empty lines inside of method arguments 362s with multiple arguments 362s ignores empty lines inside of method arguments 362s 362s RuboCop::Cop::Layout::AccessModifierIndentation 362s when EnforcedStyle is set to outdent 362s accepts private with argument indented to method depth in module defined with Module.new 362s accepts private def indented to method depth in class defined with Class.new 362s accepts private with argument indented to method depth in a class 362s accepts module fn def indented to method depth in a module 362s registers an offense and corrects misaligned access modifiers in nested classes 362s accepts private with argument indented to method depth in a module 362s accepts private indented to the containing class indent level 362s registers an offense and corrects module_function indented to method depth in a module 362s accepts protected indented to the containing class indent level 362s accepts module fn with argument indented to method depth in a module 362s registers offense and corrects private indented to method depth in a class 362s accepts private def indented to method depth in module defined with Module.new 362s registers an offense and corrects private indented to method depth in class defined with Class.new 362s accepts private def indented to method depth in a class 362s accepts private with argument indented to method depth in singleton class 362s registers an offense and corrects private indented to method depth in singleton class 362s accepts private def indented to method depth in a module 362s registers an offense and corrects private indented to method depth in module defined with Module.new 362s accepts private def indented to method depth in singleton class 362s registers an offense and corrects private indented to method depth in a module 362s accepts private with argument indented to method depth in class defined with Class.new 362s when EnforcedStyle is set to indent 362s registers an offense and corrects misaligned private in a singleton class 362s registers an offense and corrects misaligned private in module defined with Module.new 362s registers an offense and corrects misaligned access modifiers in nested classes 362s accepts properly indented private 362s registers an offense and corrects opposite + correct alignment 362s registers an offense and corrects misaligned private in module 362s registers an offense and corrects misaligned module_function in module 362s accepts properly indented private in module defined with Module.new 362s accepts methods with a body 362s accepts properly indented protected 362s accepts an empty class 362s registers an offense and corrects misaligned protected 362s accepts indented access modifiers with arguments in nested classes 362s registers an offense and corrects misaligned private in class defined with Class.new 362s registers an offense and corrects correct + opposite alignment 362s registers an offense and corrects misaligned private 362s registers an offense and corrects access modifiers in arbitrary blocks 362s when 4 spaces per indent level are used 362s accepts properly indented private 362s when indentation width is overridden for this cop only 362s accepts properly indented private 362s 362s RuboCop::Cop::Lint::ConstantOverwrittenInRescue 362s registers an offense when overriding an exception with an exception result 362s does not register an offense when not overriding an exception with an exception result 362s does not register an offense when using `=>` but correctly assigning to variables 362s 362s RuboCop::Cop::Style::LineEndConcatenation 362s registers an offense for dynamic string concat at line end 362s accepts string concat at line end when followed by a comment line 362s accepts string concat on the same line 362s registers an offense for string concat at line end 362s autocorrects a + with \ to just \ 362s registers multiple offenses when there are chained concatenations 362s registers multiple offenses when there are chained << methods 362s accepts string concat at line end for special strings like __FILE__ 362s accepts string concat at line end when % literals are involved 362s accepts string concat at line end when followed by comment 362s autocorrects a + with trailing whitespace to \ 362s registers an offense for string concat with << and \ at line ends 362s registers offenses only for the appropriate lines in chained concats 362s registers an offense for dynamic string concat with << at line end 362s autocorrects only the lines that should be autocorrected 362s accepts string concat with a return value of method on a string 362s registers an offense for string concat with << at line end 362s registers multiple offenses when there are chained concatenationscombined with << calls 362s accepts string concat with a return value of method on an interpolated string 362s 362s RuboCop::Cop::Style::RedundantPercentQ 362s accepts a heredoc string that contains %q 362s accepts %Q at the beginning of a section of a double quoted string with interpolation 362s accepts %Q at the beginning of a double quoted string with interpolation 362s accepts %q at the beginning of a section of a double quoted string with interpolation 362s accepts %q containing string interpolation 362s accepts %q at the beginning of a double quoted string with interpolation 362s with %Q strings 362s registers an offense for static string with only double quotes 362s accepts a string with double quotes and an escaped normal character 362s accepts regular expressions starting with %Q 362s registers an offense for dynamic string without quotes 362s accepts a string with double quotes and an escaped special character 362s autocorrects for strings that are concatenated with backslash 362s registers an offense for static string without quotes 362s accepts a dynamic %Q string with double quotes 362s accepts a string with single quotes and double quotes 362s with %q strings 362s accepts a string with escaped non-backslash characters 362s registers an offense for only double quotes 362s registers an offense for only single quotes 362s registers an offense for no quotes 362s accepts a string with single quotes and double quotes 362s accepts a string with escaped backslash and non-backslash characters 362s accepts regular expressions starting with %q 362s registers an offense for a string containing escaped backslashes 362s autocorrects for strings that are concatenated with backslash 362s 362s RuboCop::Cop::Lint::UselessMethodDefinition 362s does not register an offense when method definition contains optional argument 362s does not register an offense when `super` arguments differ from method arguments 362s does not register an offense for empty class level `initialize` method 362s registers an offense and corrects for method containing only `super` call 362s does not register an offense when non-constructor contains only comments 362s does not register an offense for empty constructor 362s does not register an offense for method containing additional code to `super` 362s does not register an offense for constructor containing additional code to `super` 362s does not register an offense when method definition contains optional keyword argument 362s does not register an offense for constructor with only comments 362s 362s RuboCop::Cop::Commissioner 362s #investigate 362s stores all errors raised by the cops 362s traverses the AST and invoke cops specific callbacks 362s when given a force 362s passes the input params to all cops/forces that implement their own #investigate method 362s when passed :raise_cop_error option 362s re-raises the exception received while processing 362s when passed :raise_error option 363s re-raises the exception received while processing 363s when a cop reports offenses 363s returns all offenses found by the cops 363s when given a source with parsing errors 363s only calls on_other_file 363s traverses the AST with on_send / on_csend 363s for unrestricted cops 363s calls on_send all method calls 363s for a restricted cop 363s calls on_send for the right method calls 363s on both csend and send 363s calls on_send for the right method calls 363s 363s RuboCop::Cop::Style::IfUnlessModifier 363s accepts if/elsif 363s accepts if-end followed by a chained call using `&.` 363s accepts if-else-end 363s accepts if-end when used as LHS of binary arithmetic 363s adds parens in autocorrect when if-end used with `&&` operator 363s accepts code with EOL comment since user might want to keep it 363s accepts if-end followed by a chained call using `.` 363s adds parens in autocorrect when if-end used with `||` operator 363s modifier if that does not fit on one line 363s when Layout/LineLength is disabled with enable/disable comments 363s accepts 363s when Layout/LineLength is disabled with an EOL comment 363s accepts 363s when Layout/LineLength is enabled 363s corrects it to normal form 363s when variable assignment is used in the branch body of if modifier 363s registers an offense 363s when using a method with heredoc argument 363s accepts 363s IgnoreCopDirectives 363s and the long line is allowed because IgnoreCopDirectives is true 363s accepts 363s and the long line is too long because IgnoreCopDirectives is false 363s registers an offense 363s and the long line is allowed because AllowURI is true 363s accepts 363s and the long line is too long because AllowURI is false 363s registers an offense 363s when Layout/LineLength is disabled in configuration 363s accepts 363s when if-end condition is an element of an array 363s when short enough to fit on a single line 363s corrects it to the single-line form 363s when not short enough to fit on a single line 363s accepts it in the multiline form 363s short multiline if near an else etc 363s registers an offense 363s multiline unless that fits on one line 363s registers an offense 363s with tabs used for indentation 363s with Layout/IndentationStyle: IndentationWidth config 363s behaves like with tabs indentation 363s it fits on one line 363s registers an offense 363s it doesn't fit on one line 363s doesn't register an offense 363s with Layout/IndentationWidth: Width config 363s behaves like with tabs indentation 363s it doesn't fit on one line 363s doesn't register an offense 363s it fits on one line 363s registers an offense 363s if-end with conditional as body 363s accepts 363s when if-end condition has a first line comment 363s when it is short enough to fit on a single line 363s corrects it to the single-line form 363s when it is not short enough to fit on a single line 363s accepts it in the multiline form 363s when if-end condition is a value in a hash 363s when it is not short enough to fit on a single line 363s accepts it in the multiline form 363s when it is short enough to fit on a single line 363s corrects it to the single-line form 363s if-end is argument to a parenthesized method call 363s adds parentheses because otherwise it would cause SyntaxError 363s behaves like condition modifier cop 363s for a multiline 'unless' 363s handles one-line usage 363s doesn't break when used as RHS of class var assignment 363s corrects it when assignment is in body 363s doesn't break when used as RHS of binary arithmetic 363s accepts it when condition has local variable assignment 363s accepts an empty body 363s corrects it if result fits in one line 363s handles inline comments during autocorrection 363s accepts it if body spans more than one line 363s doesn't break when used as RHS of instance var assignment 363s doesn't break when used as RHS of local var assignment 363s doesn't break when used as RHS of constant assignment 363s accepts it if single line would not fit on one line 363s accepts multiline condition in modifier form 363s registers an offense 363s when Layout/LineLength is disabled 363s registers an offense even for a long modifier statement 363s when there is a comment on the first line and some code after the end keyword 363s does not register an offense 363s with a named regexp capture on the LHS 363s does not register an offense 363s modifier if that does not fit on one line, but is not the only statement on the line 363s accepts 363s when if-end condition has some code after the end keyword 363s when it is short enough to fit on a single line 363s corrects it to the single-line form 363s when it is not short enough to fit on a single line 363s accepts it in the multiline form 363s if-end is argument to a non-parenthesized method call 363s adds parentheses so as not to change meaning 363s when Layout/LineLength is disabled 363s registers an offense even for a long modifier statement 363s multiline if that fits on one line with comment on first line 363s registers an offense and preserves comment 363s unless-end with conditional as body 363s accepts 363s multiline if that fits on one line with comment near end 363s accepts 363s multiline if that fits on one line 363s registers an offense 363s and has two statements separated by semicolon 363s accepts 363s when if-end condition is assigned to a variable 363s with variable being on the same line 363s when it is not short enough to fit on a single line 363s accepts it in the multiline form 363s when it is short enough to fit on a single line 363s corrects it to the single-line form 363s with variable being on the previous line 363s when it is short enough to fit on a single line 363s corrects it to the single-line form 363s when it is not short enough to fit on a single line 363s accepts it in the multiline form 363s behaves like condition modifier cop 363s for a multiline 'if' 363s handles inline comments during autocorrection 363s doesn't break when used as RHS of class var assignment 363s doesn't break when used as RHS of instance var assignment 363s accepts it if single line would not fit on one line 363s accepts it when condition has local variable assignment 363s corrects it when assignment is in body 363s doesn't break when used as RHS of local var assignment 363s doesn't break when used as RHS of binary arithmetic 363s accepts it if body spans more than one line 363s doesn't break when used as RHS of constant assignment 363s accepts an empty body 363s corrects it if result fits in one line 363s handles one-line usage 363s when there is a comment on the first line and some code after the end keyword 363s does not register an offense 363s accepts multiline condition in modifier form 363s registers an offense 363s when Layout/LineLength is disabled 363s registers an offense even for a long modifier statement 363s with implicit match conditional 363s when a multiline if fits on one line 363s registers an offense 363s when a multiline if doesn't fit on one line 363s accepts 363s 363s RuboCop::Cop::Lint::RedundantWithObject 363s registers an offense and corrects when using ary.each_with_object([]) do-end block 363s registers an offense and corrects when using `ary.each.with_object([]) { |v| v }` 363s an object is used as a block argument 363s registers an offense and corrects when using `ary.each_with_object { |v| v }` 363s registers an offense and corrects when using ary.each_with_object do-end block without parentheses 363s when missing argument to `each_with_object` 363s does not register an offense when block has 2 arguments 363s does not register an offense when block has 1 argument 363s Ruby 2.7 363s registers an offense and corrects when using `ary.each_with_object { _1 }` 363s registers an offense and corrects when using `ary.each.with_object([]) { _1 }` 363s 363s RuboCop::Cop::Layout::ArrayAlignment 363s when aligned with first parameter 363s accepts aligned array with fullwidth characters 363s accepts aligned array keys 363s accepts the first element being on a new row 363s does not indent heredoc strings when autocorrecting 363s accepts single line array 363s registers an offense and corrects misaligned array elements 363s autocorrects array within array with too little indentation 363s does not register an offense or try to correct parallel assignment 363s autocorrects array within array with too much indentation 363s autocorrects misaligned array with the first element on a new row 363s accepts several elements per line 363s when aligned with fixed indentation 363s accepts aligned array keys 363s autocorrects array within array with too little indentation 363s does not indent heredoc strings when autocorrecting 363s accepts single line array 363s autocorrects array within array with too much indentation 363s autocorrects misaligned array with the first element on a new row 363s registers an offense and corrects misaligned array elements 363s accepts the first element being on a new row 363s accepts several elements per line 363s does not register an offense or try to correct parallel assignment 363s accepts aligned array with fullwidth characters 363s 363s RuboCop::Cop::Style::Lambda 363s with enforced `lambda` style 363s with a multiline lambda literal 363s with arguments 363s registers an offense 363s without arguments 363s registers an offense 363s with a single line lambda literal 363s without arguments 363s registers an offense 363s with arguments 363s registers an offense 363s without argument parens and spaces 363s registers an offense 363s when using safe navigation operator 363s does not break 363s with enforced `literal` style 363s with a single line lambda method call 363s without arguments 363s registers an offense 363s with arguments 363s registers an offense 363s with a multiline lambda method call 363s with arguments 363s registers an offense 363s without arguments 363s registers an offense 363s with default `line_count_dependent` style 363s >= Ruby 2.7 363s when using numbered parameter 363s with a single line lambda literal 363s does not register an offense 363s with a single line lambda method call 363s registers an offense 363s with a multiline lambda method call 363s does not register an offense 363s with a multiline lambda literal 363s without arguments 363s registers an offense 363s with arguments 363s registers an offense 363s with a single line lambda method call 363s without arguments 363s registers an offense 363s with arguments 363s registers an offense 363s with a multiline lambda literal as an argument 363s registers an offense 363s with a multiline braces lambda literal as a keyword argument 363s registers an offense 363s unusual lack of spacing 363s with a multiline lambda literal 363s with no parentheses and bad spacing 363s registers an offense 363s with no arguments and bad spacing 363s registers an offense 363s without parentheses 363s registers an offense 363s with no arguments and no spacing 363s registers an offense 363s with no parentheses and many args 363s registers an offense 363s with empty arguments 363s registers an offense 363s without spacing before arguments 363s registers an offense 363s without any spacing 363s registers an offense 363s without spacing after arguments 363s registers an offense 363s when calling a lambda method without a block 363s does not register an offense 363s with a multiline do-end lambda literal as a keyword argument 363s registers an offense 363s with a multiline lambda method call 363s does not register an offense 363s with a single line lambda literal 363s does not register an offense 363s with a multiline do-end lambda as a parenthesized kwarg 363s registers an offense 363s 363s RuboCop::Cop::Style::TrailingBodyOnModule 363s registers offense when module definition uses semicolon 363s registers an offense when body trails after module definition 363s accepts regular module 363s autocorrects with comment after body 363s autocorrects when there are multiple semicolons 363s registers offense with multi-line module 363s when module is not on first line of processed_source 363s autocorrects offense 363s 363s RuboCop::Cop::Style::RedundantException 363s reports an offense for a fail with RuntimeError.new 363s reports an offense for a raise with ::RuntimeError 363s reports an offense for a raise with RuntimeError.new 363s reports an offense for a fail with ::RuntimeError and () 363s accepts a raise with ::RuntimeError if it does not have 2 args 363s reports an offense for a fail with RuntimeError.new 363s accepts a fail with RuntimeError if it does not have 2 args 363s reports an offense for a fail with ::RuntimeError 363s reports an offense for a raise with ::RuntimeError and () 363s reports an offense for a fail with RuntimeError 363s reports an offense for a fail with ::RuntimeError.new 363s reports an offense for a raise with RuntimeError.new 363s reports an offense for a raise with ::RuntimeError.new 363s reports an offense for a raise with RuntimeError and () 363s accepts a fail with ::RuntimeError if it does not have 2 args 363s reports an offense for a raise with ::RuntimeError.new 363s accepts rescue w/ non redundant error 363s accepts a raise with RuntimeError if it does not have 2 args 363s reports an offense for a raise with RuntimeError 363s accepts rescue w/ non redundant error 363s reports an offense for a fail with ::RuntimeError.new 363s accepts rescue w/ non redundant error 363s reports an offense for a fail with RuntimeError and () 363s accepts rescue w/ non redundant error 363s 363s RuboCop::Cop::Lint::StructNewOverride 363s registers an offense using `Struct.new(symbol)` 363s registers an offense using `Struct.new(symbol, string)` 363s registers an offense using `Struct.new(...)` with an option argument 363s registers an offense using `Struct.new(...)` with a block 363s does not register an offense with no overrides 363s registers an offense using `::Struct.new(symbol)` 363s registers an offense using `Struct.new(string, ...symbols)` 363s registers an offense using `Struct.new(...symbols)` 363s does not register an offense with an override within a given block 363s registers an offense using `Struct.new(...)` with multiple overrides 363s 363s RuboCop::Cop::Layout::SpaceAfterNot 363s accepts space after not keyword 363s accepts no space after ! 363s registers an offense and corrects a single space after ! 363s registers an offense and corrects multiple spaces after ! 363s registers an offense and corrects space after ! with the negated receiver wrapped in parentheses 363s 363s RuboCop::Cop::Lint::NestedPercentLiteral 363s registers no offense for percents in the middle of literals 363s registers no offense for array 363s registers no offense for percent modifier character in isolation 363s registers no offense for nestings under percent 363s registers no offense for empty array 363s registers offense for nested percent literals 363s registers offense for multiply nested percent literals 363s registers offense for repeated nested percent literals 363s when handling invalid UTF8 byte sequence 363s registers offense for nested percent literal 363s registers no offense for array 363s 363s RuboCop::Cop::Style::ClassMethodsDefinitions 363s when EnforcedStyle is def_self 363s correctly handles def self.x within class << self 363s removes empty class << self when correcting 363s correctly handles class << self containing multiple methods 363s does not register an offense when `class << self` contains non public methods 363s registers and corrects an offense when defining class methods with `class << self` with comment only body 363s registers an offense and corrects when defining class methods with `class << self` and there is no blank line between method definition and attribute accessor 363s correctly handles methods with annotation comments 363s does not register an offense when defining singleton methods using `self << object` 363s does not register an offense when class << self contains only class methods 363s does not register an offense when defining class methods with `def self.method` 363s does not register an offense when class << self does not contain methods 363s registers and corrects an offense when defining class methods with `class << self` with inline comment 363s registers an offense and corrects when defining class methods with `class << self` 363s when EnforcedStyle is self_class 363s registers an offense when defining class methods with `def self.method` 363s does not register an offense when defining class methods with `class << self` 363s does not register an offense when defining singleton methods not on self 363s 363s RuboCop::Cop::Layout::MultilineMethodParameterLineBreaks 363s when one parameter on same line 363s does not add any offenses 363s when two parameters are on next line 363s does not add any offenses 363s when many parameter are on multiple lines, two on same line 363s registers an offense and corrects 363s when there are no parameters 363s does not add any offenses 363s when many parameters including hash are on multiple lines, three on same line 363s registers an offense and corrects 363s when parameter's default value starts on same line but ends on different line 363s registers an offense and corrects 363s when second parameter starts on same line as end of first 363s registers an offense and corrects 363s when many parameters are on multiple lines, three on same line 363s registers an offense and corrects 363s when there are multiple parameters on the first line 363s registers an offense and corrects starting from the 2nd argument 363s 363s RuboCop::Cop::Style::NilComparison 363s configured with predicate preferred 363s registers an offense for == nil 363s registers an offense for === nil 363s registers and corrects an offense when using `x == nil` as a guard condition 363s configured with comparison preferred 363s registers and corrects an offense for `!x.nil?` 363s registers an offense for nil? 363s 363s RuboCop::Cop::Lint::DuplicateElsifCondition 363s registers an offense for subsequent repeated elsif conditions 363s registers multiple offenses for multiple repeated elsif conditions 363s registers an offense for repeated elsif conditions 363s does not register an offense for partially repeated elsif conditions 363s does not register an offense for non-repeated elsif conditions 363s 363s RuboCop::Cop::Style::AutoResourceCleanup 364s does not register an offense for File.open with immediate close 364s does not register an offense for File.open with block 364s does not register an offense for File.open with block-pass 364s registers an offense for File.open without block 364s 364s RuboCop::Cop::Style::SingleArgumentDig 364s dig over a variable as caller 364s with single argument 364s registers an offense and corrects unsuitable use of dig 364s with multiple arguments 364s does not register an offense 364s when using multiple `dig` in a method chain 364s registers and corrects an offense 364s when using dig with splat operator 364s does not register an offense 364s dig over literal 364s when using dig with splat operator 364s does not register an offense 364s with single argument 364s registers an offense and corrects unsuitable use of dig 364s with multiple arguments 364s does not register an offense 364s when without a receiver 364s does not register an offense 364s >= Ruby 2.7 364s when using dig with arguments forwarding 364s does not register an offense 364s 364s RuboCop::Cop::Style::RedundantInitialize 364s registers an offense for an `initialize` method with a default argument that does nothing 364s registers and corrects an offense for an `initialize` method with no arguments that calls `super` with no arguments 364s does not register an offense for an empty `initialize` method with a kwsplat` 364s does not register an offense for a method not named `initialize` that only calls super 364s does not register an offense for an empty `initialize` method with a argument forwarding` 364s does not register an offense for an `initialize` method that calls another method before `super` 364s does not register an offense for an `initialize` method that calls another method 364s does not register an offense for an `initialize` method with a default keyword argument that calls `super` 364s does not register an offense for an `initialize` method that calls `super` with no arguments 364s registers and corrects an offense for an `initialize` method with arguments that only calls `super` 364s registers and corrects an offense for an `initialize` method that only calls `super` 364s does not register an offense for an empty `initialize` method with a splat` 364s does not register an offense for an empty `initialize` method with a splat` and super 364s registers and corrects an offense for an `initialize` method with arguments that only calls `super` with explicit args 364s does not register an offense for an `initialize` method with only a comment 364s does not register an offense for an `initialize` method with a default argument that calls `super` 364s registers an offense for an `initialize` method with a default keyword argument that does nothing 364s registers and corrects an offense for an empty `initialize` method 364s does not register an offense for an `initialize` method that calls another method after `super` 364s does not register an offense for an `initialize` method that calls `super` with a different argument list 364s does not register an offense for an empty method not named `initialize` 364s when `AllowComments: false` 364s registers and corrects an offense for an `initialize` method with only a comment 364s 364s RuboCop::CLI --disable-uncorrectable 364s --disable-uncorrectable 364s does not disable anything for cops that support autocorrect 364s when exist offense for Layout/SpaceInsideArrayLiteralBrackets 364s when `EnforcedStyle: space` 364s does not disable anything for cops that support autocorrect 364s when `EnforcedStyle: no_space` 364s does not disable anything for cops that support autocorrect 364s if one one-line disable statement fits 365s adds it when the cop supports autocorrect but does not correct the offense 365s adds it 365s but there are more offenses on the line and they don't all fit 365s adds both one-line and before-and-after disable statements 365s and there are two offenses of the same kind on one line 366s adds a single one-line disable statement 366s if a one-line disable statement doesn't fit 366s adds before-and-after disable statement 366s and the offense is inside a heredoc 366s adds before-and-after disable statement around the heredoc 366s 366s RuboCop::Cop::Lint::HashCompareByIdentity 366s registers an offense when using hash method with `object_id` as a key 366s does not register an offense for hash methods without `object_id` as key 366s registers an offense when using hash methods with `object_id` on receiver as a key 366s 366s RuboCop::ResultCache 366s #save 366s when the @path is not writable 366s behaves like invalid cache location 366s doesn't raise an exception 366s behaves like invalid cache location 366s doesn't raise an exception 366s when the default internal encoding is UTF-8 366s writes non UTF-8 encodable data to file with no exception 366s .cleanup 366s removes the oldest files in the cache if needed 366s the cache path 366s when CacheRootDirectory not set 366s and XDG_CACHE_HOME is set 367s contains the given path and UID 367s and XDG_CACHE_HOME is not set 367s contains $HOME/.cache 367s when CacheRootDirectory is set 367s contains the given root 367s and RUBOCOP_CACHE_ROOT is set 367s contains the root from RUBOCOP_CACHE_ROOT 367s cached result that was saved with no command line option 367s when --only is given 367s is invalid 367s when --display-cop-names is given 367s is invalid 367s when --cache-root is given 367s takes the cache_root from the options 367s when offenses are saved 367s an offense with status corrected 367s serializes them with uncorrected status 367s an offense with status uncorrected 367s serializes them with uncorrected status 367s an offense with status new_status 367s serializes them with new_status status 367s an offense with status unsupported 367s serializes them with unsupported status 367s an offense with status corrected_with_todo 367s serializes them with uncorrected status 367s when a cache source is read 367s has utf8 encoding 367s when --format is given 367s is valid and can be loaded 367s when no option is given 367s is valid and can be loaded 367s when file permission have changed 367s is invalid 367s when file contents have changed 367s is invalid 367s when team external_dependency_checksum is the same 367s is valid 367s when team external_dependency_checksum changes 367s is invalid 367s when a symlink is present in the cache location 367s and symlink attack protection is enabled 367s prevents caching and prints a warning 367s and symlink attack protection is disabled 367s permits caching and prints no warning 367s when end of line characters have changed 367s is invalid 367s 367s RuboCop::Cop::Style::PerlBackrefs 367s autocorrects $1 to ::Regexp.last_match(1) in namespace 367s autocorrects $POSTMATCH to Regexp.last_match.post_match 367s autocorrects "#$1" to "#{Regexp.last_match(1)}" 367s autocorrects /#$1/ to /#{Regexp.last_match(1)}/ 367s autocorrects $MATCH to Regexp.last_match(0) 367s autocorrects $9 to Regexp.last_match(9) 367s autocorrects $' to Regexp.last_match.post_match 367s autocorrects $+ to Regexp.last_match(-1) 367s autocorrects $& to Regexp.last_match(0) 367s autocorrects $` to Regexp.last_match.pre_match 367s autocorrects $PREMATCH to Regexp.last_match.pre_match 367s autocorrects puts $1 to puts Regexp.last_match(1) 367s autocorrects $LAST_PAREN_MATCH to Regexp.last_match(-1) 367s autocorrects `#$1` to `#{Regexp.last_match(1)}` 367s 367s RuboCop::Cop::Style::StringConcatenation 367s correctly handles strings with special characters 367s registers an offense and corrects for string concatenation as part of other expression 367s does not register an offense when using `+` with all non string arguments 367s registers an offense and corrects for string concatenation 367s correctly handles nested concatenable parts 367s double quotes inside string surrounded single quotes 367s registers an offense and corrects with double quotes 367s heredoc 367s registers an offense but does not correct when string concatenation with multiline heredoc text 367s registers an offense but does not correct 367s Mode = conservative 367s when first operand is not string literal 367s does not register offense 367s when first operand is string literal 367s registers offense 367s multiline 367s multiline block 367s registers an offense but does not correct 367s if condition 367s registers an offense but does not correct 367s simple expressions 367s registers an offense and corrects 367s string continuation 367s does not register an offense 367s double quotes inside string 367s registers an offense and corrects with double quotes 367s registers an offense and corrects with percentage quotes 367s nested interpolation 367s registers an offense and corrects 367s empty quotes 367s registers offense and corrects 367s inline block 367s registers an offense but does not correct 367s 367s RuboCop::Cop::Style::SymbolArray 367s with non-default MinSize 367s does not autocorrect array of one symbol if MinSize > 1 367s when EnforcedStyle is percent 367s does not register an offense if symbol contains whitespace 367s autocorrects arrays of symbols with embedded newlines and tabs 367s registers an offense for arrays of symbols 367s uses %I when appropriate 367s does not register an offense for array starting with %i 367s autocorrects arrays of one symbol 367s detects when the cop must be disabled to avoid offenses 367s detects right value for MinSize to use for --auto-gen-config 367s registers an offense in a non-ambiguous block context 367s autocorrects arrays of symbols with new line 367s doesn't break when a symbol contains ) 367s does not register an offense for array with non-syms 367s when PreferredDelimiters is specified 367s autocorrects an array in multiple lines 367s autocorrects an array with delimiters 367s autocorrects an array using partial newlines 367s when EnforcedStyle is brackets 367s does not register an offense for arrays of symbols 367s autocorrects multiline %i array 367s autocorrects an array starting with %i 367s autocorrects an array has interpolations 367s registers an offense for empty array starting with %i 367s registers an offense for array starting with %i 367s 367s RuboCop::Cop::Security::MarshalLoad 367s registers an offense for using Marshal.restore 367s does not register an offense Marshal methods under another namespace 367s registers an offense for using Marshal.load 367s allows using dangerous Marshal methods for deep cloning 367s does not register an offense for Marshal.dump 367s 367s RuboCop::Cop::Layout::HashAlignment 368s accepts single line hash 368s register no offense for superclass call without args 368s register no offense for yield without args 368s accepts several pairs per line 368s accepts pairs that don't start a line 368s ignore implicit last argument hash 368s accepts misaligned keys in implicit hash for yield 368s registers an offense and corrects misaligned keys in explicit hash 368s accepts misaligned keys in implicit hash for super 368s accepts misaligned keys in implicit hash 368s registers an offense and corrects misaligned keys in explicit hash for super 368s registers an offense and corrects misaligned keys in explicit hash for yield 368s with `EnforcedHashRocketStyle`: `table` 368s and aligned keys but a double splat argument after 368s does not register an offense on the `kwsplat` 368s when the only item is a kwsplat 368s does not register an offense 368s and a misaligned double splat argument 368s registers an offense and corrects 368s and a double splat argument after a hash key 368s registers an offense on the misaligned key and corrects 368s and misaligned keys 368s registers an offense and corrects 368s with table+separator alignment configuration 368s accepts a single method argument entry with colon 368s ignore explicit last argument hash 368s accepts misaligned keys in explicit hash 368s accepts misaligned keys in explicit hash for yield 368s registers an offense and corrects misaligned keys in implicit hash for yield 368s registers an offense and corrects misaligned keys in implicit hash for super 368s accepts misaligned keys in explicit hash for super 368s registers an offense and corrects misaligned keys in implicit hash 368s when using hash value omission 368s registers an offense and corrects misaligned keys in implicit hash 368s accepts misaligned keys in explicit hash 368s with multiple preferred(key and table) alignment configuration 368s accepts aligned hash keys, by both 368s accepts aligned hash keys, by table 368s registers an offense and corrects misaligned hash values, prefer key when least offenses 368s registers an offense and corrects misaligned hash values, works separate for each hash 368s accepts aligned hash keys with mixed hash style 368s registers an offense and corrects misaligned hash values 368s accepts an empty hash 368s accepts aligned hash keys, by keys 368s registers an offense and corrects misaligned hash values, prefer table when least offenses 368s registers an offense and corrects misaligned hash keys with mixed hash style 368s table and key config 368s registers an offense and corrects misaligned hash values, prefer table because it is specified first 368s when using hash value omission 368s accepts single line hash 368s accepts several pairs per line 368s accepts pairs that don't start a line 368s always inspect last argument hash 368s registers an offense and corrects misaligned keys in implicit hash for super 368s registers offense and corrects misaligned keys in implicit hash 368s registers an offense and corrects misaligned keys in implicit hash for yield 368s registers an offense and corrects misaligned keys in explicit hash for yield 368s registers an offense and corrects misaligned keys in explicit hash for super 368s registers offense and corrects misaligned keys in explicit hash 368s when using hash value omission 368s registers offense and corrects misaligned keys in implicit hash 368s registers offense and corrects misaligned keys in explicit hash 368s with different settings for => and : 368s registers offenses and correct misaligned entries 368s accepts aligned entries 368s with table alignment configuration 368s registers an offense for misaligned hash values 368s accepts a keyword splat only hash 368s accepts an empty hash 368s accepts a symbol only hash followed by a keyword splat 368s accepts hashes that use different separators and double splats 368s accepts aligned hash keys and values 368s registers an offense and corrects misaligned hash rockets 368s accepts pairs that don't start a line 368s accepts a multiline array of single line hashes 368s accepts hashes that use different separators 368s registers an offense and corrects for misaligned hash keys 368s accepts single line hash 368s accepts several pairs per line 368s when using hash value omission 368s accepts aligned hash keys and values 368s when using hash value omission 368s accepts single line hash 368s accepts several pairs per line 368s accepts pairs that don't start a line 368s with default configuration 368s registers an offense and corrects alignment when using double splat in braces 368s registers an offense and corrects mixed hash styles 368s registers an offense and corrects table alignment 368s registers an offense and corrects separator alignment 368s does not register an offense when value starts on next line 368s registers an offense and corrects alignment when using double splat in an explicit hash 368s registers an offense and corrects multiline value starts in wrong place 368s registers an offense and corrects zero or multiple spaces 368s registers an offense and corrects misaligned mixed multiline hash keys 368s registers an offense and corrects misaligned hash keys 368s accepts left-aligned hash keys with single spaces 368s with implicit hash as last argument 368s registers an offense and corrects misaligned hash keys 368s accepts aligned hash keys 368s registers an offense and corrects right alignment of keys 368s accepts an empty hash 368s with invalid configuration 368s fails 368s with `EnforcedColonStyle`: `table` 368s when the only item is a kwsplat 368s does not register an offense 368s and a misaligned double splat argument 368s registers an offense and corrects 368s and misaligned keys 368s registers an offense and corrects 368s and a double splat argument after a hash key 368s registers an offense on the misaligned key and corrects 368s when using hash value omission 368s and aligned keys 368s does not register an offense and corrects 368s and aligned keys but a double splat argument after 368s does not register an offense on the `kwsplat` 368s always ignore last argument hash 368s accepts misaligned keys in explicit hash 368s accepts misaligned keys in explicit hash for yield 368s accepts misaligned keys in implicit hash 368s accepts misaligned keys in implicit hash for yield 368s accepts misaligned keys in implicit hash for super 368s accepts misaligned keys in explicit hash for super 368s with separator alignment configuration 368s registers an offense and corrects mixed indentation and spacing 368s accepts single line hash 368s accepts pairs that don't start a line 368s accepts hashes with different separators 368s accepts several pairs per line 368s registers an offense and corrects misaligned hash values 368s registers an offense and corrects misaligned hash rockets 368s doesn't break code by moving long keys too far left 368s accepts an empty hash 368s accepts aligned hash keys 368s when using hash value omission 368s accepts aligned hash keys 368s registers an offense and corrects mixed indentation and spacing 368s when using hash value omission 368s accepts single line hash 368s accepts several pairs per line 368s accepts pairs that don't start a line 368s when `EnforcedStyle: with_fixed_indentation` of `ArgumentAlignment` 368s registers and corrects an offense when using misaligned keyword arguments 368s does not register an offense for an empty hash literal 368s register and corrects an offense 368s does not register an offense using aligned hash argument for `proc.()` 368s does not register an offense using aligned hash literal 368s when using hash value omission 368s does not register and corrects an offense when using aligned keyword arguments 368s register and corrects an offense 368s 368s RuboCop::Cop::Style::CommentedKeyword 368s does not register an offense if AST contains # symbol 368s accepts keyword letter sequences that are not keywords 368s registers an offense and corrects when commenting after keyword with spaces 368s does not register an offense if there are no comments after keywords 368s registers an offense and corrects for one-line cases 368s registers an offense and corrects when commenting on the same line as `end` 368s registers an offense and corrects when commenting on the same line as `module` 368s registers an offense and corrects when commenting on the same line as `class` 368s does not register an offense for certain comments 368s registers an offense and corrects when commenting on the same line as `begin` 368s registers an offense and corrects when commenting on the same line as `def` 368s checks a long comment in less than one second 368s registers an offense and corrects when commenting on indented keywords 368s 368s RuboCop::Cop::Metrics::BlockNesting 368s accepts if/elsif 368s accepts `Max` levels of nesting 368s `Max + 1` levels of `if` nesting 368s registers an offense 368s when CountBlocks is false 368s accepts nested multiline blocks 368s accepts nested inline blocks 368s nested `for` 368s registers an offense 368s nested `while` 368s registers an offense 368s nested modifier `while` 368s registers an offense 368s nested `rescue` 369s registers an offense 369s Multiple nested `ifs` at same level 369s registers 2 offenses 369s nested modifier `until` 369s registers an offense 369s nested `until` 369s registers an offense 369s nested `case` 369s registers an offense 369s when CountBlocks is true 369s nested multiline block 369s registers an offense 369s nested inline block 369s registers an offense 369s `Max + 2` levels of `if` nesting 369s registers an offense 369s 369s RuboCop::Cop::Style::Documentation 369s registers an offense for a deeply nested class 369s registers an offense for non-empty cbase class 369s accepts non-empty class with documentation 369s registers an offense for non-empty class with encoding comment 369s registers an offense for non-namespace 369s registers an offense for non-empty class 369s accepts non-empty class with annotation comment followed by other comment 369s accepts namespace module which defines constants 369s accepts empty class without documentation 369s does not consider comment followed by empty line to be class documentation 369s registers offense for non-empty class with frozen string comment 369s registers an offense for empty module without documentation 369s accepts namespace class without documentation 369s accepts non-empty class with comment that ends with an annotation 369s accepts namespace class which defines constants 369s registers an offense for compact-style nested class 369s registers an offense for non-empty class with directive comment 369s registers an offense for compact-style nested module 369s does not raise an error for an implicit match conditional 369s accepts non-empty module with documentation 369s registers an offense if the comment line contains code 369s registers an offense for non-empty class with annotation comment 369s accepts namespace module without documentation 369s sparse and trailing comments 369s ignores sparse comments inside module node 369s ignores comments after module node end 369s ignores sparse comments inside class node 369s ignores comments after class node end 369s with # :nodoc: 369s accepts compact-style nested module without documentation 369s accepts non-namespace module without documentation 369s registers an offense for nested class without documentation 369s accepts compact-style nested class without documentation 369s accepts non-namespace class without documentation 369s registers an offense for nested module without documentation 369s with `all` modifier 369s accepts nested module without documentation 369s on a subclass 369s accepts non-namespace subclass without documentation 369s registers an offense for nested subclass without documentation 369s when AllowedConstants is configured 369s ignores the constants in the config 369s with `all` modifier 369s accepts nested subclass without documentation 369s with `all` modifier 369s accepts nested class without documentation 369s without documentation 369s with non-empty class 369s with constants visibility declaration content 369s does not register an offense 369s macro-only class 369s does not register offense with single macro 369s registers offense for macro with other methods 369s does not register offense with multiple macros 369s with non-empty module 369s with constants visibility declaration content 369s does not register an offense 369s 369s RuboCop::Cop::Style::RedundantFileExtensionInRequire 369s registers an offense and corrects when requiring filename ending with `.rb` 369s does not register an offense when requiring variable as a filename 369s does not register an offense when requiring filename without an extension 369s does not register an offense when requiring filename ending with `.so` 369s 369s RuboCop::Cop::Severity 369s has a few required attributes 369s overrides #to_s 369s redefines == to compare severities 369s is frozen 369s Comparable 369s error 369s is expected to be < fatal 369s refactor 369s is expected to be < convention 369s warning 369s is expected to be < error 369s convention 369s is expected to be < warning 369s info 369s is expected to be < refactor 369s #code 369s fatal 369s is expected to eq "F" 369s info 369s is expected to eq "I" 369s refactor 369s is expected to eq "R" 369s error 369s is expected to eq "E" 369s convention 369s is expected to eq "C" 369s warning 369s is expected to eq "W" 369s #level 369s refactor 369s is expected to eq 2 369s convention 369s is expected to eq 3 369s warning 369s is expected to eq 4 369s info 369s is expected to eq 1 369s error 369s is expected to eq 5 369s fatal 369s is expected to eq 6 369s constructs from code 369s I 369s is expected to eq # 369s C 369s is expected to eq # 369s R 369s is expected to eq # 369s E 369s is expected to eq # 369s W 369s is expected to eq # 369s F 369s is expected to eq # 369s 369s RuboCop::Formatter::TextUtil 369s pluralize 369s will not pluralize 1 369s will pluralize -1 369s will change 0 to no when configured 369s will pluralize negative quantities less than -1 369s will pluralize fractions 369s will pluralize quantities greater than 1 369s will not change 0 to no 369s 369s RuboCop::Cop::Style::EvalWithLocation 369s registers an offense when using `#eval` without lineno 369s registers an offense when using `#instance_eval` without any arguments 369s registers an offense when using `#class_eval` with an incorrect lineno 369s registers an offense when using `Kernel.eval` without any arguments 369s does not register an offense if `eval` is called on another object 369s registers an offense when using `instance_eval` with improper arguments 369s registers an offense when using `#eval` with an incorrect line number 369s accepts `eval` with a code that is a variable 369s registers an offense when using `::Kernel.eval` without any arguments 369s registers an offense when using `#class_eval` without any arguments 369s registers an offense when using `#module_eval` without any arguments 369s registers an offense when using `#eval` with a string on a new line 369s does not register an offense when using eval with block argument 369s registers an offense when using correct file argument but incorrect line 369s registers an offense when using `#instance_eval` with a string argument in parentheses 369s registers an offense when using `eval` with improper arguments 369s registers an offense when using `module_eval` with improper arguments 369s registers an offense when using `class_eval` with improper arguments 369s accepts `eval` with a string, a filename and `__LINE__` on a new line 369s registers an offense when using `#eval` with `binding` only 369s accepts `eval` with a string, a filename and `__LINE__` 369s registers an offense when using `#eval` with a heredoc and an incorrect line number 369s accepts `eval` with a heredoc, a filename and `__LINE__ + 1` 369s registers an offense when using `#eval` without any arguments 369s 369s RuboCop::Cop::Style::UnlessElse 369s unless with else 369s registers an offense 369s and nested unless with else 369s registers offenses for both but corrects only the outer unless/else 369s unless with nested if-else 369s registers an offense 369s unless without else 369s does not register an offense 369s 369s RuboCop::Cop::Style::EndBlock 369s does not report offenses for other blocks 369s reports an offense and corrects END block 369s 369s RuboCop::Cop::Lint::Loop 369s registers an offense for begin/end/until 369s accepts loop/break unless 369s accepts loop/break if 369s registers an offense and corrects for begin/end/while 369s 369s RuboCop::Cop::Layout::EndOfLine 369s when EnforcedStyle is lf 369s accepts an empty file 369s does not register offenses after __END__ 369s registers an offense for CR at end of file 369s registers an offense for CR+LF 369s and there are many lines ending with CR+LF 369s can inspect non-UTF-8 encoded source with proper encoding comment 369s registers only one offense 369s and the default external encoding is US_ASCII 369s can inspect non-UTF-8 encoded source with proper encoding comment 369s does not crash on UTF-8 encoded non-ascii characters 369s when EnforcedStyle is native 369s registers an offense for an incorrect EOL 369s when EnforcedStyle is crlf 369s registers an offense for CR+LF 369s does not register offense for no CR at end of file 369s does not register offenses after __END__ 369s accepts an empty file 369s and the default external encoding is US_ASCII 369s can inspect non-UTF-8 encoded source with proper encoding comment 369s does not crash on UTF-8 encoded non-ascii characters 369s and there are many lines ending with LF 369s can inspect non-UTF-8 encoded source with proper encoding comment 369s registers only one offense 369s 369s RuboCop::Cop::Style::SelectByRegexp 369s with find_all 369s does not register an offense when the receiver is `Hash[]` 369s does not register an offense when the receiver is `to_hash` 369s does not register an offense when the block param is a method argument 369s does not register an offense when the receiver is `to_h` 369s registers an offense and corrects for `blockvar =~ regexp` 369s does not register an offense when the block arity is not 1 369s registers an offense and corrects for `regexp =~ blockvar` 369s does not register an offense when there is no block 369s registers an offense and corrects for `lvar =~ blockvar` 369s registers an offense and corrects when the receiver is a range 369s registers an offense and corrects for `Regexp#match?` 369s registers an offense and corrects for `blockvar =~ lvar` 369s does not register an offense when the block has multiple expressions 369s does not register an offense when given a proc 369s registers an offense and corrects with a multiline block 369s registers an offense and corrects when there is no explicit regexp 369s does not register an offense when the block does not match a regexp 369s does not register an offense when the receiver is a hash literal 370s does not register an offense when the block uses an external variable in a regexp match 370s registers an offense and corrects when the receiver is a set 370s registers an offense and corrects when the receiver is an array 370s does not register an offense when the receiver is `Hash.new` 370s registers an offense if `to_h` is in the receiver chain but not the actual receiver 370s registers an offense and corrects for `match?` 370s registers an offense and corrects without a receiver 370s does not register an offense when the receiver is `ENV` 370s with `numblock`s 370s does not register an offense when the param is a method argument 370s registers an offense and corrects for `match?` 370s registers an offense and corrects for `blockvar =~ regexp` 370s registers an offense and corrects for `regexp =~ blockvar` 370s registers an offense and corrects for `Regexp#match?` 370s does not register an offense if there is more than one numbered param 370s does not register an offense when using `match?` without a receiver 370s with select 370s does not register an offense when the receiver is `to_hash` 370s registers an offense and corrects when the receiver is a set 370s does not register an offense when the block has multiple expressions 370s registers an offense and corrects for `blockvar =~ lvar` 370s does not register an offense when the block param is a method argument 370s does not register an offense when the block arity is not 1 370s does not register an offense when given a proc 370s does not register an offense when the block does not match a regexp 370s does not register an offense when the block uses an external variable in a regexp match 370s registers an offense and corrects with a multiline block 370s does not register an offense when the receiver is `ENV` 370s does not register an offense when there is no block 370s registers an offense and corrects for `regexp =~ blockvar` 370s registers an offense if `to_h` is in the receiver chain but not the actual receiver 370s registers an offense and corrects for `Regexp#match?` 370s does not register an offense when the receiver is `to_h` 370s registers an offense and corrects when the receiver is a range 370s registers an offense and corrects for `blockvar =~ regexp` 370s does not register an offense when the receiver is a hash literal 370s does not register an offense when the receiver is `Hash[]` 370s registers an offense and corrects for `lvar =~ blockvar` 370s registers an offense and corrects when there is no explicit regexp 370s registers an offense and corrects without a receiver 370s registers an offense and corrects when the receiver is an array 370s registers an offense and corrects for `match?` 370s does not register an offense when the receiver is `Hash.new` 370s with `numblock`s 370s does not register an offense when the param is a method argument 370s does not register an offense if there is more than one numbered param 370s registers an offense and corrects for `blockvar =~ regexp` 370s registers an offense and corrects for `match?` 370s registers an offense and corrects for `regexp =~ blockvar` 370s registers an offense and corrects for `Regexp#match?` 370s does not register an offense when using `match?` without a receiver 370s with reject 370s registers an offense and corrects with a multiline block 370s registers an offense and corrects for `match?` 370s does not register an offense when the receiver is `to_h` 370s registers an offense and corrects when the receiver is a set 370s does not register an offense when the block param is a method argument 370s does not register an offense when the block arity is not 1 370s does not register an offense when the receiver is `Hash.new` 370s does not register an offense when the receiver is `Hash[]` 370s registers an offense and corrects for `Regexp#match?` 370s does not register an offense when the receiver is `to_hash` 370s does not register an offense when the block uses an external variable in a regexp match 370s does not register an offense when the block does not match a regexp 370s registers an offense if `to_h` is in the receiver chain but not the actual receiver 370s registers an offense and corrects without a receiver 370s registers an offense and corrects for `blockvar =~ lvar` 370s does not register an offense when the receiver is a hash literal 370s registers an offense and corrects when the receiver is an array 370s does not register an offense when the block has multiple expressions 370s registers an offense and corrects for `blockvar =~ regexp` 370s registers an offense and corrects when the receiver is a range 370s registers an offense and corrects for `regexp =~ blockvar` 370s does not register an offense when the receiver is `ENV` 370s does not register an offense when there is no block 370s does not register an offense when given a proc 370s registers an offense and corrects for `lvar =~ blockvar` 370s registers an offense and corrects when there is no explicit regexp 370s with `numblock`s 370s does not register an offense when using `match?` without a receiver 370s registers an offense and corrects for `blockvar =~ regexp` 370s registers an offense and corrects for `regexp =~ blockvar` 370s registers an offense and corrects for `match?` 370s does not register an offense when the param is a method argument 370s registers an offense and corrects for `Regexp#match?` 370s does not register an offense if there is more than one numbered param 370s 370s RuboCop::Cop::Gemspec::RubyVersionGlobalsUsage 370s registers an offense when using `::RUBY_VERSION` 370s does not register an offense when no `RUBY_VERSION` 370s registers an offense when using `RUBY_VERSION` 370s 370s RuboCop::Cop::Style::NegatedIfElseCondition 370s does not register an offense when negating condition for `if-elsif` 370s does not register an offense when `if` with `!!` condition 370s does not register an offense when both branches are empty 370s correctly moves comments at the end of branches 370s registers an offense and corrects when negating condition with `!` for `if-else` 370s registers an offense and corrects nested `if-else` with negated condition 370s works with duplicate nodes 370s registers an offense when using negated condition and `if` branch body is empty 370s does not register an offense when the `else` branch is empty 370s works with comments when neither branch is a begin node 370s does not register an offense when `if` with negated condition has no `else` branch 370s does not register an offense when only part of the condition is negated 370s registers an offense and corrects a multiline ternary 370s works with comments and multiple statements 370s registers an offense and corrects when negating condition with `not` for ternary 370s works with comments when one branch is a begin and the other is not 370s moves comments to correct branches during autocorrect 370s registers an offense and corrects when negating condition with `not` for `if-else` 370s behaves like negation method 370s registers an offense and corrects when negating condition with `!~` in begin-end for ternary 370s registers an offense and corrects when negating condition with `!~` for `if-else` 370s registers an offense and corrects when negating condition with `!~` in parentheses for `if-else` 370s registers an offense and corrects when negating condition with `!~` in begin-end for `if-else` 370s registers an offense and corrects when negating condition with `!~` for ternary 370s registers an offense and corrects when negating condition with `!~` in parentheses for ternary 370s behaves like negation method 370s registers an offense and corrects when negating condition with `!=` for `if-else` 370s registers an offense and corrects when negating condition with `!=` for ternary 370s registers an offense and corrects when negating condition with `!=` in begin-end for `if-else` 370s registers an offense and corrects when negating condition with `!=` in parentheses for `if-else` 370s registers an offense and corrects when negating condition with `!=` in parentheses for ternary 370s registers an offense and corrects when negating condition with `!=` in begin-end for ternary 370s 370s RuboCop::Cop::Style::TrivialAccessors 370s registers an offense on one-liner writer 370s registers an offense on reader with `private` 370s registers an offense on instance writer 370s accepts writer nested within a module 370s accepts an initialize method looking like a writer 370s accepts writer using top level 370s accepts non-trivial reader 370s accepts reader nested within a module 370s accepts reader with different ivar name 370s registers an offense on one-liner reader 370s accepts splats 370s accepts writer with different ivar name 370s accepts expressions within writer 370s accepts expressions within reader 370s accepts blocks 370s registers an offense on writer without braces 370s accepts non-trivial writer 370s accepts writer in a module 370s flags a reader inside a class, inside an instance_eval call 370s accepts reader nested within an instance_eval call 370s registers an offense on class writer 370s registers an offense on reader with braces 370s does not register an offense on DSL-style writer 370s registers an offense on instance reader 370s registers an offense on class reader 370s accepts writer nested within an instance_eval call 370s accepts reader using top level 370s ignore class methods 370s accepts class writer 370s accepts class reader 370s allow predicates 370s accepts predicate-like reader 370s with DSL denied 370s registers an offense on DSL-style writer 370s disallow predicates 370s does not accept predicate-like reader 370s exact name match disabled 370s registers an offense when names mismatch in reader 370s registers an offense when names mismatch in writer 370s with allowed methods 370s accepts allowed writer 370s accepts allowed reader 370s with AllowPredicates: false 370s accepts allowed predicate 370s 370s RuboCop::Cop::Lint::UriRegexp 370s registers an offense and corrects using `::URI.regexp` with argument 370s registers an offense and corrects using `URI.regexp` without argument 370s registers an offense and corrects using `::URI.regexp` without argument 370s does not register an offense when using `regexp` with variable receiver 370s does not register an offense when using `regexp` without receiver 370s registers an offense and corrects using `URI.regexp` with argument 370s array argument 371s registers an offense and corrects using `URI.regexp` with literal arrays 371s registers an offense and corrects using `URI.regexp` with %i arrays 371s registers an offense and corrects using `URI.regexp` with %w arrays 371s 371s RuboCop::Cop::Style::ColonMethodDefinition 371s accepts a class method defined using . 371s using self 371s registers an offense for a class method defined using :: 371s using the class name 371s registers an offense for a class method defined using :: 371s 371s RuboCop::Cop::Style::MagicCommentFormat 371s snake case style 371s does not register an offense for incorrect style in comments after the first statement 371s does not register an offense for dashes in other comments 371s accepts a frozen string literal in snake case in emacs style 371s accepts an empty source 371s registers an offense for kebab case in emacs style 371s registers an offense for mixed case 371s registers an offense for kebab case 371s accepts a source with no tokens 371s accepts a magic comments in snake case 371s invalid config 371s DirectiveCapitalization 371s raises an error 371s ValueCapitalization 371s raises an error 371s DirectiveCapitalization 371s when lowercase 371s registers an offense and corrects when the case does not match 371s when uppercase 371s registers an offense and corrects when the case does not match 371s when not set 371s does not change the case of magic comment directives 371s ValueCapitalization 371s when lowercase 371s registers an offense and corrects when the case does not match 371s when not set 371s does not change the case of magic comment directives 371s when uppercase 371s registers an offense and corrects when the case does not match 371s kebab case style 371s registers an offense for snake case in emacs style 371s registers an offense for mixed case 371s does not register an offense for incorrect style in comments after the first statement 371s accepts an empty source 371s accepts a source with no tokens 371s does not register an offense for dashes in other comments 371s registers an offense for snake case 371s accepts a magic comments in kebab case 371s accepts a frozen string literal in snake case in emacs style 371s all issues at once 371s registers and corrects multiple issues 371s 371s RuboCop::Cop::Badge 371s exposes department name 371s compares by value 371s can be converted to a string with the Department/CopName format 371s exposes cop name 371s #qualified? 371s says `Deep/Department/CopName` is qualified 371s says `Department/CopName` is qualified 371s says `CopName` is not qualified 371s #camel_case 371s converts "foo_bar" to CamelCase 371s converts "lint" to CamelCase 371s converts "rspec" to CamelCase 371s .new 371s assigns name 371s assigns name 371s assigns department 371s assigns department 371s assigns name 371s assigns name 371s assigns department 371s assigns department 371s .parse 371s parses identifier 371s parses identifier 371s parses identifier 371s parses identifier 371s parses identifier 371s parses identifier 371s .for 371s parses cop class name 371s parses cop class name 371s parses cop class name 371s parses cop class name 371s parses cop class name 371s 371s RuboCop::Cop::Bundler::GemVersion 371s when EnforcedStyle is set to required (default) 371s does not flag gems with a specified version 371s flags gems that do not specify a version 371s does not flag gems included in AllowedGems metadata 371s when EnforcedStyle is set to forbidden 371s does not flag gems without a specified version 371s does not flag gems included in AllowedGems metadata 371s flags gems that specify a gem version 371s 371s RuboCop::Cop::Style::SafeNavigation 371s allows method call that is used in a spaceship comparison safe guarded by an object check 371s allows an object check before hash access 371s allows an object check before a negated predicate method chain 371s allows an object check before a negated predicate 371s allows an object check before a method call that is used in a spaceship comparison 371s allows object checks in the condition of an elsif statement and a method call on that object in the body 371s allows chained method calls during assignment safe guardedby an object check 371s allows method call that is used in a regex comparison safe guarded by an object check 371s does not move comments that are inside an inner block 371s allows an object check before a method call that is used in a comparison 371s allows method calls that do not get called using . safe guarded by an object check 371s allows an object check before a blank check 371s allows an object check before a nil check on a short chain 371s allows calls to methods not safeguarded by respond_to 371s allows an object check before a negated method call with a safe navigation 371s allows method call that is used in a negated regex comparison safe guarded by an object check 371s allows a method call safeguarded with a negative check for the object when using `if` 371s allows a method call as a parameter when the parameter is safe guarded with an object check 371s allows a method call safeguarded with a negative check for the object when using `unless` 371s allows an object check before a long chain with a block 371s allows a method chain that is used in a comparison safe guarded by an object check 371s allows calls using safe navigation 371s allows chained method calls during arithmetic operations safe guarded by an object check 371s allows an object check before a method chain longer than 2 methods 371s allows an object check before a method chain that is used in a comparison 371s allows for empty if blocks with comments 371s allows an object check before a method call that is used in a negated regex comparison 371s allows an object check before a method call that is used in a regex comparison 371s allows an object check before a nil check on a long chain 371s allows calls on nil 371s allows method call that is used in a comparison safe guarded by an object check 371s allows an object check before a method call that is used with `empty?` 371s allows a method call safeguarded when using `unless nil?` 371s behaves like all variable types 371s if expression 371s registers an offense for a single method call inside of an unless nil check for the object 371s registers an offense for a single method call inside of a non-nil check for the object 371s registers an offense for a single method call with params and a block inside of a non-nil check for the object 371s registers an offense for a single method call inside of a check for the object 371s allows a single method call inside of a check for the object with an else 371s only moves comments that fall within the expression 371s registers an offense for a single method call with a block inside of an unless nil check for the object 371s registers an offense for a single method call with params inside of a non-nil check for the object 371s registers an offense for a single method call with a block inside of an unless negative check for the object 371s registers an offense for a single method call with params and a block inside of a check for the object 371s registers an offense for a single method call with params and a block inside of an unless negative check for the object 371s registers an offense for a single method call with params inside of an unless negative check for the object 371s registers an offense for a single method call with params inside of a check for the object 371s registers an offense for a single method call with params inside of an unless nil check for the object 371s registers an offense for a single method call inside of an unless negative check for the object 371s registers an offense for a single method call with a block inside of a non-nil check for the object 371s registers an offense for a single method call with a block inside of a check for the object 371s does not lose comments within if expression 371s registers an offense for a single method call with params and a block inside of an unless nil check for the object 371s ternary expression 371s allows ternary expression 371s object check before method call 371s allows a nil object check followed by a method call with params 371s allows a nil object check followed by a method call with params and a block 371s allows a non object check followed by a method call with params and a block 371s allows a non object check followed by a method call with a block 371s allows a nil object check followed by a method call with a block 371s allows a non object check followed by a method call 371s allows a non object check followed by a method call with params 371s allows a nil object check followed by a method call 371s ConvertCodeThatCanStartToReturnNil true 371s registers an offense for a non-nil object check followed by a method call with params 371s corrects an object check followed by a method call and another check 371s registers an offense for an object check followed by a method call with a block 371s registers an offense for an object check followed by a method call 371s registers an offense for an object check followed by a method call with params and a block 371s registers an offense for a non-nil object check followed by a method call 371s registers an offense for a non-nil object check followed by a method call with params and a block 371s registers an offense for a check for the object followed by a method call in the condition for an if expression 371s registers an offense for a non-nil object check followed by a method call with a block 371s registers an offense for an object check followed by a method call with params 371s method chaining 371s registers an offense for an object check followed by chained method calls with blocks 371s with Lint/SafeNavigationChain disabled 371s allows an object check followed by chained method calls with blocks 371s allows an object check followed by chained method calls 371s MaxChainLength: 1 371s registers an offense for an object check followed by 1 chained method calls 371s allows an object check followed by 2 chained method calls 371s MaxChainLength: 3 371s registers an offense for an object check followed by 3 chained method calls 371s allows an object check followed by 4 chained method calls 371s ConvertCodeThatCanStartToReturnNil false 371s registers an offense for an object check followed by a method calls that nil responds to 371s registers an offense for an object check followed by a method call with a block 371s allows a non-nil object check followed by a method call with a block 371s allows a non-nil object check followed by a method call with params 371s registers an offense for a check for the object followed by a method call in the condition for an if expression 371s registers an offense for an object check followed by a method call with params and a block 371s registers an offense for an object check followed by a method call 371s registers an offense for an object check followed by a method call with params 371s allows a non-nil object check followed by a method call with params and a block 371s allows a non-nil object check followed by a method call 371s method chaining 371s corrects an object check followed by a chained method call with a symbol proc 371s corrects an object check followed by a chained method call 371s corrects an object check followed by a chained method call with params 371s corrects an object check followed by a chained method call with a block 371s modifier if 371s registers an offense for a method call safeguarded with a nil check for the object 371s registers an offense for a method call with a block safeguarded with a negative nil check for the object 371s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 371s registers an offense for a method call with params and a block safeguarded with a nil check for the object 371s registers an offense for a method call with params and a block safeguarded with a negative check for the object 371s registers an offense for a method call safeguarded with a negative check for the object 371s registers an offense for a method call with params safeguarded with a nil check for the object 371s registers an offense for an object check followed by a method call with a comment at EOL 371s registers an offense for a method call with params and a block safeguarded with a check for the object 371s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 371s registers an offense for a chained method call safeguarded with a negative nil check for the object 371s registers an offense for a method call with a block safeguarded with a nil check for the object 371s registers an offense for a method call with a block safeguarded with a negative check for the object 371s registers an offense for a method call with params safeguarded with a check for the object 371s registers an offense for a method call safeguarded with a negative nil check for the object 371s registers an offense for a method call that nil responds to safe guarded by an object check 371s registers an offense for a chained method call safeguarded with a check for the object 371s registers an offense for a method call with params safeguarded with a negative nil check for the object 371s registers an offense for a chained method call safeguarded with an unless nil check for the object 371s registers an offense for a method call safeguarded with a check for the object 371s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 371s registers an offense for a method call with params safeguarded with a negative check for the object 371s registers an offense for a method call with a block safeguarded with a check for the object 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to next safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to break safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to return safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to throw safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to yield safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to fail safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to raise safe guarded by an object check 371s behaves like all variable types 371s if expression 371s registers an offense for a single method call inside of a check for the object 371s registers an offense for a single method call with params inside of a non-nil check for the object 371s registers an offense for a single method call with params inside of a check for the object 371s registers an offense for a single method call inside of an unless nil check for the object 371s registers an offense for a single method call inside of a non-nil check for the object 371s registers an offense for a single method call with params and a block inside of a check for the object 371s allows a single method call inside of a check for the object with an else 371s does not lose comments within if expression 371s registers an offense for a single method call with a block inside of a check for the object 371s registers an offense for a single method call with params and a block inside of an unless nil check for the object 371s registers an offense for a single method call with params inside of an unless negative check for the object 371s only moves comments that fall within the expression 371s registers an offense for a single method call with params and a block inside of a non-nil check for the object 371s registers an offense for a single method call with a block inside of an unless negative check for the object 371s registers an offense for a single method call with a block inside of an unless nil check for the object 371s registers an offense for a single method call with params and a block inside of an unless negative check for the object 371s registers an offense for a single method call inside of an unless negative check for the object 371s registers an offense for a single method call with params inside of an unless nil check for the object 371s registers an offense for a single method call with a block inside of a non-nil check for the object 371s ternary expression 371s allows ternary expression 371s modifier if 371s registers an offense for a method call safeguarded with a negative nil check for the object 371s registers an offense for a chained method call safeguarded with an unless nil check for the object 371s registers an offense for a method call safeguarded with a nil check for the object 371s registers an offense for a method call that nil responds to safe guarded by an object check 371s registers an offense for a method call with params and a block safeguarded with a negative check for the object 371s registers an offense for a method call with a block safeguarded with a nil check for the object 371s registers an offense for a method call with params safeguarded with a nil check for the object 371s registers an offense for a method call with params and a block safeguarded with a nil check for the object 371s registers an offense for a method call with a block safeguarded with a negative check for the object 371s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 371s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 371s registers an offense for a method call with params safeguarded with a check for the object 371s registers an offense for a method call with params safeguarded with a negative nil check for the object 371s registers an offense for a method call with params safeguarded with a negative check for the object 371s registers an offense for a method call with a block safeguarded with a check for the object 371s registers an offense for a method call with params and a block safeguarded with a check for the object 371s registers an offense for an object check followed by a method call with a comment at EOL 371s registers an offense for a chained method call safeguarded with a negative nil check for the object 371s registers an offense for a method call with a block safeguarded with a negative nil check for the object 371s registers an offense for a method call safeguarded with a negative check for the object 371s registers an offense for a chained method call safeguarded with a check for the object 371s registers an offense for a method call safeguarded with a check for the object 371s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to fail safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to yield safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to raise safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to break safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to next safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to return safe guarded by an object check 371s behaves like safe guarding logical break keywords 371s allows a method call being passed to throw safe guarded by an object check 371s object check before method call 371s allows a non object check followed by a method call 371s allows a nil object check followed by a method call with params 371s allows a non object check followed by a method call with a block 371s allows a non object check followed by a method call with params 371s allows a nil object check followed by a method call with params and a block 371s allows a nil object check followed by a method call 371s allows a nil object check followed by a method call with a block 371s allows a non object check followed by a method call with params and a block 371s ConvertCodeThatCanStartToReturnNil false 371s registers an offense for an object check followed by a method call with a block 371s allows a non-nil object check followed by a method call with params and a block 371s registers an offense for an object check followed by a method calls that nil responds to 371s allows a non-nil object check followed by a method call 371s registers an offense for an object check followed by a method call 371s registers an offense for a check for the object followed by a method call in the condition for an if expression 371s registers an offense for an object check followed by a method call with params and a block 371s allows a non-nil object check followed by a method call with params 371s registers an offense for an object check followed by a method call with params 371s allows a non-nil object check followed by a method call with a block 371s method chaining 371s corrects an object check followed by a chained method call with a block 371s corrects an object check followed by a chained method call with params 371s corrects an object check followed by a chained method call 371s corrects an object check followed by a chained method call with a symbol proc 371s ConvertCodeThatCanStartToReturnNil true 371s registers an offense for a check for the object followed by a method call in the condition for an if expression 371s registers an offense for a non-nil object check followed by a method call 371s registers an offense for a non-nil object check followed by a method call with params 371s registers an offense for a non-nil object check followed by a method call with params and a block 371s registers an offense for an object check followed by a method call with params 371s corrects an object check followed by a method call and another check 371s registers an offense for an object check followed by a method call with params and a block 371s registers an offense for an object check followed by a method call with a block 371s registers an offense for an object check followed by a method call 371s registers an offense for a non-nil object check followed by a method call with a block 371s method chaining 371s registers an offense for an object check followed by chained method calls with blocks 371s MaxChainLength: 1 371s registers an offense for an object check followed by 1 chained method calls 371s allows an object check followed by 2 chained method calls 371s with Lint/SafeNavigationChain disabled 371s allows an object check followed by chained method calls 372s allows an object check followed by chained method calls with blocks 372s MaxChainLength: 3 372s allows an object check followed by 4 chained method calls 372s registers an offense for an object check followed by 3 chained method calls 372s respond_to? 372s allows enumerable accessor method calls safeguarded by a respond_to check 372s allows method calls safeguarded by a respond_to check on adifferent variable but the same method 372s allows method calls safeguarded by a respond_to check to a different method 372s allows method calls safeguarded by a respond_to check on adifferent variable and method 372s allows method calls safeguarded by a respond_to check 372s behaves like all variable types 372s object check before method call 372s allows a non object check followed by a method call 372s allows a non object check followed by a method call with params 372s allows a non object check followed by a method call with params and a block 372s allows a non object check followed by a method call with a block 372s allows a nil object check followed by a method call with params 372s allows a nil object check followed by a method call with params and a block 372s allows a nil object check followed by a method call with a block 372s allows a nil object check followed by a method call 372s ConvertCodeThatCanStartToReturnNil false 372s registers an offense for an object check followed by a method calls that nil responds to 372s allows a non-nil object check followed by a method call with params 372s registers an offense for an object check followed by a method call 372s allows a non-nil object check followed by a method call with a block 372s allows a non-nil object check followed by a method call with params and a block 372s registers an offense for an object check followed by a method call with params 372s registers an offense for an object check followed by a method call with params and a block 372s allows a non-nil object check followed by a method call 372s registers an offense for a check for the object followed by a method call in the condition for an if expression 372s registers an offense for an object check followed by a method call with a block 372s method chaining 372s corrects an object check followed by a chained method call with params 372s corrects an object check followed by a chained method call 372s corrects an object check followed by a chained method call with a symbol proc 372s corrects an object check followed by a chained method call with a block 372s ConvertCodeThatCanStartToReturnNil true 372s corrects an object check followed by a method call and another check 372s registers an offense for a non-nil object check followed by a method call 372s registers an offense for an object check followed by a method call with params 372s registers an offense for a non-nil object check followed by a method call with a block 372s registers an offense for an object check followed by a method call with params and a block 372s registers an offense for a check for the object followed by a method call in the condition for an if expression 372s registers an offense for a non-nil object check followed by a method call with params 372s registers an offense for an object check followed by a method call 372s registers an offense for an object check followed by a method call with a block 372s registers an offense for a non-nil object check followed by a method call with params and a block 372s method chaining 372s registers an offense for an object check followed by chained method calls with blocks 372s with Lint/SafeNavigationChain disabled 372s allows an object check followed by chained method calls with blocks 372s allows an object check followed by chained method calls 372s MaxChainLength: 1 372s allows an object check followed by 2 chained method calls 372s registers an offense for an object check followed by 1 chained method calls 372s MaxChainLength: 3 372s registers an offense for an object check followed by 3 chained method calls 372s allows an object check followed by 4 chained method calls 372s modifier if 372s registers an offense for a chained method call safeguarded with an unless nil check for the object 372s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 372s registers an offense for a method call safeguarded with a nil check for the object 372s registers an offense for a method call with params and a block safeguarded with a check for the object 372s registers an offense for a method call with params safeguarded with a check for the object 372s registers an offense for a method call safeguarded with a negative check for the object 372s registers an offense for a method call that nil responds to safe guarded by an object check 372s registers an offense for a method call with params and a block safeguarded with a negative check for the object 372s registers an offense for a chained method call safeguarded with a negative nil check for the object 372s registers an offense for a method call with a block safeguarded with a negative check for the object 372s registers an offense for a method call with params safeguarded with a negative check for the object 372s registers an offense for a method call with a block safeguarded with a check for the object 372s registers an offense for a method call with params safeguarded with a nil check for the object 372s registers an offense for an object check followed by a method call with a comment at EOL 372s registers an offense for a chained method call safeguarded with a check for the object 372s registers an offense for a method call with a block safeguarded with a negative nil check for the object 372s registers an offense for a method call with a block safeguarded with a nil check for the object 372s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 372s registers an offense for a method call safeguarded with a check for the object 372s registers an offense for a method call with params safeguarded with a negative nil check for the object 372s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 372s registers an offense for a method call with params and a block safeguarded with a nil check for the object 372s registers an offense for a method call safeguarded with a negative nil check for the object 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to throw safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to next safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to return safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to break safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to raise safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to fail safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to yield safe guarded by an object check 372s if expression 372s registers an offense for a single method call inside of an unless nil check for the object 372s registers an offense for a single method call with params and a block inside of a non-nil check for the object 372s registers an offense for a single method call with params inside of an unless nil check for the object 372s registers an offense for a single method call inside of a check for the object 372s registers an offense for a single method call with params and a block inside of a check for the object 372s registers an offense for a single method call with a block inside of an unless nil check for the object 372s registers an offense for a single method call with params inside of a non-nil check for the object 372s registers an offense for a single method call with a block inside of an unless negative check for the object 372s registers an offense for a single method call with params and a block inside of an unless nil check for the object 372s only moves comments that fall within the expression 372s allows a single method call inside of a check for the object with an else 372s registers an offense for a single method call with params inside of a check for the object 372s registers an offense for a single method call inside of a non-nil check for the object 372s registers an offense for a single method call inside of an unless negative check for the object 372s registers an offense for a single method call with a block inside of a check for the object 372s registers an offense for a single method call with params inside of an unless negative check for the object 372s does not lose comments within if expression 372s registers an offense for a single method call with a block inside of a non-nil check for the object 372s registers an offense for a single method call with params and a block inside of an unless negative check for the object 372s ternary expression 372s allows ternary expression 372s when Ruby <= 2.2 372s does not register an offense when a method call that nil responds to safe guarded by an object check 372s behaves like all variable types 372s object check before method call 372s allows a non object check followed by a method call 372s allows a non object check followed by a method call with params and a block 372s allows a nil object check followed by a method call with a block 372s allows a nil object check followed by a method call 372s allows a nil object check followed by a method call with params 372s allows a nil object check followed by a method call with params and a block 372s allows a non object check followed by a method call with a block 372s allows a non object check followed by a method call with params 372s ConvertCodeThatCanStartToReturnNil false 372s registers an offense for an object check followed by a method call 372s allows a non-nil object check followed by a method call with a block 372s allows a non-nil object check followed by a method call with params 372s allows a non-nil object check followed by a method call 372s registers an offense for a check for the object followed by a method call in the condition for an if expression 372s registers an offense for an object check followed by a method calls that nil responds to 372s allows a non-nil object check followed by a method call with params and a block 372s registers an offense for an object check followed by a method call with params and a block 372s registers an offense for an object check followed by a method call with params 372s registers an offense for an object check followed by a method call with a block 372s method chaining 372s corrects an object check followed by a chained method call with a block 372s corrects an object check followed by a chained method call with a symbol proc 372s corrects an object check followed by a chained method call 372s corrects an object check followed by a chained method call with params 372s ConvertCodeThatCanStartToReturnNil true 372s registers an offense for a non-nil object check followed by a method call with params and a block 372s registers an offense for an object check followed by a method call with a block 372s registers an offense for an object check followed by a method call 372s registers an offense for an object check followed by a method call with params 372s registers an offense for a non-nil object check followed by a method call with params 372s registers an offense for a non-nil object check followed by a method call 372s registers an offense for a non-nil object check followed by a method call with a block 372s registers an offense for an object check followed by a method call with params and a block 372s registers an offense for a check for the object followed by a method call in the condition for an if expression 372s corrects an object check followed by a method call and another check 372s method chaining 372s registers an offense for an object check followed by chained method calls with blocks 372s MaxChainLength: 1 372s allows an object check followed by 2 chained method calls 372s registers an offense for an object check followed by 1 chained method calls 372s MaxChainLength: 3 372s registers an offense for an object check followed by 3 chained method calls 372s allows an object check followed by 4 chained method calls 372s with Lint/SafeNavigationChain disabled 372s allows an object check followed by chained method calls with blocks 372s allows an object check followed by chained method calls 372s modifier if 372s registers an offense for a method call with params safeguarded with a nil check for the object 372s registers an offense for a method call safeguarded with a check for the object 372s registers an offense for a method call with params and a block safeguarded with a nil check for the object 372s registers an offense for a method call with a block safeguarded with a negative check for the object 372s registers an offense for a method call with params and a block safeguarded with a negative check for the object 372s registers an offense for a method call safeguarded with a nil check for the object 372s registers an offense for a method call with a block safeguarded with a negative nil check for the object 372s registers an offense for an object check followed by a method call with a comment at EOL 372s registers an offense for a chained method call safeguarded with a negative nil check for the object 372s registers an offense for a method call safeguarded with a negative nil check for the object 372s registers an offense for a chained method call safeguarded with a check for the object 372s registers an offense for a method call that nil responds to safe guarded by an object check 372s registers an offense for a method call with a block safeguarded with a check for the object 372s registers an offense for a method call with params and a block safeguarded with a check for the object 372s registers an offense for a method call with params safeguarded with a negative check for the object 372s registers an offense for a method call with params safeguarded with a negative nil check for the object 372s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 372s registers an offense for a method call with a block safeguarded with a nil check for the object 372s registers an offense for a chained method call safeguarded with an unless nil check for the object 372s registers an offense for a method call safeguarded with a negative check for the object 372s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 372s registers an offense for a method call with params safeguarded with a check for the object 372s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to return safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to raise safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to next safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to fail safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to yield safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to throw safe guarded by an object check 372s behaves like safe guarding logical break keywords 372s allows a method call being passed to break safe guarded by an object check 372s if expression 372s registers an offense for a single method call with a block inside of an unless nil check for the object 372s registers an offense for a single method call inside of an unless negative check for the object 372s registers an offense for a single method call with a block inside of an unless negative check for the object 372s registers an offense for a single method call with params inside of an unless negative check for the object 372s registers an offense for a single method call with params inside of a non-nil check for the object 372s registers an offense for a single method call with params and a block inside of an unless negative check for the object 372s only moves comments that fall within the expression 372s registers an offense for a single method call with params inside of a check for the object 372s registers an offense for a single method call with a block inside of a check for the object 372s registers an offense for a single method call with params inside of an unless nil check for the object 372s registers an offense for a single method call with params and a block inside of an unless nil check for the object 372s registers an offense for a single method call with params and a block inside of a non-nil check for the object 372s allows a single method call inside of a check for the object with an else 372s registers an offense for a single method call inside of an unless nil check for the object 372s registers an offense for a single method call inside of a non-nil check for the object 372s registers an offense for a single method call inside of a check for the object 372s registers an offense for a single method call with params and a block inside of a check for the object 372s does not lose comments within if expression 372s registers an offense for a single method call with a block inside of a non-nil check for the object 372s ternary expression 372s allows ternary expression 372s behaves like all variable types 372s object check before method call 372s allows a non object check followed by a method call with params and a block 372s allows a nil object check followed by a method call with a block 372s allows a nil object check followed by a method call 372s allows a nil object check followed by a method call with params 372s allows a non object check followed by a method call with params 372s allows a nil object check followed by a method call with params and a block 372s allows a non object check followed by a method call with a block 372s allows a non object check followed by a method call 372s ConvertCodeThatCanStartToReturnNil false 372s allows a non-nil object check followed by a method call with params 372s registers an offense for an object check followed by a method call with params 372s allows a non-nil object check followed by a method call with a block 372s registers an offense for an object check followed by a method call with params and a block 372s registers an offense for an object check followed by a method calls that nil responds to 372s registers an offense for a check for the object followed by a method call in the condition for an if expression 372s registers an offense for an object check followed by a method call 372s allows a non-nil object check followed by a method call with params and a block 372s registers an offense for an object check followed by a method call with a block 372s allows a non-nil object check followed by a method call 372s method chaining 372s corrects an object check followed by a chained method call with a block 372s corrects an object check followed by a chained method call with a symbol proc 372s corrects an object check followed by a chained method call 372s corrects an object check followed by a chained method call with params 372s ConvertCodeThatCanStartToReturnNil true 372s registers an offense for a non-nil object check followed by a method call with params and a block 372s registers an offense for an object check followed by a method call with params and a block 372s corrects an object check followed by a method call and another check 372s registers an offense for a non-nil object check followed by a method call with params 372s registers an offense for an object check followed by a method call 372s registers an offense for an object check followed by a method call with a block 372s registers an offense for a check for the object followed by a method call in the condition for an if expression 372s registers an offense for a non-nil object check followed by a method call 372s registers an offense for a non-nil object check followed by a method call with a block 372s registers an offense for an object check followed by a method call with params 372s method chaining 372s registers an offense for an object check followed by chained method calls with blocks 372s MaxChainLength: 1 372s registers an offense for an object check followed by 1 chained method calls 372s allows an object check followed by 2 chained method calls 372s with Lint/SafeNavigationChain disabled 372s allows an object check followed by chained method calls with blocks 372s allows an object check followed by chained method calls 372s MaxChainLength: 3 372s allows an object check followed by 4 chained method calls 372s registers an offense for an object check followed by 3 chained method calls 372s modifier if 372s registers an offense for a method call with params and a block safeguarded with a nil check for the object 372s registers an offense for a method call with params safeguarded with a nil check for the object 372s registers an offense for a method call safeguarded with a nil check for the object 372s registers an offense for a method call with a block safeguarded with a nil check for the object 372s registers an offense for a method call safeguarded with a negative check for the object 372s registers an offense for a method call with a block safeguarded with a check for the object 372s registers an offense for a chained method call safeguarded with a negative nil check for the object 372s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 372s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 372s registers an offense for a method call with params safeguarded with a negative check for the object 372s registers an offense for an object check followed by a method call with a comment at EOL 372s registers an offense for a chained method call safeguarded with an unless nil check for the object 372s registers an offense for a method call with a block safeguarded with a negative check for the object 372s registers an offense for a method call that nil responds to safe guarded by an object check 372s registers an offense for a method call with a block safeguarded with a negative nil check for the object 372s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 372s registers an offense for a chained method call safeguarded with a check for the object 372s registers an offense for a method call safeguarded with a negative nil check for the object 373s registers an offense for a method call with params and a block safeguarded with a check for the object 373s registers an offense for a method call with params safeguarded with a check for the object 373s registers an offense for a method call with params safeguarded with a negative nil check for the object 373s registers an offense for a method call with params and a block safeguarded with a negative check for the object 373s registers an offense for a method call safeguarded with a check for the object 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to yield safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to break safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to fail safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to raise safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to next safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to throw safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to return safe guarded by an object check 373s if expression 373s registers an offense for a single method call with params inside of an unless negative check for the object 373s registers an offense for a single method call with params and a block inside of an unless negative check for the object 373s only moves comments that fall within the expression 373s registers an offense for a single method call inside of a check for the object 373s registers an offense for a single method call with params and a block inside of a check for the object 373s registers an offense for a single method call with a block inside of a non-nil check for the object 373s registers an offense for a single method call with params inside of a check for the object 373s registers an offense for a single method call inside of an unless negative check for the object 373s does not lose comments within if expression 373s allows a single method call inside of a check for the object with an else 373s registers an offense for a single method call with a block inside of an unless nil check for the object 373s registers an offense for a single method call with params inside of a non-nil check for the object 373s registers an offense for a single method call with params inside of an unless nil check for the object 373s registers an offense for a single method call inside of an unless nil check for the object 373s registers an offense for a single method call with params and a block inside of an unless nil check for the object 373s registers an offense for a single method call with a block inside of an unless negative check for the object 373s registers an offense for a single method call with params and a block inside of a non-nil check for the object 373s registers an offense for a single method call inside of a non-nil check for the object 373s registers an offense for a single method call with a block inside of a check for the object 373s ternary expression 373s allows ternary expression 373s behaves like all variable types 373s if expression 373s registers an offense for a single method call inside of an unless nil check for the object 373s registers an offense for a single method call with params and a block inside of an unless negative check for the object 373s registers an offense for a single method call with params inside of an unless negative check for the object 373s registers an offense for a single method call inside of an unless negative check for the object 373s registers an offense for a single method call with a block inside of a non-nil check for the object 373s registers an offense for a single method call with params inside of a non-nil check for the object 373s only moves comments that fall within the expression 373s allows a single method call inside of a check for the object with an else 373s registers an offense for a single method call with params and a block inside of a non-nil check for the object 373s registers an offense for a single method call with params inside of a check for the object 373s registers an offense for a single method call with a block inside of a check for the object 373s registers an offense for a single method call with params inside of an unless nil check for the object 373s registers an offense for a single method call with params and a block inside of a check for the object 373s registers an offense for a single method call inside of a check for the object 373s registers an offense for a single method call with a block inside of an unless negative check for the object 373s registers an offense for a single method call with a block inside of an unless nil check for the object 373s registers an offense for a single method call with params and a block inside of an unless nil check for the object 373s does not lose comments within if expression 373s registers an offense for a single method call inside of a non-nil check for the object 373s ternary expression 373s allows ternary expression 373s object check before method call 373s allows a non object check followed by a method call with params and a block 373s allows a non object check followed by a method call with a block 373s allows a nil object check followed by a method call 373s allows a non object check followed by a method call 373s allows a non object check followed by a method call with params 373s allows a nil object check followed by a method call with params 373s allows a nil object check followed by a method call with params and a block 373s allows a nil object check followed by a method call with a block 373s ConvertCodeThatCanStartToReturnNil false 373s registers an offense for an object check followed by a method call with params and a block 373s registers an offense for an object check followed by a method call 373s registers an offense for an object check followed by a method calls that nil responds to 373s registers an offense for an object check followed by a method call with params 373s registers an offense for a check for the object followed by a method call in the condition for an if expression 373s allows a non-nil object check followed by a method call 373s allows a non-nil object check followed by a method call with a block 373s registers an offense for an object check followed by a method call with a block 373s allows a non-nil object check followed by a method call with params and a block 373s allows a non-nil object check followed by a method call with params 373s method chaining 373s corrects an object check followed by a chained method call with params 373s corrects an object check followed by a chained method call with a block 373s corrects an object check followed by a chained method call with a symbol proc 373s corrects an object check followed by a chained method call 373s ConvertCodeThatCanStartToReturnNil true 373s registers an offense for an object check followed by a method call 373s registers an offense for a non-nil object check followed by a method call 373s registers an offense for an object check followed by a method call with params 373s registers an offense for a non-nil object check followed by a method call with params 373s registers an offense for an object check followed by a method call with params and a block 373s registers an offense for an object check followed by a method call with a block 373s corrects an object check followed by a method call and another check 373s registers an offense for a non-nil object check followed by a method call with params and a block 373s registers an offense for a non-nil object check followed by a method call with a block 373s registers an offense for a check for the object followed by a method call in the condition for an if expression 373s method chaining 373s registers an offense for an object check followed by chained method calls with blocks 373s MaxChainLength: 3 373s registers an offense for an object check followed by 3 chained method calls 373s allows an object check followed by 4 chained method calls 373s MaxChainLength: 1 373s registers an offense for an object check followed by 1 chained method calls 373s allows an object check followed by 2 chained method calls 373s with Lint/SafeNavigationChain disabled 373s allows an object check followed by chained method calls 373s allows an object check followed by chained method calls with blocks 373s modifier if 373s registers an offense for a method call on an accessor safeguarded by a check for the accessed variable 373s registers an offense for a method call safeguarded with a check for the object 373s registers an offense for a method call with params safeguarded with a negative nil check for the object 373s registers an offense for a method call with a block safeguarded with a nil check for the object 373s registers an offense for a method call safeguarded with a negative nil check for the object 373s registers an offense for a method call with params safeguarded with a nil check for the object 373s registers an offense for a method call with params safeguarded with a check for the object 373s registers an offense for a method call with a block safeguarded with a negative nil check for the object 373s registers an offense for a chained method call safeguarded with a negative nil check for the object 373s registers an offense for a method call with a block safeguarded with a check for the object 373s registers an offense for a method call with params safeguarded with a negative check for the object 373s registers an offense for a chained method call safeguarded with a check for the object 373s registers an offense for a method call with params and a block safeguarded with a negative nil check for the object 373s registers an offense for an object check followed by a method call with a comment at EOL 373s registers an offense for a method call safeguarded with a nil check for the object 373s registers an offense for a chained method call safeguarded with an unless nil check for the object 373s registers an offense for a method call with params and a block safeguarded with a check for the object 373s registers an offense when safe guard check and safe navigation method call are connected with `&&` condition 373s registers an offense for a method call that nil responds to safe guarded by an object check 373s registers an offense for a method call with a block safeguarded with a negative check for the object 373s registers an offense for a method call with params and a block safeguarded with a negative check for the object 373s registers an offense for a method call safeguarded with a negative check for the object 373s registers an offense for a method call with params and a block safeguarded with a nil check for the object 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to fail safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to throw safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to raise safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to break safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to return safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to next safe guarded by an object check 373s behaves like safe guarding logical break keywords 373s allows a method call being passed to yield safe guarded by an object check 373s 373s RuboCop::Cop::Security::Eval 373s registers an offense for eval as function 373s registers an offense for eval with string that has an interpolation 373s accepts eval as method 373s registers an offense for eval as command 373s accepts eval with a multiline string 373s accepts eval on a literal string 373s accepts eval with a string that interpolates a literal 373s accepts eval with no arguments 373s registers an offense `Binding#eval` 373s accepts eval as variable 373s with an explicit binding, filename, and line number 373s registers an offense for eval as function 373s accepts eval on a literal string 373s registers an offense for eval as command 373s 373s RuboCop::Cop::Layout::SpaceInLambdaLiteral 373s when configured to enforce no space 373s register offenses and correct spaces in both lambdas when nested 373s does not register an offense for a space between -> and { 373s registers an offense and corrects a space between -> and ( 373s does not register an offense for multi-line lambdas 373s registers an offense and corrects a space in the outer nested lambda 373s registers an offense and corrects a space in the inner nested lambda 373s does not register an offense for no space between -> and ( 373s registers an offense and corrects spaces between -> and ( 373s when configured to enforce spaces 373s registers an offense and corrects no space in the outer nested lambda 373s does not register an offense for no space between -> and { 373s does not register an offense for a space between -> and ( 373s registers an offense and corrects no space in both lambdas when nested 373s registers an offense and corrects no space between -> and ( 373s registers an offense and corrects no space in the inner nested lambda 373s does not register an offense for multi-line lambdas 373s 373s RuboCop::Cop::Style::NestedModifier 373s autocorrects if + if 373s registers one offense for more than two modifiers 373s adds parentheses to method arguments when needed in autocorrection 373s adds parentheses when needed in autocorrection 373s does not add redundant parentheses in autocorrection 373s autocorrects unless + if 373s autocorrects unless + unless 373s autocorrects if + unless 373s autocorrects unless with a comparison operator + if 373s while 373s behaves like not correctable 373s does not autocorrect when while is the outer modifier 373s does not autocorrect when while is the inner modifier 373s until 373s behaves like not correctable 373s does not autocorrect when until is the inner modifier 373s does not autocorrect when until is the outer modifier 373s 373s RuboCop::Cop::Style::DisableCopsWithinSourceCodeDirective 373s registers an offense for disabling all cops 373s registers an offense for disabled cop within source code 373s registers an offense for enabled cop within source code 373s with AllowedCops 373s when using leading source comment 373s does not register an offense 373s when an allowed cop is disabled 373s does not register an offense 373s when an mix of cops are disabled 373s registers an offense and corrects 373s when an non-allowed cop is disabled 373s registers an offense and corrects 373s 373s RuboCop::Cop::Style::Dir 373s when using `#expand_path` and `#dirname` 373s registers an offense with ::File 373s registers an offense 373s when using `#dirname` and `#realpath` 373s registers an offense 373s registers an offense with ::File 373s 373s RuboCop::Formatter::SimpleTextFormatter 373s #report_file 373s behaves like report for severity 373s when the offense is not corrected 373s prints message as-is 373s when the offense is correctable 373s prints message as-is 373s the file is outside of the current working directory 373s prints as absolute path 373s when the offense is automatically corrected 373s prints [Corrected] along with message 373s when the offense is marked as todo 373s prints [Todo] along with message 373s the file is under the current working directory 373s prints as relative path 373s behaves like report for severity 373s when the offense is marked as todo 373s prints [Todo] along with message 373s when the offense is not corrected 373s prints message as-is 373s the file is under the current working directory 373s prints as relative path 373s the file is outside of the current working directory 373s prints as absolute path 373s when the offense is automatically corrected 373s prints [Corrected] along with message 373s when the offense is correctable 373s prints message as-is 373s behaves like report for severity 373s when the offense is not corrected 373s prints message as-is 373s the file is under the current working directory 373s prints as relative path 373s the file is outside of the current working directory 373s prints as absolute path 373s when the offense is marked as todo 373s prints [Todo] along with message 373s when the offense is correctable 373s prints message as-is 373s when the offense is automatically corrected 373s prints [Corrected] along with message 373s behaves like report for severity 373s the file is under the current working directory 373s prints as relative path 373s when the offense is marked as todo 373s prints [Todo] along with message 373s when the offense is correctable 373s prints message as-is 373s the file is outside of the current working directory 373s prints as absolute path 373s when the offense is not corrected 373s prints message as-is 373s when the offense is automatically corrected 373s prints [Corrected] along with message 373s behaves like report for severity 373s the file is under the current working directory 373s prints as relative path 373s the file is outside of the current working directory 373s prints as absolute path 373s when the offense is not corrected 373s prints message as-is 373s when the offense is automatically corrected 373s prints [Corrected] along with message 373s when the offense is marked as todo 373s prints [Todo] along with message 373s when the offense is correctable 373s prints message as-is 373s behaves like report for severity 373s when the offense is marked as todo 373s prints [Todo] along with message 373s when the offense is not corrected 373s prints message as-is 373s the file is outside of the current working directory 373s prints as absolute path 373s when the offense is automatically corrected 373s prints [Corrected] along with message 373s when the offense is correctable 373s prints message as-is 373s the file is under the current working directory 373s prints as relative path 373s #report_summary 373s when no files inspected 373s handles pluralization correctly 373s when an offense is corrected 373s prints about correction 373s when a file inspected and no offenses detected 373s handles pluralization correctly 373s when 2 offenses are corrected and 2 offenses autocorrectable 373s handles pluralization correctly 373s when 2 offenses detected and 2 offenses autocorrectable 373s handles pluralization correctly 373s when a offense detected 373s handles pluralization correctly 373s when 2 offenses detected 373s handles pluralization correctly 373s when 2 offenses are corrected 373s handles pluralization correctly 373s when a offense detected and a offense autocorrectable 373s handles pluralization correctly 373s 373s RuboCop::Cop::Style::CharacterLiteral 373s accepts literals like ?\C-\M-d 373s accepts ? in a %w literal 373s autocorrects ?' to "'" 373s registers an offense for literals like \n 373s registers an offense for character literals 373s 373s RuboCop::Cop::InternalAffairs::NodeDestructuring 373s does not register an offense when receiver is named `array` 373s registers an offense when destructuring using a splat 373s when destructuring using `node.children` 373s registers an offense when receiver is named `node` 373s registers an offense when receiver is named `send_node` 373s 373s RuboCop::Cop::Layout::MultilineHashKeyLineBreaks 373s without line break after opening bracket 373s registers an offense and corrects when key starts on same line as another 373s registers an offense and corrects nested hashes 373s when on same line 373s does not add any offenses 373s with line break after opening bracket 373s registers an offense and corrects when key starts on same line as another 373s when key starts on same line as another with rockets 373s adds an offense 373s when on different lines than brackets but keys on one 373s does not add any offenses 373s when on all keys on one line different than brackets 373s does not add any offenses 373s 373s RuboCop::Cop::Style::WhileUntilModifier 373s behaves like condition modifier cop 373s for a multiline 'while' 373s doesn't break when used as RHS of class var assignment 373s corrects it when assignment is in body 373s doesn't break when used as RHS of constant assignment 373s doesn't break when used as RHS of binary arithmetic 373s accepts it if single line would not fit on one line 373s accepts an empty body 373s accepts it if body spans more than one line 373s accepts it when condition has local variable assignment 373s handles one-line usage 373s doesn't break when used as RHS of local var assignment 373s corrects it if result fits in one line 373s handles inline comments during autocorrection 373s doesn't break when used as RHS of instance var assignment 373s when there is a comment on the first line and some code after the end keyword 373s does not register an offense 373s when Layout/LineLength is disabled 373s registers an offense even for a long modifier statement 373s accepts multiline condition in modifier form 373s registers an offense 373s behaves like condition modifier cop 373s for a multiline 'until' 373s doesn't break when used as RHS of binary arithmetic 373s accepts it if body spans more than one line 374s corrects it when assignment is in body 374s doesn't break when used as RHS of constant assignment 374s handles inline comments during autocorrection 374s handles one-line usage 374s doesn't break when used as RHS of local var assignment 374s corrects it if result fits in one line 374s doesn't break when used as RHS of instance var assignment 374s accepts it when condition has local variable assignment 374s accepts an empty body 374s doesn't break when used as RHS of class var assignment 374s accepts it if single line would not fit on one line 374s accepts multiline condition in modifier form 374s registers an offense 374s when Layout/LineLength is disabled 374s registers an offense even for a long modifier statement 374s when there is a comment on the first line and some code after the end keyword 374s does not register an offense 374s 374s RuboCop::Cop::Layout::ClassStructure 374s registers an offense and corrects when xstr heredoc constant is defined after public method 374s registers an offense and corrects when there is a comment in the macro method 374s registers an offense and corrects when literal constant is after method definitions 374s registers an offense and corrects when str heredoc constant is defined after public method 374s registers an offense and corrects when dstr heredoc constant is defined after public method 374s simple example 374s is expected to eq "class Person\n include AnotherModule\n extend SomeModule\n CONST = 'wrong place'\nend\n" 374s with a complete ordered example 374s does not create offense 374s with attribute macros before after validations 374s is expected to eq class Person 374s include AnotherModule 374s extend SomeModule 374s 374s CustomError = Cla...rivate :other_public_method 374s 374s private 374s 374s def some_private_method 374s end 374s end 374s initializer is private and comes after attribute macro 374s registers an offense and autocorrects 374s when the first line ends with a comment 374s reports an offense and swaps the lines 374s with protected methods declared before private 374s is expected to eq class MyClass 374s def public_method 374s end 374s 374s private 374s 374s def first_private...ar before `private_methods`. 374s end 374s 374s def second_protected_method 374s end 374s end 374s when def modifier is used 374s registers an offense and corrects public method with modifier declared after private method with modifier 374s registers an offense and corrects public method without modifier declared after private method with modifier 374s registers an offense and corrects public method after private method marked by its name 374s constant is not a literal 374s registers offense but does not autocorrect 374s 374s RuboCop::Cop::Layout::ClosingHeredocIndentation 374s accepts correctly indented closing heredoc when aligned at the beginning of method definition 374s accepts correctly indented closing heredoc when heredoc contents with blank line 374s does not register an offense for a << heredoc 374s registers an offense for bad indentation of a closing heredoc 374s accepts correctly indented closing heredoc when aligned at the beginning of method definition and using `strip_indent` 374s accepts correctly indented closing heredoc when heredoc contents is before closing heredoc 374s does not register an offense for correctly indented empty heredocs 374s accepts correctly indented closing heredoc when aligned at the beginning of method definition and content is empty 374s registers an offense for incorrectly indented empty heredocs 374s accepts correctly indented closing heredoc 374s accepts correctly indented closing heredoc when heredoc contents is after closing heredoc 374s 374s RuboCop::Cop::Style::EmptyLiteral 374s Empty Hash 374s autocorrects Hash.new to {} in various contexts 374s autocorrects Hash.new to {} and wraps all arguments in parentheses when it is the first argument to super 374s registers an offense for Hash.new() 374s autocorrects Hash.new to {} as the first parameter to a method 374s registers an offense for ::Hash.new 374s autocorrects Hash.new to {} and wraps it in parentheses when it is the only argument to super 374s autocorrects Hash.new in block 374s does not register an offense for Hash.new { block } 374s registers an offense for Hash.new 374s does not register an offense for Hash.new(3) 374s does not register an offense for ::Hash.new { block } 374s autocorrects Hash.new to {} as the only parameter to a method 374s does not register an offense for ::Hash.new(3) 374s Ruby 2.7 374s does not register an offense for Hash.new { _1[_2] = [] } 374s does not register an offense for ::Hash.new { _1[_2] = [] } 374s Empty Array 374s does not register Array.new with block in other block 374s autocorrects Array.new in block in block 374s does not register an offense for Array.new(3) 374s does not register an offense Array.new with block 374s registers an offense for Array.new 374s does not register an offense for ::Array.new with block 374s registers an offense for ::Array.new 374s registers an offense for Array.new() 374s Empty String 374s registers an offense for ::String.new 374s does not register an offense for ::String.new("top") 374s registers an offense for String.new() 374s registers an offense for String.new 374s does not register an offense for String.new("top") 374s when double-quoted string literals are preferred 374s registers an offense for String.new 374s registers an offense for ::String.new 374s when frozen string literals is enabled 374s does not register an offense for String.new 374s when Style/FrozenStringLiteral is enabled 374s and there is no magic comment 374s does not register an offense 374s and there is a frozen_string_literal: false comment 374s registers an offense and corrects 374s 374s RuboCop::Cop::Layout::FirstHashElementIndentation 374s when the HashAlignment style is separator for => 374s registers an offense and corrects incorrectly indented } 374s registers an offense and corrects incorrectly indented first pair with => 374s accepts correctly indented first pair 374s when hash is method argument 374s and argument are not surrounded by parentheses 374s accepts single line hash with braces 374s 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 374s 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 374s registers an offense for incorrectly indented multi-line hash with braces 374s accepts braceless hash 374s accepts indent based on the left brace when the outer hash key and the left brace is not on the same line 374s accepts a correctly indented multi-line hash with braces 374s 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 374s and arguments are surrounded by parentheses 374s and EnforcedStyle is consistent 374s accepts normal indentation for second argument 374s 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 374s registers an offense and corrects incorrect indentation 374s 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 374s accepts normal indentation for first argument 374s registers an offense for incorrectly indented hash that is the value of a single pair hash 374s accepts indent based on the left brace when the outer hash key and the left brace is not on the same line 374s and EnforcedStyle is special_inside_parentheses 374s accepts indent based on the left brace when the outer hash key and the left brace is not on the same line 374s accepts normal indentation for hash within hash 374s accepts special indentation for second argument 374s registers an offense for incorrectly indented hash that is the value of a single pair hash 374s accepts indent based on the preceding left parenthesiswhen the right brace and its following pair is on the same line 374s accepts special indentation for first argument 374s registers an offense and corrects 'align_braces' indentation 374s registers an offense and corrects 'consistent' indentation 374s 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 374s when using safe navigation operator 374s registers an offense and corrects 'consistent' indentation 374s when hash is right hand side in assignment 374s accepts several pairs per line 374s accepts single line hash 374s registers an offense and corrects incorrectly indented first pair 374s accepts a first pair on the same line as the left brace 374s accepts an empty hash 374s accepts correctly indented first pair 374s when indentation width is overridden for this cop 374s registers an offense and corrects incorrectly indented first pair 374s accepts correctly indented first pair 374s when the HashAlignment style is separator for : 374s registers an offense and corrects incorrectly indented first pair with : 374s accepts correctly indented first pair 374s registers an offense and corrects incorrectly indented } 374s when hash is argument to setter 374s registers an offense and corrects incorrectly indented first pair 374s accepts correctly indented first pair 374s when hash is operand 374s registers an offense and corrects incorrectly indented } 374s registers an offense and corrects incorrectly indented first pair 374s accepts correctly indented first pair 374s when EnforcedStyle is align_braces 374s accepts single line hash 374s registers an offense and corrects incorrectly indented } 374s registers an offense for incorrectly indented hash that is the value of a single pair hash 374s 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 374s accepts a first pair on the same line as the left brace 374s accepts correctly indented first pair 374s accepts an empty hash 374s accepts several pairs per line 374s when 'consistent' style is used 374s registers an offense and corrects incorrect indentation 374s when 'special_inside_parentheses' style is used 374s registers an offense and corrects incorrect indentation 374s 374s RuboCop::Cop::Style::MixinGrouping 374s when configured with grouped style 374s when using `extend` 374s registers an offense for single mixins in separate calls 374s when using `prepend` 374s registers an offense when other mixins have receivers 374s registers an offense for single mixins in separate calls, interspersed 374s registers an offense for single mixins in separate calls 374s when using include 374s registers an offense for several mixins in separate calls 374s allows include with an explicit receiver 374s registers an offense for single mixins in separate calls 374s when using a mix of diffent methods 374s registers an offense with some duplicated mixin methods 374s allows all different mixin methods 374s when configured with separated style 374s when using `prepend` 374s registers an offense for several mixins in one call 374s when using `extend` 374s registers an offense for several mixins in one call 374s when using `include` 374s allows include call as an argument to another method 374s registers an offense for several mixins in separate calls 374s registers an offense for several mixins in one call 374s when using a mix of diffent methods 374s registers an offense for some calls having several mixins 374s 374s RuboCop::Cop::Lint::AssignmentInCondition 374s registers an offense for assignment methods 374s registers an offense for gvar assignment in condition 374s accepts ||= in condition 374s accepts = in a block that is called in a condition 374s registers an offense for lvar assignment in condition 374s registers an offense for clvar assignment in condition 374s accepts assignment in a block after || 374s registers an offense for ivar assignment in condition 374s accepts == in condition 374s registers an offense for collection element assignment in condition 374s registers an offense for constant assignment in condition 374s registers an offense for assignment after ||= in condition 374s registers an offense for = in condition inside a block 374s registers an offense for assignment after == in condition 374s accepts = in a block followed by method call 374s registers an offense for lvar assignment in until condition 374s registers an offense for lvar assignment in while condition 374s does not blow up for empty if condition 374s does not blow up for empty unless condition 374s safe assignment is allowed 374s accepts []= in condition surrounded with braces 374s accepts = in condition surrounded with braces 374s safe assignment is not allowed 374s does not accept []= in condition surrounded with braces 374s does not accept = in condition surrounded with braces 374s 374s RuboCop::Cop::Gemspec::RequireMFA 374s when the specification has a metadata hash but no rubygems_mfa_required key 374s registers an offense and corrects 374s when metadata is set by key assignment 374s and `rubygems_mfa_required` is included 374s does not register an offense 374s and `rubygems_mfa_required` is not included 374s registers an offense 374s with rubygems_mfa_required: true 374s does not register an offense 374s when there are other metadata keys 374s and `rubygems_mfa_required` is included 374s does not register an offense 374s and `rubygems_mfa_required` is not included 374s registers an offense and corrects 374s when the gemspec is blank 374s does not register an offense 374s when the specification is blank 374s registers an offense and corrects 374s when the specification has an non-hash metadata 374s registers an offense but does not correct 374s with rubygems_mfa_required: false by key access 374s registers an offense and corrects 374s with rubygems_mfa_required: false 374s registers an offense and corrects 374s 374s RuboCop::Cop::Style::HashSyntax 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 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 does not register an offense when all hash values are present, but no values can be omitted 374s registers an offense when all hash values are present, but can all 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 configured to enforce hash rockets style 374s accepts hash rockets in a hash literal 374s registers an offense for mixed syntax 374s registers an offense for 1.9 style in method calls 374s accepts hash rockets in method calls 374s registers offense for Ruby 1.9 style 374s accepts an empty hash 374s UseHashRocketsWithSymbolValues has no impact 374s does not register an offense when there is a symbol value 374s configured to enforce explicit hash value syntax style 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 Ruby <= 3.0 374s does not register an offense when hash key and hash value are the same 374s configured to accept both shorthand and explicit use of hash literal value 374s Ruby >= 3.1 374s does not register an offense when hash key and hash value are not the same 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 values are omitted 374s Ruby <= 3.0 374s does not register an offense when hash key and hash value are the same 374s configured to enforce ruby19 style 374s configured to use hash rockets when symbol values are found 374s registers an offense when any element uses a symbol for the value 374s accepts an empty hash 374s accepts both hash rockets and ruby19 syntax in the same code 374s autocorrects to hash rockets when all elements have symbol value 374s accepts hash in ruby19 style with no symbol values 374s registers an offense for hashes with elements on multiple lines 374s registers an offense when using hash rockets and no elements have a symbol 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 registers an offense when any element has a symbol value in method calls 374s with SpaceAroundOperators disabled 374s autocorrects even if there is no space around => 374s with SpaceAroundOperators enabled 374s preserves quotes during autocorrection 374s accepts hash rockets when symbol keys end with = 374s registers offense for hash rocket syntax when new is possible 374s accepts hash rockets when keys have different types 374s accepts new syntax in method calls 374s accepts hash rockets when symbol characters are not supported 374s registers an offense for mixed syntax when new is possible 374s registers an offense for hash rockets in method calls 374s registers offense when keys start with an uppercase letter 374s autocorrects even if it interferes with SpaceAroundOperators 374s autocorrects a missing space when hash is used as argument 374s accepts an empty hash 374s registers an offense when symbol keys have strings in them 374s accepts new syntax in a hash literal 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 enforce shorthand syntax style 374s Ruby >= 3.1 375s registers an offense when one line `until` condition follows (with parentheses) 375s does not register an offense when symbol hash key and string hash value are the same 375s does not register an offense when hash values are omitted 375s does not register an offense when method call hash key and hash value are the same 375s registers and corrects an offense when hash key and hash value are the same and it in the method body 375s does not register an offense when call expr without arguments and with a block follows 375s does not register an offense when with parentheses call expr follows 375s does not register an offense when hash key and hash value are the same but the value ends `?` 375s does not register an offense when one line `until` condition follows (without parentheses) 375s does not register an offense when without parentheses call expr follows 375s does not register an offense when hash key and hash value are partially the same 375s registers an offense when hash key and hash value are not the same and method with `[]` is called 375s does not register an offense when `return` with one line `if` condition follows (without parentheses) 375s does not register an offense when symbol hash key and hash value (lvar) are not the same 375s registers and corrects an offense when hash key and hash value are the same and it in the method bodyand an expression follows 375s does not register an offense when lvar hash key and hash value are the same 375s does not register an offense when hash pattern matching 375s registers and corrects an offense when `Hash[foo: foo]` and an expression follows 375s does not register an offense when hash key and hash value are the same but the value ends `!` 375s registers an offense when one line `if` condition follows (with parentheses) 375s registers and corrects an offense when hash key and hash value are partially the same 375s does not register an offense when one line `if` condition follows (without parentheses) 375s registers and corrects an offense when hash key and hash value (lvar) are the same 375s does not register an offense when hash key and hash value are not the same 375s does not register an offense when with parentheses call expr follows assignment expr 375s registers and corrects an offense when hash key and hash value are the same 375s registers and corrects an offense when `Hash[foo: foo]` 375s does not register an offense when without parentheses call expr follows after nested method call 375s does not register an offense when call expr with argument and a block follows 375s when hash roket syntax 375s does not register an offense 375s Ruby <= 3.0 375s does not register an offense when hash key and hash value are the same 375s configured to enforce ruby 1.9 style with no mixed keys 375s UseHashRocketsWithSymbolValues enabled 375s accepts an empty hash 375s autocorrects to hash rockets when all elements have symbol value 375s registers an offense when any element has a symbol value in method calls 375s registers offense for hash rocket syntax when new is possible 375s registers an offense for mixed syntax when new is possible 375s accepts new syntax in a hash literal 375s registers an offense when keys have different types and styles 375s accepts new syntax when keys are interpolated string 375s registers an offense when keys have special symbols in them 375s accepts hash rockets when keys have different types 375s accepts new syntax in method calls 375s registers an offense for hash rockets in method calls 375s registers an offense when any element uses a symbol for the value 375s registers an offense when keys have whitespaces in them 375s registers an offense when keys start with a digit 375s ruby < 2.2 375s accepts hash rockets when keys have whitespaces in them 375s registers an offense when keys start with a digit and mix styles 375s accepts hash rockets when keys have special symbols in them 375s registers an offense when keys have special symbols and mix styles 375s registers an offense when keys have whitespaces and mix styles 375s accepts hash rockets when keys start with a digit 375s UseHashRocketsWithSymbolValues disabled 375s registers an offense for hash rockets in method calls 375s accepts an empty hash 375s accepts hash rockets when keys have different types 375s registers an offense when keys start with a digit 375s registers an offense when keys have special symbols in them 375s accepts new syntax in a hash literal 375s accepts new syntax when keys are interpolated string 375s registers an offense when keys have whitespaces in them 375s accepts new syntax in method calls 375s registers offense for hash rocket syntax when new is possible 375s registers an offense for mixed syntax when new is possible 375s registers an offense when keys have different types and styles 375s ruby < 2.2 375s accepts hash rockets when keys have whitespaces in them 375s registers an offense when keys have special symbols and mix styles 375s accepts hash rockets when keys start with a digit 375s registers an offense when keys start with a digit and mix styles 375s accepts hash rockets when keys have special symbols in them 375s registers an offense when keys have whitespaces and mix styles 375s configured to enforce no mixed keys 375s accepts new hash style 375s accepts an empty hash 375s accepts hash rockets when keys have different types 375s accepts the hash rocket syntax when new is possible 375s autocorrects mixed key hashes 375s accepts new syntax in a hash literal 375s accepts old hash rockets style 375s registers an offense when keys have different types and styles 375s registers an offense when keys have special symbols and mix styles 375s registers an offense for mixed syntax when new is possible 375s accepts hash rockets when keys start with a digit 375s accepts hash rockets in method calls 375s registers an offense when keys have whitespaces and mix styles 375s accepts hash rockets when keys have special symbols in them 375s accepts new syntax in method calls 375s registers an offense when keys start with a digit and mix styles 375s accepts hash rockets when keys have whitespaces in them 375s 375s RuboCop::Cop::Style::ParenthesesAroundCondition 375s allows parens if the condition node is a modifier if op 375s is not confused by parentheses in subexpression 375s does not blow up for empty unless condition 375s registers an offense for parentheses around condition 375s allows parens if the condition node is a modifier until op 375s does not blow up when the condition is a ternary op 375s allows parens if the condition node is a modifier rescue op 375s does not blow up for empty if condition 375s accepts parentheses if there is no space between the keyword and (. 375s does not register an offense when parentheses in multiple expressions separated by semicolon 375s is not confused by leading parentheses in subexpression 375s accepts parentheses around condition in a ternary 375s allows parens if the condition node is a modifier while op 375s allows parens if the condition node is a modifier unless op 375s safe assignment is allowed 375s accepts variable assignment in condition surrounded with parentheses 375s accepts element assignment in condition surrounded with parentheses 375s accepts setter in condition surrounded with parentheses 375s safe assignment is not allowed 375s does not accept element assignment in condition surrounded with parentheses 375s does not accept variable assignment in condition surrounded with parentheses 375s parentheses in multiline conditions are not allowed 375s registers an offense for parentheses around multiline condition 375s parentheses in multiline conditions are allowed 375s accepts parentheses around multiline condition 375s registers an offense for parentheses in single line condition 375s 375s RuboCop::Cop::Lint::ReturnInVoidContext 375s with an initialize method containing a return with a value 375s registers an offense 375s with an initialize method containing a return without a value 375s accepts 375s with a non initialize method containing a return 375s accepts 375s when return is in top scope 375s accepts 375s with a class method called initialize containing a return 375s accepts 375s with a setter method containing a return without a value 375s accepts 375s with a setter method containing a return with a value 375s registers an offense 375s 375s RuboCop::Cop::Style::EndlessMethod 375s Ruby >= 3.0 375s EnforcedStyle: allow_always 375s does not register an offense for an endless method with arguments 375s does not register an offense for an endless method 375s does not register an offense for a multiline endless method with arguments 375s does not register an offense for a multiline endless method 375s does not register an offense for a multiline endless method with begin 375s EnforcedStyle: allow_single_line 375s does not register an offense for an endless method with arguments 375s registers an offense and corrects for a multiline endless method 375s does not register an offense for an endless method 375s registers an offense and corrects for a multiline endless method with arguments 375s registers an offense and corrects for a multiline endless method with begin 375s EnforcedStyle: disallow 375s registers an offense for an endless method with arguments 375s registers an offense for an endless method 375s 375s RuboCop::Formatter::AutoGenConfigFormatter 375s #report_file_as_mark 375s when no offenses are detected 375s prints "." 375s when a refactor severity offense is detected 375s prints "R" 375s when a refactor convention offense is detected 375s prints "C" 375s when different severity offenses are detected 375s prints highest level mark 375s #finished 375s calls #report_summary 375s when any offenses are detected 375s does not report offenses 375s outputs report summary 375s when no offenses are detected 375s does not report offenses 375s 375s RuboCop::Cop::InternalAffairs::StyleDetectedApiUse 375s registers an offense when conflicting_styles_detected is used in a conditional expression 375s does not register an offense when correct_style_detected and a ambiguous_style_detected are both used 375s does not register an offense when correct_style_detected and a unrecognized_style_detected are both used 375s registers an offense when unexpected_style_detected is used without a correct_style_detected follow up 375s registers an offense when no_acceptable_style! is used without a correct_style_detected follow up 375s does not register an offense when correct_style_detected and a no_acceptable_style! are both used 375s registers an offense when ambiguous_style_detected is used in a conditional expression 375s does not register an offense when correct_style_detected and a opposite_style_detected are both used 375s registers an offense when opposite_style_detected is used without a correct_style_detected follow up 375s registers an offense when correct_style_detected is used in a conditional expression 375s does not register an offense when correct_style_detected and a unexpected_style_detected are both used 375s registers an offense when opposite_style_detected is used in a conditional expression 375s registers an offense when correct_style_detected is used without a negative *_style_detected follow up 375s registers an offense when unrecognized_style_detected is used in a conditional expression 375s registers an offense when unrecognized_style_detected is used without a correct_style_detected follow up 375s registers an offense when conflicting_styles_detected is used without a correct_style_detected follow up 375s registers an offense when ambiguous_style_detected is used without a correct_style_detected follow up 375s registers an offense when no_acceptable_style! is used in a conditional expression 375s registers an offense when unexpected_style_detected is used in a conditional expression 375s does not register an offense when correct_style_detected and a conflicting_styles_detected are both used 375s 375s RuboCop::Cop::Style::RedundantReturn 375s reports an offense for defs ending with return 375s reports an offense for def ending with return 375s reports an offense for def with only a return 375s does not blow up on empty if body 375s accepts return in a non-final position 375s autocorrects by removing redundant returns 375s reports an offense for def ending with return with splat argument 375s reports an offense for defs with only a return 375s does not blow up on empty method body 375s when return has no arguments 375s behaves like common behavior 375s registers an offense for return() and autocorrects replacing return() with nil 375s behaves like common behavior 375s registers an offense for return and autocorrects replacing return with nil 375s when return is inside begin-end body 375s registers an offense and autocorrects 375s when case nodes are empty 375s accepts empty when nodes 375s when rescue and return blocks present 375s registers an offense and autocorrects when inside function or rescue block 375s registers an offense and autocorrects when rescue has else clause 375s when return is inside a when-branch 375s registers an offense and autocorrects 375s when multi-value returns are allowed 375s accepts defs ending with return 375s accepts defs with only a return 375s accepts def with only a return 375s accepts def ending with return 375s when multi-value returns are not allowed 375s reports an offense when multiple return values have a parenthesized return value 375s autocorrects by making an implicit hash explicit 375s reports an offense for def ending with return 375s reports an offense for defs ending with return 375s reports an offense for defs with only a return 375s autocorrects by removing return when using an explicit hash 375s reports an offense for def with only a return 375s when return is inside an if-branch 375s registers an offense and autocorrects 375s 375s RuboCop::Cop::Style::NumberedParametersLimit 375s with Ruby >= 2.7 375s does not register an offense for a numblock with fewer than `Max` parameters 375s does not register an offense for a normal block with too many parameters 375s does not register an offense for a numblock with exactly `Max` parameters 375s sets Max properly for auto-gen-config 375s when configuring Max 375s does not register an offense when there are not too many numbered params 375s when Max is 1 375s uses the right offense message 375s when there are more than `Max` numbered parameters 375s registers an offense for a single line `numblock` 375s registers an offense for a multiline `numblock` 375s 375s RuboCop::Cop::Naming::AccessorMethodName 375s registers an offense for method set_something with one arg 375s accepts method set_something with kwoptarg 375s accepts method get_something with args 375s registers an offense for singleton method set_something with one args 375s accepts method set_something with kwrestarg 375s accepts method set_something with two args 375s registers an offense for singleton method get_something with no args 375s accepts method set_something with restarg 375s accepts method set_something with no args 375s accepts method set_something with blockarg 375s registers an offense for method get_something with no args 375s accepts singleton method set_something with two args 375s accepts method set_something with optarg 375s accepts singleton method get_something with args 375s accepts method set_something with kwarg 375s accepts singleton method set_something with no args 375s >= Ruby 2.7 375s accepts method set_something with arguments forwarding 375s 375s RuboCop::Cop::Layout::MultilineMethodCallIndentation 375s when EnforcedStyle is indented_relative_to_receiver 375s doesn't fail on unary operators 375s registers an offense and corrects proc call without a selector 375s registers an offense and corrects 3 spaces indentation of second line 375s accepts indented methods in ordinary statement 375s accepts indented methods in LHS of []= assignment 375s accepts indentation relative to first receiver 375s accepts indentation of consecutive lines in typical RSpec code 375s does not register an offense when multiline method chain has expected indent width and the method is preceded by double splat 375s registers an offense and corrects extra indentation of 3rd line 375s registers an offense and corrects no indentation of second line 375s doesn't crash on unaligned multiline lambdas 375s accepts an expression where the first method spans multiple lines 375s registers an offense and corrects one space indentation of 2nd line 375s registers an offense and corrects the emacs ruby-mode 1.1 indentation of an expression in an array 375s accepts alignment of method with assignment and operator-like method 375s does not register an offense when multiline method chain has expected indent width and the method is preceded by splat 375s accepts any indentation of parameters to #[] 375s registers an offense and corrects extra indentation of 3rd line in typical RSpec code 375s accepts correctly indented methods in operation 375s accepts indented methods in for body 375s accepts alignment inside a grouped expression 375s accepts no extra indentation of third line 375s accepts indented methods inside and outside a block 375s for possible semantic alignment 375s accepts indented methods 375s when EnforcedStyle is aligned 375s accepts no extra indentation of third line 375s registers an offense and corrects misaligned methods in if condition 375s accepts indented methods in LHS of []= assignment 375s registers an offense and corrects no indentation of second line 375s registers an offense and corrects 3 spaces indentation of 2nd line 375s accepts indented methods in ordinary statement 375s doesn't crash on unaligned multiline lambdas 375s registers an offense and corrects the emacs ruby-mode 1.1 indentation of an expression in an array 375s registers an offense and corrects misaligned methods in local variable assignment 375s does not check binary operations when string wrapped with backslash 376s registers an offense and corrects extra indentation of third line 376s accepts indented methods inside and outside a block 376s accepts aligned methods in constant assignment 376s registers an offense and corrects one space indentation of 3rd line 376s accepts alignment inside a grouped expression 376s accepts indentation relative to first receiver 376s accepts any indentation of parameters to #[] 376s accepts indented method when there is nothing to align with 376s accepts indented and aligned methods in binary operation 376s registers an offense and corrects misaligned methods in while condition 376s does not check binary operations when string wrapped with + 376s accepts aligned methods in operator assignment 376s accepts aligned methods in a begin..end block 376s accepts an expression where the first method spans multiple lines 376s accepts aligned method in return 376s registers an offense and corrects proc call without a selector 376s accepts aligned methods in if condition 376s registers an offense and corrects unaligned methods in assignment 376s doesn't fail on unary operators 376s accepts aligned methods in assignment 376s accepts indented methods in for body 376s registers an offense and corrects one space indentation of 2nd line 376s accepts even indentation of consecutive lines in typical RSpec code 376s accepts correctly aligned methods in assignment 376s registers an offense and corrects misaligned methods in until condition 376s registers an offense and corrects misaligned methods in unless condition 376s accepts alignment of method with assignment and operator-like method 376s accepts aligned method in assignment + block + assignment 376s registers an offense and corrects misaligned method in []= call 376s registers an offense and corrects extra indentation of 3rd line in typical RSpec code 376s accepts correctly aligned methods in operands 376s accepts aligned methods in if + assignment 376s for semantic alignment 376s accepts aligned method even when an aref is first in the chain 376s accepts 3 aligned methods 376s accepts method being aligned with method in assignment 376s registers an offense and corrects unaligned method in block body 376s accepts aligned method with blocks in operation assignment 376s doesn't fail on a chain of aref calls 376s accepts methods being aligned with method that is an argument in assignment 376s accepts nested method calls 376s accepts key access to hash 376s accepts aligned method even when an aref is in the chain 376s registers an offense and corrects unaligned methods 376s accepts methods being aligned with method that is an argument 376s accepts method being aligned with method 376s >= Ruby 2.7 376s accepts methods being aligned with method that is an argumentwhen using numbered parameter 376s when EnforcedStyle is indented 376s registers an offense and corrects 0 space indentation inside square brackets 376s accepts normal indentation inside grouped expression 376s registers an offense and corrects the emacs ruby-mode 1.1 indentation of an expression in an array 376s accepts alignment inside a grouped expression 376s accepts no extra indentation of third line 376s accepts double indentation of if condition 376s accepts indented methods in while body 376s accepts indented methods inside and outside a block 376s accepts indentation of assignment to a with rhs on same line 376s registers an offense and corrects proc call without a selector 376s registers an offense and corrects no indentation of second line 376s registers an offense and corrects aligned methods in if condition 376s accepts an expression where the first method spans multiple lines 376s accepts indented methods in if body 376s registers an offense and corrects extra indentation of third line 376s registers an offense and corrects extra indentation of 3rd line in typical RSpec code 376s accepts indentation of assignment to obj.a with newline after = 376s accepts indented methods in for body 376s accepts indented methods in unless body 376s accepts indentation relative to first receiver 376s accepts indentation of assignment to obj.a[:key] with newline after = 376s accepts correctly indented methods in operation 376s accepts any indentation of parameters to #[] 376s registers an offense and corrects correct + unrecognized style 376s accepts double indentation of while condition 376s registers an offense for a 2 space indentation of until condition 376s accepts normal indentation of method parameters 376s accepts special indentation of return unless condition 376s accepts special indentation of for expression 376s accepts double indentation of until condition 376s accepts any indentation of method parameters 376s doesn't crash on unaligned multiline lambdas 376s accepts indentation of assignment to a[:key] with rhs on same line 376s accepts indented methods in ordinary statement 376s accepts alignment of method with assignment and operator-like method 376s registers an offense and corrects 1 space indentation of 3rd line 376s accepts special indentation of return if condition 376s registers an offense for a 2 space indentation of if condition 376s accepts indented methods in until body 376s registers an offense for a 2 space indentation of while condition 376s accepts even indentation of consecutive lines in typical RSpec code 376s registers an offense and corrects aligned operators in assignment 376s registers an offense and corrects wrong indentation of for expression 376s accepts double indentation of unless condition 376s registers an offense and corrects one space indentation of 2nd line 376s doesn't fail on unary operators 376s accepts indentation of assignment to a[:key] with newline after = 376s accepts indented methods in if condition 376s registers an offense for a 2 space indentation of unless condition 376s registers an offense and corrects 3 spaces indentation of 2nd line 376s accepts indentation of assignment to a with newline after = 376s accepts indented methods in LHS of []= assignment 376s when indentation width is overridden for this cop 376s registers an offense for a 4 space indentation of unless condition 376s accepts indented methods in until body 376s registers an offense for a 4 space indentation of until condition 376s accepts indentation of assignment 376s registers an offense for a 4 space indentation of if condition 376s accepts indented methods 376s registers an offense for a 4 space indentation of while condition 376s accepts correctly indented methods in operation 376s accepts indented methods in if condition 376s accepts indentation of while condition which is offset by a single normal indentation step 376s accepts indentation of if condition which is offset by a single normal indentation step 376s accepts indentation of unless condition which is offset by a single normal indentation step 376s accepts indented methods in if body 376s accepts indentation of until condition which is offset by a single normal indentation step 376s accepts indented methods in while body 376s accepts indented methods in unless body 376s for possible semantic alignment 376s accepts indented methods 376s 376s RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement 376s with a repeated character class element with interpolation 376s registers an offense and corrects 376s with no repeated character class elements when `"\0\07"` (means `"\u0000\a"`) 376s does not register an offense 376s with a repeated character class element inside a group 376s registers an offense and corrects 376s with repeated elements in different character classes 376s does not register an offense 376s with a repeated character class element 376s registers an offense and corrects 376s with a repeated character class element and %r{} literal 376s registers an offense and corrects 376s with a repeated character posix character class inside a group 376s registers an offense and corrects 376s with a repeated character class element with quantifier 376s registers an offense and corrects 376s with no repeated character class elements 376s does not register an offense 376s with multiple regexps with the same interpolation 376s does not register an offense 376s with a range that covers a repeated element character class 376s does not register an offense 376s with a repeated range element 376s registers an offense and corrects 376s with repeated character class elements when `"\0\08"` (means `"\u0000\u00008"`) 376s registers an offense 376s with a repeated intersection character class 376s does not register an offense 376s 376s RuboCop::Cop::Layout::MultilineHashBraceLayout 376s ignores empty hashes 376s ignores implicit hashes 376s ignores single-line hashes 376s behaves like multiline literal brace layout 376s heredoc 376s ignores heredocs that could share a last line 376s detects heredoc structures that are safe to add to 376s new_line style 376s opening brace on same line as first element 376s allows closing brace on different line from last element 376s allows closing brace on different line from multi-line element 376s autocorrects closing brace on same line as last element 376s detects closing brace on same line as last multiline element 376s opening brace on separate line from first element 376s allows closing brace on separate line from last element 376s detects closing brace on same line as last element 376s allows closing brace on separate line from last multiline element 376s symmetrical style 376s opening brace on separate line from first element 376s allows closing brace on separate line from last element 376s detects closing brace on same line as last element 376s allows closing brace on separate line from last multiline element 376s opening brace on same line as first element 376s allows closing brace on same line as last element 376s detects closing brace on different line from last element 376s allows closing brace on same line as last multiline element 376s autocorrects closing brace on different line from last element 376s with a chained call on the closing brace 376s and a comment after the last element 376s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 376s but no comment after the last element 376s autocorrects the closing brace 376s same_line style 376s opening brace on same line as first element 376s allows closing brace on same line as multi-line element 376s allows closing brace on same line from last element 376s detects closing brace on different line from multiline element 376s autocorrects closing brace on different line as last element 376s with a chained call on the closing brace 376s and a comment after the last element 376s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 376s but no comment after the last element 376s autocorrects the closing brace 376s opening brace on separate line from first element 376s detects closing brace on different line from last element 376s allows closing brace on same line as last element 376s allows closing brace on same line as last multiline element 376s behaves like multiline literal brace layout method argument 376s when arguments to a method 376s and a comment after the last element 376s detects closing brace on separate line from last element 376s but no comment after the last element 376s autocorrects the closing brace 376s behaves like multiline literal brace layout trailing comma 376s same_line style 376s opening brace on same line as first element 376s last element has a trailing comma 376s autocorrects closing brace on different line as last element 376s symmetrical style 376s opening brace on same line as first element 376s last element has a trailing comma 376s autocorrects closing brace on different line from last element 376s 376s RuboCop::Cop::Layout::SpaceBeforeBrackets 376s does not register an offense when assigning an array 376s does not register an offense when using percent array literal argument without parentheses 376s does not register an offense when using array literal argument without parentheses 376s when assigning 376s does not register an offense when space is used in left bracket 376s registers an offense and corrects when using space between receiver and left brackets 376s does not register an offense when not using space between receiver and left brackets 376s does not register an offense when multiple spaces are inserted inside the left bracket 376s when referencing 376s does not register an offense when array literal argument is enclosed in parentheses 376s registers an offense and corrects when using space between cvar receiver and left brackets 376s does not register an offense when call desugared `Hash#[]` to ivar receiver 376s registers an offense and corrects when using space between ivar receiver and left brackets 376s does not register an offense when using multiple arguments 376s does not register an offense when not using space between method call and left brackets 376s does not register an offense when without receiver 376s does not register an offense when call desugared `Hash#[]` to cvar receiver 376s registers an offense and corrects when using space between lvar receiver and left brackets 376s does not register an offense when using space between method call and left brackets 376s registers an offense and corrects when using space between gvar receiver and left brackets 376s does not register an offense when it is used as a method argument 376s does not register an offense when not using space between variable receiver and left brackets 376s does not register an offense when call desugared `Hash#[]` to lvar receiver 376s 376s RuboCop::Cop::Style::WordArray 376s when EnforcedStyle is percent 376s detects when the cop must be disabled to avoid offenses 376s corrects properly when there is an extra trailing comma 376s does not register an offense for an array with comments in it 376s does not register an offense for a %w() array containing non word characters 376s autocorrects an array with one element 376s registers an offense in a non-ambiguous block context 376s does not register an offense for array containing non-string 376s registers an offense for arrays of double quoted strings 376s registers an offense for arrays with character constants 376s registers an offense for arrays of strings containing hyphens 376s does not register an offense for array starting with %w 376s does not register an offense for array with empty strings 376s does not register an offense on non-word strings 376s does not register an offense for array of non-words 376s registers an offense for arrays of single quoted strings 376s doesn't fail in wacky ways when multiple cop instances are used 376s uses %W when autocorrecting strings with embedded newlines and tabs 376s autocorrects an array of words using partial newlines 376s registers an offense for an array with comments outside of it 376s autocorrects an array of words 376s registers an offense for strings with newline and tab escapes 376s autocorrects an array of words and character constants 376s keeps the line breaks in place after autocorrect 376s does not register offense for array with allowed number of strings 376s registers an offense for a %w() array containing spaces 376s detects right value of MinSize to use for --auto-gen-config 376s autocorrects an array of words in multiple lines 376s when the default external encoding is US-ASCII 376s registers an offense for arrays of unicode word characters 376s when the default external encoding is UTF-8 376s registers an offense for arrays of unicode word characters 376s with a custom WordRegex configuration 376s registers an offense for arrays of email addresses 376s with non-default MinSize 376s does not autocorrect arrays of one symbol if MinSize > 1 376s when the WordRegex configuration is not a Regexp 376s still parses the code without raising an error 376s with a WordRegex configuration which accepts almost anything 376s uses %w for strings which only appear to have an escape 376s uses %W when autocorrecting strings with non-printable chars 376s when EnforcedStyle is array 376s does not register an offense for arrays of strings with spaces 376s registers an offense for a %w() array 376s autocorrects a %W() array which uses string with hyphen 376s doesn't fail on strings which are not valid UTF-8 376s autocorrects a %w() array which uses string with hyphen 376s does not register an offense for arrays of single quoted strings 376s autocorrects a %W() array which uses escapes 376s doesn't fail with `encoding: binary 376s does not register an offense for arrays of double quoted strings 376s autocorrects a %w() array which uses single quotes 376s autocorrects a %W() array which uses string interpolation 376s registers an offense for an empty %w() array 376s does not register an offense for arrays of strings with hyphens 376s autocorrects multiline %w() array 376s with a treacherous WordRegex configuration 377s doesn't break when words contain delimiters 377s doesn't break when words contain whitespace 377s when PreferredDelimiters is specified 377s autocorrects an array with delimiters 377s 377s RuboCop::Cop::Metrics::BlockLength 377s accepts a block with multiline receiver and less than 3 lines of body 377s does not count commented lines by default 377s accepts empty blocks 377s accepts a block with less than 3 lines 377s reports the correct beginning and end lines 377s does not count blank lines 377s rejects brace blocks too 377s properly counts nested blocks 377s rejects a block with more than 5 lines 377s when defining a class 377s does not register an offense 377s when CountComments is enabled 377s also counts commented lines 377s when `CountAsOne` is not empty 377s folds array into one line 377s when using numbered parameter 377s rejects a block with more than 5 lines 377s reports the correct beginning and end lines 377s accepts a block with less than 3 lines 377s does not count blank lines 377s when defining a Struct 377s does not register an offense 377s when methods to allow are defined 377s when AllowedMethods is enabled 377s when a method is allowed, but receiver is a module 377s does not report an offense 377s behaves like allow an offense on an allowed method 377s still rejects other methods with long blocks 377s accepts the foo method with a long block 377s when receiver contains whitespaces 377s allows whitespaces 377s behaves like allow an offense on an allowed method 377s still rejects other methods with long blocks 377s accepts the foo method with a long block 377s when ExcludedMethods is enabled 377s does not report an offense 377s that does not match 377s reports an offense 377s when IgnoredMethods is enabled 377s when regex 377s does not report an offense 377s that does not match 377s reports an offense 377s when string 377s does not report an offense 377s that does not match 377s reports an offense 377s when AllowedPatterns is enabled 377s does not report an offense 377s that does not match 377s reports an offense 377s when defining a module 377s does not register an offense 377s 377s RuboCop::Cop::Style::NestedFileDirname 377s Ruby <= 3.0 377s does not register an offense when using `File.dirname(path)` nested two times 377s Ruby >= 3.1 377s does not register an offense when using non nested `File.dirname(path)` 377s registers and corrects an offense when using `File.dirname(path)` nested two times 377s registers and corrects an offense when using `File.dirname(path)` nested three times 377s does not register an offense when using `File.dirname(path, 2)` 377s 377s RuboCop::Cop::Naming::ClassAndModuleCamelCase 377s allows module_parent method 377s accepts CamelCase names 377s is not fooled by qualified names 377s registers an offense for underscore in class and module name 377s custom allowed names 377s does not register offense for multiple allowed names 377s 377s RuboCop::Cop::Style::InPatternThen 377s >= Ruby 2.7 377s registers an offense for `in b;` 377s registers an offense for `in b, c | d;` 377s accepts `;` separating statements in the body of `in` 377s registers an offense for `in b | c | d;` (alternative pattern) 377s registers an offense for `in b, c, d;` (array pattern) 377s when inspecting a case statement with an empty branch 377s does not register an offense 377s 377s RuboCop::Cop::Lint::UnusedBlockArgument 377s inspection 377s in a method calling `binding` with arguments 377s when a method argument is unused 377s registers an offense 377s when an underscore-prefixed block argument is not used 377s accepts 377s when a block takes multiple arguments 377s and one argument is assigned to another, whilst other's value is not used 377s registers an offense 377s and an argument with default value is unused 377s registers an offense and preserves default value 377s and all arguments are used 377s accepts 377s and an argument is unused 377s registers an offense 377s and arguments are swap-assigned 377s accepts 377s and all the arguments are unused 377s registers offenses and suggests omitting them 377s and unused arguments span multiple lines 377s registers offenses and suggests omitting them 377s and a splat argument is unused 377s registers an offense and preserves splat 377s when a variable is not used 377s does not care 377s when a block have a block local variable 377s and the variable is used 377s does not register offense 377s and the variable is unused 377s registers an offense 377s when an optional keyword argument is unused 377s when the method call is not `define_method` 377s registers an offense 377s when AllowUnusedKeywordArguments set 377s does not care 377s when the method call is `define_method` 377s registers an offense 377s when AllowUnusedKeywordArguments set 377s does not care 377s when a block takes single argument 377s and the method call is `define_method` 377s registers an offense 377s and the argument is unused 377s registers an offense and suggests omitting that 377s in a method calling `binding` without arguments 377s accepts all arguments 377s inside a method definition 377s registers offenses 377s when a lambda block takes arguments 377s and an argument is unused 377s registers an offense 377s and all the arguments are unused 377s registers offenses and suggests using a proc 377s with an empty block 377s when not configured to ignore empty blocks 377s registers an offense 377s when configured to ignore empty blocks 377s does not register an offense 377s when a method argument is not used 377s does not care 377s when IgnoreEmptyBlocks config parameter is set 377s accepts an empty block with multiple unused parameters 377s registers an offense for a non-empty block with multiple unused args 377s registers an offense for a non-empty block with an unused parameter 377s accepts an empty block with a single unused parameter 377s 377s RuboCop::Cop::Style::ArgumentsForwarding 377s TargetRubyVersion >= 3.1 377s registers an offense when using restarg and anonymous block arg 377s registers an offense when using restarg, kwargs, and anonymous block arg 377s TargetRubyVersion <= 2.6 377s does not register an offense when using restarg with block arg 377s TargetRubyVersion >= 2.7 377s does not register an offense when using the restarg outside forwarding method arguments 377s does not register an offense when the block arg is overwritten 377s does not register an offense when referencing the restarg outside forwarding method arguments 377s registers an offense when using restarg, kwargs and block arg 377s registers an offense when forwarding to a method in block 377s does not register an offense when the restarg is overwritten 377s registers an offense when the parentheses of arguments are omitted 377s registers an offense when using restarg and block arg 377s does not register an offense when different arguments are used 377s does not register an offense when assigning the restarg outside forwarding method arguments 377s does not register an offense when body of method definition is empty 377s registers an offense when delegating 377s does not register an offense when the kwarg is overwritten 377s registers an offense when passing restarg and block arg in defs 377s does not register an offense when different argument names are used 377s does not register an offense when using arguments forwarding 377s AllowOnlyRestArgument: true 377s does not register an offense when using only rest arg 377s does not register an offense when using only kwrest arg 377s AllowOnlyRestArgument: false 377s registers an offense when using only kwrest arg 377s registers an offense when using only rest arg 377s 377s RuboCop::Cop::Style::RedundantParentheses 377s registers an offense for parens around a float exponentiation base 377s registers an offense for parens around a block body 377s registers an offense for parens around a positive exponent 377s accepts parentheses in yield call with hash 377s accepts parentheses around a constant passed to when 377s accepts parentheses when they touch the preceding keyword 377s registers an offense for parens around a literal in array and following newline 377s registers an offense and corrects an array of multiple heredocs 377s accepts parentheses in super call with hash 377s accepts parentheses when enclosed in parentheses at `until-post` 377s accepts parentheses around a method call with unparenthesized arguments 377s accepts parentheses when enclosed in parentheses at `while-post` 377s accepts parentheses inside an erange 377s registers an offense and corrects when method arguments are unnecessarily parenthesized 377s registers an offense and corrects for a parenthesized item in a hash where the comma is on a line with the closing parens 377s registers an offense for parens around a literal hash value 377s accepts parentheses around an erange 377s registers an offense when there is space around the parentheses 377s accepts parentheses inside an irange 377s registers an offense for parens around last expressions in block body 377s accepts parentheses around operator keywords 377s accepts parentheses around an irange 377s registers an offense for parens around a literal in array 377s registers an offense for parens around last expressions in method body 377s registers an offense for parens around an interpolated expression 377s registers an offense for parens around method body 377s registers an offense for parens around a negative exponent 377s registers an offense for parens around a receiver of a method call with an argument 377s registers an offense for parens around an integer exponentiation base 377s registers an offense for parens around a literal hash value and following newline 377s accepts parentheses around the error passed to rescue 377s accepts parentheses when they touch the following keyword 377s registers an offense for parens around a variable after semicolon 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s ternaries 377s when Style/TernaryParentheses has EnforcedStyle: require_no_parentheses 377s registers an offense for parens around ternary condition 377s when Style/TernaryParentheses is not enabled 377s registers an offense for parens around constant ternary condition 377s when Style/TernaryParentheses has EnforcedStyle: require_parentheses_when_complex 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s when Style/TernaryParentheses has EnforcedStyle: require_parentheses 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like redundant 377s registers an offense for parentheses around a method call 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like keyword with return value 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a method call 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s when a hash literal is the second argument in a method call 377s registers an offense 377s behaves like redundant 377s registers an offense for parentheses around a variable 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s when a non-parenthesized call has an arg and a block 377s accepts parens around the arg 377s behaves like redundant 377s registers an offense for parentheses around an unary operation 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a method call 377s behaves like keyword with return value 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like keyword with return value 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a variable 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a method call 377s behaves like redundant 377s registers an offense for parentheses around a constant 377s behaves like redundant 377s registers an offense for parentheses around a variable 377s when the first argument in a method call begins with a hash literal 377s accepts parentheses if the argument list is not parenthesized 377s registers an offense if the argument list is parenthesized 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a method call 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s pin operator 377s behaves like allowed parentheses 377s accepts parentheses on a method call on an instance variable 377s behaves like redundant parentheses 377s registers an offense and corrects a global variable 377s behaves like allowed parentheses 377s accepts parentheses on a function call with no arguments 377s behaves like allowed parentheses 377s accepts parentheses on a method call on a global variable 377s behaves like redundant parentheses 377s registers an offense and corrects a local variable 377s behaves like allowed parentheses 377s accepts parentheses on a method call on a local variable 377s behaves like redundant parentheses 377s registers an offense and corrects a class variable 377s behaves like allowed parentheses 377s accepts parentheses on an array literal 377s behaves like allowed parentheses 377s accepts parentheses on a function call with arguments 377s behaves like redundant parentheses 377s registers an offense and corrects an instance variable 377s behaves like allowed parentheses 377s accepts parentheses on a hash literal 377s behaves like allowed parentheses 377s accepts parentheses on an int literal 377s behaves like allowed parentheses 377s accepts parentheses on an expression 377s behaves like allowed parentheses 377s accepts parentheses on a method call on a class variable 377s behaves like allowed parentheses 377s accepts parentheses on a range literal 377s behaves like redundant 377s registers an offense for parentheses around a method call 377s when parentheses are used like method argument parentheses 377s accepts parens around the arg 377s behaves like keyword with arguments 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around an unary operation 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like keyword with arguments 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around an unary operation 377s literals in an array 377s when there is a comma on the same line as the closing parentheses 377s registers an offense and corrects when there is no subsequent item 377s registers an offense and corrects when there is a trailing comma 377s registers an offense and corrects when there is assignment 377s registers an offense and corrects when there is a subsequent item 377s behaves like redundant 377s registers an offense for parentheses around a literal 377s behaves like redundant 377s registers an offense for parentheses around a method call 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a method call 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around an unary operation 377s behaves like plausible 377s accepts parentheses when arguments are unparenthesized 377s behaves like redundant 377s registers an offense for parentheses around a keyword 377s behaves like redundant 378s registers an offense for parentheses around a method call 378s behaves like redundant 378s registers an offense for parentheses around a literal 378s 378s RuboCop::Cop::Style::ExplicitBlockArgument 378s does not add extra parens to `super` when correcting 378s registers an offense and corrects when method contains multiple `yield`s 378s does not register an offense when there is more than one block argument and not all are yielded 378s adds to the existing arguments when correcting 378s does not register an offense when `yield` is not inside block 378s does not add extra parens when correcting 378s registers an offense and corrects when `yield` inside block has no arguments 378s does not register an offense when `yield` arguments is not a prefix of block arguments 378s correctly corrects when method already has an explicit block argument 378s registers an offense and corrects when multiple arguments are yielded 378s does not register an offense when code is called outside of a method 378s does not register an offense when `yield` is the sole block body 378s registers an offense and corrects when block just yields its arguments 378s correctly corrects when using safe navigation method call 378s does not register an offense when arguments are yielded in a different order 378s correctly corrects when the method call has a trailing comma in its argument list 378s registers an offense and corrects when `yield` is inside block of `super` 378s 378s RuboCop::Cop::Style::MultilineWhenThen 378s registers an offense for multiline (two lines in a body) when statement with then 378s does not register an offense for array when statement with then 378s doesn't register an offense for multiline when statement without then 378s autocorrects when the body of `when` branch starts with `then` 378s does not register an offense when line break for multiple candidate values of `when` 378s registers an offense for empty when statement with then 378s doesn't register an offense for multiline when statementwith then followed by other lines 378s registers an offense for multiline (one line in a body) when statement with then 378s doesn't register an offense for empty when statement without then 378s registers an offense when one line for multiple candidate values of `when` 378s doesn't register an offense for singleline when statement with then 378s doesn't register an offense when `then` required for a body of `when` is used 378s does not register an offense for hash when statement with then 378s 378s RuboCop::Cop::Style::IfWithBooleanLiteralBranches 378s when using `elsif` with boolean literal branches 378s does not register an offense when using multiple `elsif` with boolean literal branches 378s registers and corrects an offense when using single `elsif` with boolean literal branches 378s when condition is a predicate method 378s registers and corrects an offense when using `unless foo.do_something?` with opposite boolean literal branches 378s registers and corrects an offense when using `unless foo.do_something?` with boolean literal branches 378s registers and corrects an offense when using `elsif foo.do_something?` with boolean literal branches 378s registers and corrects an offense when using `if foo.do_something?` with opposite boolean literal branches 378s registers and corrects an offense when using `elsif foo.do_something?` with opposite boolean literal branches 378s registers and corrects an offense when using `if foo.do_something?` with boolean literal branches 378s when condition is a logical operator and all operands are predicate methods 378s registers and corrects an offense when using `if foo? && bar?` with opposite boolean literal branches 378s registers and corrects an offense when using `if foo? && bar?` with boolean literal branches 378s registers and corrects an offense when using `unless foo? || bar?` with boolean literal branches 378s registers and corrects an offense when using `unless foo? || bar?` with opposite boolean literal branches 378s registers and corrects an offense when using `if foo? && bar? || baz?` with boolean literal branches 378s registers and corrects an offense when using `if foo? && bar? && baz?` with boolean literal branches 378s when condition is a method that does not known whether to return boolean value 378s does not register an offense when using `if condition` with boolean literal branches 378s does not register an offense when using `unless condition` with boolean literal branches 378s does not register an offense when using `unless condition` with opposite boolean literal branches 378s does not register an offense when using `if condition` with opposite boolean literal branches 378s when complex condition 378s does not register an offense when using `if foo? && bar || baz?` with boolean literal branches 378s register and corrects an offense when using `if (foo? || bar) && baz?` with boolean literal branches 378s does not register an offense when using `if (foo? && bar) || baz?` with boolean literal branches 378s does not register an offense when using `if foo? && (bar || baz)?` with boolean literal branches 378s registers and corrects an offense when using `if foo? || (bar && baz)?` with boolean literal branches 378s registers and corrects an offense when using `if foo? && bar && baz?` with boolean literal branches 378s registers and corrects an offense when using `if foo? || bar && baz?` with boolean literal branches 378s does not register an offense when using `if foo? || bar || baz?` with boolean literal branches 378s when double negative is used in condition 378s registers and corrects an offense when using `if !!condition` with boolean literal branches 378s registers and corrects an offense when using `if !!condition` with opposite boolean literal branches 378s when condition is a comparison method 378s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 378s registers and corrects an offense when using opposite ternary operator with boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using ternary operator with boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with boolean literal branches 378s registers and corrects an offense when using opposite ternary operator with boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 378s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 378s does not register an offense when using a branch that is not boolean literal 378s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 378s registers and corrects an offense when using opposite ternary operator with boolean literal branches 378s registers and corrects an offense when using ternary operator with boolean literal branches 378s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 378s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 378s does not register an offense when using a branch that is not boolean literal 378s does not register an offense when using a branch that is not boolean literal 378s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 378s registers and corrects an offense when using opposite ternary operator with boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with boolean literal branches 378s does not register an offense when using a branch that is not boolean literal 378s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 378s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 378s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 378s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 378s does not register an offense when using a branch that is not boolean literal 378s registers and corrects an offense when using `if foo == bar` with boolean literal branches 378s registers and corrects an offense when using `if` with boolean literal branches directly under `def` 378s registers and corrects an offense when using opposite ternary operator with boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 378s does not register an offense when using a branch that is not boolean literal 378s registers and corrects an offense when using opposite ternary operator with boolean literal branches 378s registers and corrects an offense when using ternary operator with boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with boolean literal branches 378s registers and corrects an offense when using ternary operator with boolean literal branches 378s registers and corrects an offense when using ternary operator with boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using ternary operator with boolean literal branches 378s does not register an offense when using a branch that is not boolean literal 378s registers and corrects an offense when using `unless foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with boolean literal branches 378s registers and corrects an offense when using opposite ternary operator with boolean literal branches 378s registers and corrects an offense when using `if foo == bar` with opposite boolean literal branches 378s registers and corrects an offense when using ternary operator with boolean literal branches 378s when condition is a logical operator and operands do not known whether to return boolean value 378s does not register an offense when using `if foo && bar` with opposite boolean literal branches 378s does not register an offense when using `unless foo || bar` with opposite boolean literal branches 378s does not register an offense when using `if foo && bar` with boolean literal branches 378s does not register an offense when using `unless foo || bar` with boolean literal branches 378s does not register an offense when using `if foo || bar` with boolean literal branches 378s does not register an offense when using `if foo || bar` with opposite boolean literal branches 378s does not register an offense when using `unless foo && bar` with boolean literal branches 378s does not register an offense when using `unless foo && bar` with opposite boolean literal branches 378s when `AllowedMethods: nonzero?` 378s does not register an offense when using `nonzero?` 378s 378s RuboCop::Cop::Lint::AmbiguousBlockAssociation 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s when AllowedMethods is enabled 378s registers an offense for other methods 378s does not register an offense for an allowed method 378s behaves like accepts 378s does not register an offense 378s without parentheses 378s without receiver 378s registers an offense 378s with assignment 378s registers an offense 378s as a hash key 378s registers an offense 378s with receiver 378s registers an offense 378s when using safe navigation operator 378s registers an offense 378s rspec expect {}.to change {} 378s registers an offense 378s when AllowedPatterns is enabled 378s does not register an offense for an allowed method 378s registers an offense for other methods 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s behaves like accepts 378s does not register an offense 378s 378s RuboCop::Cop::Lint::FloatOutOfRange 378s does not register an offense for 0.0 378s does not register an offense for tiny little itty bitty floats 378s does not register an offense for respectably sized floats 378s on whopping big floats which tip the scales 378s registers an offense 378s on floats so close to zero that nobody can tell the difference 378s registers an offense 378s 378s RuboCop::Cop::Layout::EmptyLinesAroundBeginBody 378s registers an offense for begin body starting in method 378s accepts begin block without empty line in a method 378s registers an offense for rescue body ending 378s registers an offense for begin body ending with a blank 378s registers an offense for begin body starting with a blank 378s registers an offense for begin body ending in method 378s accepts begin block without empty line 378s registers an offense for else body ending 378s registers an offense for ensure body ending 378s registers an offense for begin body starting with rescue 378s registers many offenses with complex begin-end 378s 378s RuboCop::Cop::Lint::MultipleComparison 378s registers an offense for x >= y <= z 378s registers an offense for x < y < z 378s registers an offense for x > y >= z 378s registers an offense for x <= y < z 378s registers an offense for x < y >= z 378s registers an offense for x > y <= z 378s registers an offense for x >= y >= z 378s registers an offense for x < y <= z 378s accepts to use one compare operator 378s registers an offense for x <= y > z 378s registers an offense for x > y < z 378s accepts to use `^` operator 378s registers an offense for x <= y <= z 378s accepts to use `&` operator 378s registers an offense for x > y > z 378s accepts to use `|` operator 378s registers an offense for x < y > z 378s registers an offense for x <= y >= z 378s registers an offense for x >= y < z 378s registers an offense for x >= y > z 378s 378s RuboCop::Cop::Style::ImplicitRuntimeError 378s does not register an offense for `fail` with an error class 378s does not register an offense for `raise` without arguments 378s does not register an offense for `fail` without arguments 378s registers an offense for `raise` with a multiline string 378s registers an offense for `fail` without error class 378s does not register an offense for `raise` with an error class 378s registers an offense for `fail` with a multiline string 378s registers an offense for `raise` without error class 378s 378s RuboCop::Cop::Style::FileWrite 378s registers an offense for and corrects `::File.open(filename, 'wb').write(content)` 378s does not register an offense when a splat argument is passed to `f.write` 378s registers an offense for and corrects `File.open(filename, 'w+').write(content)` 378s registers an offense for and corrects the `File.open` with inline write block (mode 'w') 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'w') 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'wb') with heredoc 378s registers an offense for and corrects `::File.open(filename, 'wt').write(content)` 378s registers an offense for and corrects the `File.open` with inline write block (mode 'w+b') 378s registers an offense for and corrects `File.open(filename, 'wt').write(content)` 378s does not register an offense for the `File.open` with multiline write block when not writing to the block variable 378s registers an offense for and corrects `::File.open(filename, 'w').write(content)` 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'w') with heredoc 378s registers an offense for and corrects `File.open(filename, 'w+b').write(content)` 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+t') with heredoc 378s registers an offense for and corrects `File.open(filename, 'w').write(content)` 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+b') 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'wt') with heredoc 378s registers an offense for and corrects `File.open(filename, 'wb').write(content)` 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+') with heredoc 378s registers an offense for and corrects the `File.open` with inline write block (mode 'w+') 378s registers an offense for and corrects the `File.open` with inline write block (mode 'w+t') 378s registers an offense for and corrects `::File.open(filename, 'w+t').write(content)` 378s registers an offense for and corrects `File.open(filename, 'w+t').write(content)` 378s registers an offense for and corrects `::File.open(filename, 'w+').write(content)` 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+') 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+b') with heredoc 378s registers an offense for and corrects the `File.open` with inline write block (mode 'wt') 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'w+t') 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'wb') 378s registers an offense for and corrects the `File.open` with inline write block (mode 'wb') 378s registers an offense for and corrects `::File.open(filename, 'w+b').write(content)` 378s registers an offense for and corrects the `File.open` with multiline write block (mode 'wt') 378s 378s RuboCop::Cop::Lint::EmptyConditionalBody 378s registers an offense for missing `unless` body 378s does not register an offense for missing `unless` body with a comment 379s registers an offense for missing `if` and `else` body with some indentation 379s registers an offense for missing `unless` and `else` body 379s does not register an offense for missing `if` body with a comment 379s registers an offense for missing `if` and `elsif` body 379s registers an offense for missing `if` body 379s registers an offense for missing second `elsif` body without an inline comment 379s registers an offense for missing `if` body with `elsif` 379s registers an offense for missing `if` body with `else` 379s registers an offense for missing all branches of `if` and multiple `elsif` body 379s does not register an offense for missing `elsif` body with an inline comment 379s does not register an offense for missing `elsif` body with a comment 379s registers an offense for missing all branches of `if` and `elsif` body 379s registers an offense for missing `elsif` body that is not the one with a comment 379s registers an offense for missing `if` body with present `else` body 379s autocorrects properly when the if is assigned to a variable 379s registers an offense for missing `unless` body with `else` 379s registers an offense for missing `if` and `else` body 379s registers an offense for missing `elsif` body 379s when AllowComments is false 379s registers an offense for missing `if` body with a comment 379s registers an offense for missing `unless` body with a comment 379s registers an offense for missing `elsif` body with a comment 379s 379s RuboCop::Cop::Style::RedundantAssignment 379s accepts empty if body 379s reports an offense for def ending with assignment and returning 379s accepts empty when nodes 379s accepts empty method body 379s does not register an offense when ensure block present 379s when rescue blocks present 379s registers an offense and autocorrects when inside function or rescue block 379s when inside begin-end body 379s registers an offense and autocorrects 379s when inside an if-branch 379s registers an offense and autocorrects 379s when inside a when-branch 379s registers an offense and autocorrects 379s 379s RuboCop::Cop::InternalAffairs::SingleLineComparison 379s registers and corrects an offense when comparing `loc.last_line` with `loc.first_line` 379s does not register an offense when the receivers are not a match 379s does not register an offense when comparing the same line 379s registers and corrects an offense when comparing `last_line` with `first_line` 379s registers and corrects an offense when comparing `loc.last_line` with `loc.line` 379s registers and corrects an offense when comparing `loc.line` with `loc.last_line` 379s registers and corrects an offense when comparing `loc.first_line` with `loc.last_line` 379s registers and corrects an offense when negative comparing `last_line` with `first_line` 379s registers and corrects an offense when negative comparing `first_line` with `last_line` 379s registers and corrects an offense when comparing `source_range.first_line` with `source_range.last_line` 379s registers and corrects an offense when comparing `source_range.last_line` with `source_range.first_line` 379s registers and corrects an offense when comparing `first_line` with `last_line` 379s 379s RuboCop::Cop::Style::RedundantConditional 379s registers an offense for if/elsif/else with boolean results 379s registers an offense for if/elsif/else with negated boolean results 379s registers an offense for ternary with boolean results 379s registers an offense for if/else with negated boolean results 379s allows ternary with non-boolean results 379s registers an offense for if/else with boolean results 379s does not register an offense for if/else with non-boolean results 379s does not register an offense for if/elsif/else with non-boolean results 379s registers an offense for ternary with negated boolean results 379s 379s RuboCop::Cop::Bundler::DuplicatedGem 379s when investigating Gemfiles 379s does not register an offense when gem is duplicated within `if-elsif` statement 379s does not register an offense when gem is duplicated within `case` statement 379s does not register an offense when gem is duplicated within `if-else` statement 379s registers an offense when gem from default group is conditionally duplicated 379s and no duplicate gems are present 379s does not register any offenses 379s and the file is empty 379s does not register any offenses 379s and a gem is duplicated in default group 379s registers an offense 379s and a duplicated gem is in a git/path/group/platforms block 379s registers an offense 379s when investigating Ruby files 379s does not register any offenses 379s 379s RuboCop::Cop::Lint::RequireParentheses 379s accepts calls to methods that are operators 379s accepts method call with parentheses in ternary 379s accepts method calls without parentheses followed by keyword and/or 379s accepts missing parentheses when method is not a predicate 379s accepts condition that is not a call 379s registers an offense for missing parentheses around expression with || operator 379s registers an offense for missing parentheses around expression with && operator 379s accepts parentheses around expression with boolean operator 379s accepts missing parentheses when using ternary operator 379s registers an offense for missing parentheses around expression in ternary 379s accepts calls to methods that are setters 379s accepts missing parentheses when using ternary operator in square bracksts 379s accepts method calls that are all operations 379s accepts missing parentheses around expression with + operator 379s when using safe navigation operator 379s registers an offense for missing parentheses around expression with && operator 379s 379s RuboCop::Cop::Layout::DotPosition 379s Trailing dots style 379s accepts trailing dot in multi-line method call 379s does not err on method call with multi-line arguments 379s does not err on method call without a method name 379s does not err on method call on same line 379s does not get confused by several lines of chained methods 379s does not err on method call with no dots 379s registers an offense for leading dot in multi-line call 379s when there is a heredoc with a following method 379s does not register an offense for a heredoc 379s when using safe navigation operator 379s accepts trailing dot in multi-line method call 379s registers an offense for correct + opposite 379s when the receiver is a heredoc 379s registers an offense 379s when the receiver has a heredoc argument 379s with a dynamic heredoc 379s registers an offense 379s as the last argument 379s registers an offense 379s with multiple heredocs 379s registers an offense 379s with another method on the same line 379s does not register an offense 379s as the first argument 379s registers an offense 379s Leading dots style 379s registers an offense for correct + opposite 379s does not err on method call with no dots 379s registers an offense for trailing dot in multi-line call 379s accepts leading do in multi-line method call 379s does not err on method call on same line 379s registers an offense for only dot line 379s does not err on method call without a method name 379s when a method spans multiple lines 379s registers an offense 379s when there is an intervening line comment 379s does not register offense 379s with multiple offenses 379s registers all of them 379s when there is an intervening blank line 379s does not register offense 379s when using safe navigation operator 379s accepts leading do in multi-line method call 379s registers an offense for correct + opposite 379s when the receiver is a heredoc 379s registers an offense 379s when the receiver has a heredoc argument 379s with another method on the same line 379s does not register an offense 379s as the first argument 379s registers an offense 379s with multiple heredocs 379s registers an offense 379s with a dynamic heredoc 379s registers an offense 379s as the last argument 379s registers an offense 379s 379s RuboCop::Cop::Style::RegexpLiteral 379s when EnforcedStyle is set to slashes 379s a single-line `//` regex with slashes 379s registers an offense 379s when configured to allow inner slashes 379s is accepted 379s a single-line %r regex with slashes 379s is accepted 379s when configured to allow inner slashes 379s registers an offense 379s a single-line `//` regex with slashes and interpolation 379s registers an offense 379s when configured to allow inner slashes 379s is accepted 379s a multi-line `//` regex without slashes 379s is accepted 379s a single-line `%r//` regex with slashes 379s is accepted 379s when configured to allow inner slashes 379s preserves slashes after autocorrection 379s a single-line `//` regex without slashes 379s is accepted 379s a multi-line %r regex without slashes 379s registers an offense 379s a multi-line %r regex with slashes 379s is accepted 379s when configured to allow inner slashes 379s registers an offense 379s a single-line %r regex without slashes 379s registers an offense 379s a multi-line `//` regex with slashes 379s registers an offense 379s when configured to allow inner slashes 379s is accepted 379s when `EnforcedStyle: require_parentheses` of `Style/MethodCallWithArgsParentheses` cop 379s when using `%r` regexp with `EnforcedStyle: mixed` 379s does not register an offense when using a regexp starts with a blank as a safe navigation method argument 379s registers an offense when using a regexp starts with a blank 379s does not register an offense when using a regexp starts with a blank as a method argument 379s registers an offense when used as a method argument 379s registers an offense when used as a safe navigation method argument 379s registers an offense when not used as a method argument 379s when using `%r` regexp with `EnforcedStyle: slashes` 379s registers an offense when using a regexp starts with a blank 379s does not register an offense when using a regexp starts with a blank as a method argument 379s registers an offense when used as a method argument 379s does not register an offense when using a regexp starts with a blank as a safe navigation method argument 379s registers an offense when not used as a method argument 379s registers an offense when used as a safe navigation method argument 379s %r regex with other delimiters than curly braces 379s registers an offense 379s when `EnforcedStyle: omit_parentheses` of `Style/MethodCallWithArgsParentheses` cop 379s when using `%r` regexp with `EnforcedStyle: mixed` 379s registers an offense when not used as a method argument 379s does not register an offense when used as a safe navigation method argument 379s does not register an offense when used as a method argument 379s when using `%r` regexp with `EnforcedStyle: slashes` 379s does not register an offense when used as a method argument 379s does not register an offense when used as a safe navigation method argument 379s registers an offense when not used as a method argument 379s when PercentLiteralDelimiters is configured with slashes 379s respects the configuration when autocorrecting 379s when EnforcedStyle is set to percent_r 379s a single-line `//` regex with slashes 379s registers an offense 379s a single-line %r regex without slashes 379s is accepted 379s a single-line `//` regex without slashes 379s registers an offense 379s a multi-line %r regex with slashes 379s is accepted 379s a single-line %r regex with slashes 379s is accepted 379s a multi-line `//` regex with slashes 379s registers an offense 379s a multi-line `//` regex without slashes 379s registers an offense 379s a multi-line %r regex without slashes 379s is accepted 379s when regex contains slashes in interpolation 379s ignores the slashes that do not belong // regex 379s when PercentLiteralDelimiters is configured with brackets 379s respects the configuration when autocorrecting 379s when EnforcedStyle is set to mixed 379s a single-line `//` regex without slashes 379s is accepted 379s a multi-line %r regex without slashes 379s is accepted 379s a multi-line %r regex with slashes 379s is accepted 379s a multi-line `//` regex with slashes 379s registers an offense 379s a single-line `//` regex with slashes 379s registers an offense 379s when configured to allow inner slashes 379s is accepted 379s a multi-line `//` regex without slashes 379s registers an offense 379s a single-line %r regex with slashes 379s is accepted 379s when configured to allow inner slashes 379s registers an offense 379s a single-line %r regex without slashes 379s registers an offense 379s 379s RuboCop::Cop::Lint::RescueType 379s accepts rescuing nothing 379s accepts rescue modifier 379s accepts rescuing nothing within a method definition 379s accepts rescuing a single exception 379s behaves like offenses 379s def rescue 379s rescuing from "#{string}" 379s registers an offense and autocorrects 379s def rescue ensure 379s rescuing from "#{string}" 379s registers an offense and autocorrects 379s begin rescue 379s rescuing from "#{string}" after another exception 379s registers an offense and autocorrects 379s rescuing from "#{string}" 379s registers an offense and autocorrects 379s rescuing from "#{string}" before another exception 379s registers an offense and autocorrects 379s begin rescue ensure 379s rescuing from "#{string}" 379s registers an offense and autocorrects 379s behaves like offenses 379s def rescue ensure 379s rescuing from :symbol 379s registers an offense and autocorrects 379s begin rescue ensure 379s rescuing from :symbol 379s registers an offense and autocorrects 379s def rescue 379s rescuing from :symbol 379s registers an offense and autocorrects 379s begin rescue 379s rescuing from :symbol before another exception 379s registers an offense and autocorrects 379s rescuing from :symbol after another exception 379s registers an offense and autocorrects 379s rescuing from :symbol 379s registers an offense and autocorrects 379s behaves like offenses 379s begin rescue ensure 379s rescuing from [] 379s registers an offense and autocorrects 379s def rescue ensure 379s rescuing from [] 379s registers an offense and autocorrects 379s def rescue 379s rescuing from [] 379s registers an offense and autocorrects 379s begin rescue 379s rescuing from [] before another exception 379s registers an offense and autocorrects 379s rescuing from [] 379s registers an offense and autocorrects 379s rescuing from [] after another exception 379s registers an offense and autocorrects 379s behaves like offenses 379s def rescue ensure 379s rescuing from 0 379s registers an offense and autocorrects 379s begin rescue 379s rescuing from 0 after another exception 379s registers an offense and autocorrects 379s rescuing from 0 379s registers an offense and autocorrects 379s rescuing from 0 before another exception 379s registers an offense and autocorrects 379s begin rescue ensure 379s rescuing from 0 379s registers an offense and autocorrects 379s def rescue 379s rescuing from 0 379s registers an offense and autocorrects 379s behaves like offenses 379s begin rescue ensure 379s rescuing from {} 379s registers an offense and autocorrects 379s begin rescue 379s rescuing from {} after another exception 379s registers an offense and autocorrects 379s rescuing from {} before another exception 379s registers an offense and autocorrects 379s rescuing from {} 379s registers an offense and autocorrects 379s def rescue ensure 379s rescuing from {} 379s registers an offense and autocorrects 379s def rescue 379s rescuing from {} 379s registers an offense and autocorrects 379s behaves like offenses 379s def rescue 379s rescuing from nil 379s registers an offense and autocorrects 379s begin rescue ensure 379s rescuing from nil 379s registers an offense and autocorrects 379s def rescue ensure 379s rescuing from nil 379s registers an offense and autocorrects 379s begin rescue 379s rescuing from nil after another exception 379s registers an offense and autocorrects 379s rescuing from nil before another exception 379s registers an offense and autocorrects 379s rescuing from nil 379s registers an offense and autocorrects 379s behaves like offenses 379s begin rescue 379s rescuing from 0.0 379s registers an offense and autocorrects 379s rescuing from 0.0 after another exception 379s registers an offense and autocorrects 379s rescuing from 0.0 before another exception 379s registers an offense and autocorrects 379s def rescue ensure 379s rescuing from 0.0 379s registers an offense and autocorrects 379s def rescue 379s rescuing from 0.0 379s registers an offense and autocorrects 379s begin rescue ensure 379s rescuing from 0.0 379s registers an offense and autocorrects 379s behaves like offenses 379s begin rescue ensure 379s rescuing from 'string' 379s registers an offense and autocorrects 379s begin rescue 379s rescuing from 'string' after another exception 379s registers an offense and autocorrects 379s rescuing from 'string' 379s registers an offense and autocorrects 379s rescuing from 'string' before another exception 379s registers an offense and autocorrects 379s def rescue 379s rescuing from 'string' 379s registers an offense and autocorrects 379s def rescue ensure 379s rescuing from 'string' 379s registers an offense and autocorrects 379s 379s RuboCop::Cop::Style::IpAddresses 379s does not register an offense on an empty string 379s IPv4 379s does not register an offense for an address inside larger text 379s registers an offense for a valid address 379s does not register an offense for an invalid address 379s with allowed addresses 379s does not register an offense if the case differs 379s does not register an offense for a allowed addresses 379s IPv6 379s registers an offense for a very short address 379s registers an offense for an address with 0s collapsed 380s registers an offense for a valid address 380s does not register an offense for an invalid address 380s registers an offense for a shortened address 380s registers an offense for the loopback address 380s the unspecified address :: (shortform of 0:0:0:0:0:0:0:0) 380s does not register an offense 380s when it is removed from the allowed addresses 380s registers an offense 380s 380s RuboCop::Cop::Lint::UselessTimes 380s registers an offense and corrects with negative times 380s does not register an offense for an integer > 1 380s registers an offense and corrects when 1.times with empty block argument 380s registers an offense and corrects with negative times with block arg 380s registers an offense and corrects with 1.times with block arg 380s registers an offense and corrects with 0.times 380s registers an offense and corrects with 1.times 380s registers an offense and corrects when there is a blank line in the method definition 380s registers an offense and corrects with 1.times with method chain 380s registers an offense and corrects with 0.times with block arg 380s multiline block 380s corrects a block that changes another lvar 380s does not try to correct a block if the block arg is changed in parallel assignment 380s correctly handles a multiline block with 1.times 380s does not try to correct a block if the block arg is changed 380s short-form method 380s registers an offense and corrects with 0.times 380s registers an offense and corrects with 1.times 380s registers an offense and corrects with negative times 380s does not adjust surrounding space 380s does not register an offense for an integer > 1 380s within indentation 380s corrects properly when replacing 380s corrects properly when removing single line 380s corrects properly when removing multiline 380s inline `Integer#times` calls 380s does not try to correct `0.times` 380s does not try to correct `1.times` 380s 380s RuboCop::Cop::Lint::NonDeterministicRequireOrder 380s when not requiring files 380s does not register an offense 380s when requiring files 380s with sorted index 380s does not register an offense 380s when Ruby 2.7 or lower 380s with unsorted glob 380s registers an offense and autocorrects to add .sort 380s with require block passed as parameter 380s registers an offense an autocorrects to add sort 380s with top-level ::Dir 380s registers an offense and corrects to add .sort 380s with direct block glob 380s registers an offense and autocorrects to add .sort.each 380s with require block passed as parameter 380s registers an offense and autocorrects to add sort 380s with require_relative block passed as parameter 380s registers an offense and autocorrects to add sort 380s with top-level ::Dir 380s registers an offense and corrects to add .sort.each 380s with unsorted index 380s registers an offense and autocorrects to add .sort when the block has `require` 380s registers an offense and autocorrects to add .sort when the block has `require_relative` 380s registers an offense with extra logic 380s registers an offense and autocorrects to add .sort when the numblock has `require` 380s with require_relative block passed as parameter 380s registers an offense an autocorrects to add sort 380s with top-level ::Dir 380s registers an offense and corrects to add .sort 380s with require block passed as parameter 380s registers an offense an autocorrects to add sort 380s with sorted glob 380s does not register an offense 380s when Ruby 3.0 or higher 380s with `Dir.glob` 380s does not register an offense 380s with top-level ::Dir 380s does not register an offense 380s with `sort: false` keyword option 380s does not register an offense 380s with require block passed as parameter 380s does not register an offense 380s with direct block glob 380s does not register an offense 380s with require block passed as parameter 380s does not register an offense 380s with top-level ::Dir 380s does not register an offense 380s with `Dir[]` 380s does not register an offense 380s with top-level ::Dir 380s does not register an offense 380s with require block passed as parameter 380s does not register an offense 380s with extra logic 380s does not register an offense 380s 380s RuboCop::Cop::Lint::AmbiguousOperatorPrecedence 380s corrects a super long expression in precedence order 380s allows an operator with `or` 380s registers an offense when the entire expression is wrapped in parentheses 380s registers an offense for expressions containing booleans and operators 380s does not register an offense when all operators in the expression have the same precedence 380s does not register an offense when expressions are wrapped in parentheses by precedence 380s does not register an offense when expressions are wrapped in parentheses by reverse precedence 380s registers an offense when an expression with mixed boolean operators has no parens 380s does not register an offense when boolean expressions are wrapped in parens 380s registers an offense when an expression with mixed precedence has no parens 380s allows an operator with `and` 380s corrects a super long expression in reverse precedence order 380s does not register an offense when there is only one operator in the expression 380s 380s RuboCop::Cop::Naming::MethodName 380s accepts for non-ascii characters 380s when configured for camelCase 380s accepts class emitter method in a module, even when it is defined inside another method 380s registers an offense for mixed snake case and camel case in attr. 380s accepts operator definitions 380s registers an offense for singleton upper case method without corresponding class 380s registers an offense for mixed snake case and camel case in attr. 380s registers an offense for camel case methods names in attr. 380s accepts one line methods 380s registers an offense for snake case name in attr. 380s accepts class emitter method in a class 380s accepts camel case in instance method name 380s registers an offense for mixed snake case and camel case 380s registers an offense for singleton snake_case method within class 380s registers an offense for correct + opposite 380s accepts camel case in singleton method name 380s registers an offense for capitalized camel case name in attr. 380s accepts camel case names in attr. 380s accepts class emitter method in a class, even when it is defined inside another method 380s accepts class emitter method in a module 380s accepts unary operator definitions 380s registers an offense for snake case in names 380s registers an offense for capitalized camel case 380s when specifying `AllowedPatterns` 380s does not register an offense for camel case method name matching `AllowedPatterns` 380s does not register an offense for snake case method name matching `AllowedPatterns` 380s does not register an offense for camel case method name in attr. 380s does not register an offense for snake case method name in attr. 380s when configured for snake_case 380s registers an offense for singleton camelCase method within class 380s accepts snake case in names 380s registers an offense for mixed snake case and camel case 380s accepts class emitter method in a module 380s registers an offense for singleton upper case method without corresponding class 380s accepts class emitter method in a module, even when it is defined inside another method 380s registers an offense for capitalized camel case 380s accepts class emitter method in a class 380s registers an offense for opposite + correct 380s registers an offense for mixed snake case and camel case in attr. 380s accepts snake case in attr. 380s registers an offense for camel case method names in attr. 380s accepts unary operator definitions 380s registers an offense for camel case in instance method name 380s registers an offense for mixed snake case and camel case in attr. 380s registers an offense for camel case in singleton method name 380s accepts one line methods 380s accepts class emitter method in a class, even when it is defined inside another method 380s registers an offense for camel case methods names in attr. 380s accepts operator definitions 380s registers an offense for capitalized camel case name in attr. 380s when specifying `AllowedPatterns` 380s does not register an offense for snake case method name matching `AllowedPatterns` 380s does not register an offense for camel case method name matching `AllowedPatterns` 380s does not register an offense for snake case method name in attr. 380s does not register an offense for camel case method name in attr. 380s 380s RuboCop::Cop::Lint::DuplicateCaseCondition 380s registers an offense for repeated case conditionals 380s accepts trivial case expressions 380s accepts non-redundant case expressions with an else expression 380s accepts similar but not equivalent && expressions 380s registers an offense for subsequent repeated case conditionals 380s registers an offense for repeated logical operator when expressions 380s accepts non-redundant case expressions 380s registers multiple offenses for multiple repeated case conditionals 380s registers multiple offenses for repeated multi-value conditionals 380s 380s RuboCop::Formatter::FuubarStyleFormatter 380s #progressbar_color 380s when convention and error offenses are detected in a file 380s is red 380s when no offenses are detected in a file 380s is still green 380s initially 380s is green 380s when a convention offense is detected in a file 380s is yellow 380s when an error offense is detected in a file 380s is red 380s and then a convention offense is detected in the next file 380s is still red 380s when a offense is detected in a file and autocorrected 380s is green 380s #with_color 380s when color is enabled 380s outputs coloring sequence code at the beginning and the end 380s when color is disabled 380s outputs nothing 380s 380s RuboCop::Cop::Lint::DeprecatedOpenSSLConstant 380s registers an offense with cipher constant and two arguments and corrects 380s does not register an offense with cipher constant and argument is a constant 380s registers an offense when using ::Digest class methods on an algorithm constant and corrects 380s does not register an offense when building digest using an algorithm string 380s registers an offense with cipher constant and no arguments and corrects 380s does not register an offense when using ::Digest class methods with an algorithm string and value 380s registers an offense with AES + blocksize constant and corrects 380s registers an offense when building an instance using an digest constant and corrects 380s registers an offense with cipher constant and no arguments and corrects 380s does not register an offense when using cipher with a string 380s registers an offense with cipher constant and no arguments and corrects 380s registers an offense with cipher constant and `cbc` argument and corrects 380s registers an offense with cipher constant and no arguments and corrects 380s registers an offense with AES + blocksize constant and mode argument and corrects 380s does not register an offense when building digest using an algorithm string and nested digest constants 380s registers an offense with cipher constant and one argument and corrects 380s does not register an offense with cipher constant and argument is a variable 380s does not register an offense with cipher constant and send argument is a method 380s registers an offense when using an digest constant with chained methods and corrects 380s registers an offense with cipher constant and double quoted string argument and corrects 380s when used in a block 380s registers an offense when using ::Digest class methods on an algorithm constant and corrects 380s 380s RuboCop::Cop::Lint::DuplicateMethods 380s understands class << A 380s only registers an offense for the second instance of a duplicate instance method in separate files 380s registers an offense for duplicate attr in module 380s understands nested modules 380s registers an offense for duplicate methods at top level 380s doesn't register offense for non-duplicate class methods in module 380s doesn't register an offense for non-duplicate alias in dynamic class 380s does not register an offense for same method name defined in different methods 380s registers an offense when class << exp is used 380s registers an offense for duplicate attr_reader in class 380s registers an offense for duplicate method in class_eval block 380s registers an offense for a duplicate instance method in separate dynamic class blocks 380s registers an offense for a duplicate instance method in separate class blocks 380s registers an offense for duplicate method in dynamic class 380s registers an offense for duplicate nested method in dynamic module 380s recognizes difference between instance and class methods in dynamic module 380s registers an offense for duplicate attr_writer in class 380s registers an offense for duplicate alias in dynamic class 380s doesn't register offense for non-duplicate class methods in class 380s registers offenses for duplicate attr_accessor in class_eval block 380s registers an offense for duplicate attr_writer in module 380s registers an offense for duplicate protected methods in class 380s registers an offense for duplicate attr_writer in dynamic module 380s registers an offense for duplicate private methods in class 380s registers 2 offenses for pair of duplicate methods in dynamic module 380s doesn't register an offense for non-duplicate alias in class 380s does not register an offense for same method name defined in different self methods 380s accepts for attr_writer and getter in class_eval block 380s registers an offense for duplicate protected methods in dynamic class 380s registers offenses for duplicate attr_accessor in class 380s registers an offense for duplicate nested method in self method of dynamic class 380s recognizes difference between instance and class methods in dynamic class 380s understands nested modules 380s accepts for non-duplicate alias_method in class 380s registers offenses for duplicate assignable attr in class 380s registers offenses for duplicate assignable attr in dynamic class 380s doesn't register an offense for non-duplicate alias in class_eval block 380s registers offenses for duplicate assignable attr in module 380s doesn't register an offense for different private methods in class 380s registers an offense for duplicate method in module 380s registers an offense for duplicate class methods with `self` and named receiver in module 380s registers 2 offenses for pair of duplicate methods in class 380s registers an offense for duplicate attr_reader in module 380s registers an offense for duplicate private methods in class_eval block 380s accepts for non-duplicate alias_method in dynamic class 380s registers an offense for duplicate class methods in module 380s only registers an offense for the second instance of a duplicate instance method in separate files 380s registers an offense for duplicate alias in module 380s registers an offense when class << exp is used 380s registers an offense for duplicate nested method in class_eval block 380s doesn't register an offense for different private methods in dynamic module 380s registers offenses for duplicate attr_accessor in module 380s registers 2 offenses for pair of duplicate methods in dynamic class 380s understands class << self 380s registers an offense for a duplicate class method in separate dynamic class blocks 380s recognizes difference between instance and class methods in module 380s registers an offense for a duplicate instance method in separate class_eval block blocks 380s registers an offense for duplicate attr in class 380s accepts for non-duplicate alias_method in module 380s registers 2 offenses for pair of duplicate methods in class_eval block 380s properly registers and offense when deeply nested 380s registers an offense for duplicate class methods with `<<` and named receiver in class 380s doesn't register an offense for non-duplicate alias in module 380s registers an offense for duplicate private self methods in module 380s registers an offense for duplicate attr in dynamic class 380s registers offenses for duplicate attr_accessor in dynamic module 380s doesn't register an offense for non-duplicate method in module 380s does not register an offense for same method name defined in different methods 381s registers an offense for duplicate nested method in self method of module 381s does not register for the same method in different scopes within `class << self` 381s recognizes difference between instance and class methods in class 381s registers an offense for duplicate nested method in self method of class_eval block 381s registers an offense for duplicate alias_method in class_eval block 381s only registers an offense for the second instance of a duplicate instance method in separate files 381s registers an offense for duplicate nested method in module 381s registers an offense for a duplicate instance method in separate dynamic module blocks 381s accepts for attr_writer and getter in module 381s registers an offense for duplicate method in dynamic module 381s doesn't register offense for non-duplicate class methods in dynamic module 381s registers an offense for duplicate nested method in self method of dynamic module 381s registers an offense for duplicate class methods with named receiver in class 381s doesn't register an offense for non-duplicate method in class 381s accepts for attr_reader and setter in class_eval block 381s registers an offense for duplicate alias in dynamic module 381s registers an offense for duplicate class methods with `self` and named receiver in class 381s registers an offense when class << exp is used 381s understands nested modules 381s understands class << self 381s does not register an offense for same method name defined in different self methods 381s does not register an offense for same method name defined in different methods 381s registers an offense for duplicate alias_method in dynamic module 381s registers an offense when class << exp is used 381s registers an offense for duplicate private methods in dynamic class 381s ignores Class.new blocks which are assigned to local variables 381s does not register an offense for same method name defined in different self methods 381s registers an offense for duplicate nested method in class 381s accepts for attr_writer and getter in class 381s registers an offense when class << exp is used 381s registers an offense for duplicate attr_reader in class_eval block 381s registers an offense for a duplicate class method in separate module blocks 381s accepts for attr_writer and getter in dynamic class 381s recognizes difference between instance and class methods in class_eval block 381s only registers an offense for the second instance of a duplicate instance method in separate files 381s doesn't register an offense for alias for gvar in dynamic class 381s registers an offense for duplicate class methods with named receiver in module 381s doesn't register an offense for different private methods in dynamic class 381s registers an offense for duplicate alias_method in module 381s accepts for attr_writer and getter in dynamic module 381s registers an offense for duplicate protected methods in dynamic module 381s doesn't register an offense for alias for gvar in module 381s doesn't register an offense for non-duplicate method in class_eval block 381s understands class << self 381s only registers an offense for the second instance of a duplicate instance method in separate files 381s registers an offense for a duplicate class method in separate class blocks 381s registers an offense for duplicate private self methods in dynamic module 381s registers an offense for duplicate class methods in class 381s registers an offense for a duplicate class method in separate dynamic module blocks 381s accepts for attr_reader and setter in class 381s registers an offense for duplicate class methods in dynamic module 381s does not register an offense for same method name defined in different self methods 381s registers an offense for duplicate class methods in dynamic class 381s registers an offense for a duplicate class method in separate class_eval block blocks 381s registers an offense for duplicate attr in dynamic module 381s does not register an offense for same method name defined in different methods 381s registers offenses for duplicate assignable attr in dynamic module 381s registers an offense for duplicate alias in class 381s registers an offense for duplicate private self methods in class_eval block 381s registers an offense for duplicate attr_reader in dynamic class 381s registers an offense for duplicate attr_reader in dynamic module 381s ignores method definitions in RSpec `describe` blocks 381s doesn't register an offense for non-duplicate alias in dynamic module 381s registers an offense for duplicate alias in class_eval block 381s registers an offense for duplicate private methods in dynamic module 381s registers 2 offenses for pair of duplicate methods in module 381s doesn't register an offense for alias for gvar in class_eval block 381s doesn't register an offense for alias for gvar in class 381s registers an offense for duplicate attr_writer in class_eval block 381s accepts for attr_reader and setter in dynamic class 381s registers an offense for duplicate method in class 381s accepts for non-duplicate alias_method in dynamic module 381s doesn't register an offense for non-duplicate method in dynamic class 381s does not register an offense for same method name defined in different self methods 381s registers an offense for duplicate private self methods in class 381s registers an offense for duplicate private methods in module 381s understands class << self 381s registers an offense for duplicate protected methods in module 381s registers an offense for a duplicate instance method in separate module blocks 381s understands nested modules 381s registers offenses for duplicate attr_accessor in dynamic class 381s registers an offense for duplicate attr in class_eval block 381s understands class << self 381s registers an offense for duplicate nested method in self method of class 381s doesn't register an offense for alias for gvar in dynamic module 381s registers an offense for duplicate private self methods in dynamic class 381s accepts for non-duplicate alias_method in class_eval block 381s registers an offense for duplicate nested method in dynamic class 381s handles class_eval with implicit receiver 381s does not register an offense for same method name defined in different methods 381s registers an offense for duplicate attr_writer in dynamic class 381s accepts for attr_reader and setter in module 381s registers an offense for duplicate alias_method in class 381s registers an offense for duplicate class methods in class_eval block 381s doesn't register offense for non-duplicate class methods in class_eval block 381s doesn't register an offense for non-duplicate method in dynamic module 381s understands nested modules 381s registers an offense for duplicate class methods with `<<` and named receiver in module 381s doesn't register an offense for different private methods in module 381s doesn't register an offense for different private methods in class_eval block 381s doesn't register offense for non-duplicate class methods in dynamic class 381s registers an offense for duplicate protected methods in class_eval block 381s accepts for attr_reader and setter in dynamic module 381s registers offenses for duplicate assignable attr in class_eval block 381s registers an offense for duplicate alias_method in dynamic class 381s when path is not in the project root 381s adds a message with absolute path 381s when path is in the project root 381s adds a message with relative path 381s 381s RuboCop::Cop::Style::DoubleNegation 381s when `EnforcedStyle: forbidden` 381s does not register an offense for `not not` 381s registers an offense for `!!` when return location and using `rescue` 381s does not register an offense for ! 381s registers an offense for `!!` when return location and using `ensure` 381s registers an offense and corrects for `!!` when using `return` keyword 381s registers an offense and corrects for `!!` 381s registers an offense and corrects for `!!` when return location 381s registers an offense and corrects for `!!` when not a return location 381s registers an offense for `!!` when return location and using `rescue`, `else`, and `ensure` 381s registers an offense for `!!` when return location and using `rescue` and `ensure` 381s when `EnforcedStyle: allowed_in_returns` 381s registers an offense and corrects for `!!` with hash when not return locationand using `case`, `when`, and `else` 381s does not register an offense for `!!` when return location 381s does not register an offense for `!!` with array when return location and using `case`, `when`, and `else` 381s registers an offense and corrects for `!!` with array when not return locationand using `case`, `when`, and `else` 381s registers an offense and corrects for `!!` when not return locationand using `if`, `elsif`, and `else` 381s registers an offense and corrects for `!!` with nested array at return location 381s does not register an offense for `!!` when return location by `define_singleton_method` 381s registers an offense and corrects for `!!` 381s registers an offense and corrects for `!!` with complex array at return location 381s registers an offense and corrects for `!!` with nested hash at return location 381s does not register an offense for `!!` with array when return location and using `if`, `elsif`, and `else` 381s does not register an offense for `!!` with hash when return location and using `if`, `elsif`, and `else` 381s does not register an offense for `!!` when return location and using `if`, `elsif`, and `else` 381s does not register an offense for `!!` when using `return` keyword 381s registers an offense and corrects for `!!` with single-line hash at return location 381s registers an offense and corrects for `!!` when not return location and using `unless` 381s does not register an offense for `!!` when return location and using `rescue`, `else`, and `ensure` 381s does not register an offense for `!!` with hash when return location and using `case`, `when`, and `else` 381s does not register an offense for `!!` when return location and using `unless` 381s does not register an offense for `!!` when return location and using `rescue` 381s registers an offense and corrects for `!!` when not return locationand using `case`, `when`, and `else` 381s registers an offense and corrects for `!!` when not a return location 381s does not register an offense for `!!` when return location and using `case`, `when`, and `else` 381s registers an offense and corrects for `!!` with single-line array at return location 381s does not register an offense for `!!` when return location by `define_method` 381s registers an offense and corrects for `!!` with array when not return locationand using `if`, `elsif`, and `else` 381s registers an offense and corrects for `!!` with hash when not return locationand using `if`, `elsif`, and `else` 381s does not register an offense for `!!` when return location and using `rescue` and `ensure` 381s registers an offense and corrects for `!!` with multi-line array at return location 381s does not register an offense for ! 381s does not register an offense for `!!` when return location and using `ensure` 381s does not register an offense for `not not` 381s registers an offense and corrects for `!!` with multi-line hash at return location 381s Ruby >= 2.7 381s does not register an offense for `!!` when return location and using `case`, `in`, and `else` 381s Ruby >= 2.7 381s registers an offense and corrects for `!!` when not return locationand using `case`, `in`, and `else` 381s 381s RuboCop::Ext::RegexpNode 381s #each_capture 381s when called without argument 381s is expected to match [(be an instance of Regexp::Expression::Group::Capture), (be an instance of Regexp::Expression::Group::Named)] 381s when called with a `named: false` 381s is expected to match [(be an instance of Regexp::Expression::Group::Capture)] 381s when called with a `named: true` 381s is expected to match [(be an instance of Regexp::Expression::Group::Named)] 381s #parsed_tree 381s with a regexp containing a multi-line interpolation 381s returns the expected blanked tree 381s with a regexp with subexpressions 381s has location information 381s with an extended mode regexp with comment 381s returns the expected tree 381s with a regexp containing interpolation 381s returns the expected blanked tree 381s with a regexp not containing interpolation 381s returns the expected tree 381s 381s RuboCop::Cop::Naming::HeredocDelimiterCase 381s when enforced style is uppercase 381s with an interpolated heredoc 381s registers an offense and corrects with a lowercase delimiter 381s registers an offense with a camel case delimiter 381s does not register an offense with an uppercase delimiter 381s with a squiggly heredoc 381s registers an offense and corrects with a lowercase delimiter 381s registers an offense and corrects with a camel case delimiter 381s does not register an offense with an uppercase delimiter 381s with a non-interpolated heredoc 381s when using double quoted delimiters 381s does not register an offense with an uppercase delimiter 381s registers an offense and corrects with a lowercase delimiter 381s registers an offense and corrects with a camel case delimiter 381s when using single quoted delimiters 381s registers an offense and corrects with a camel case delimiter 381s registers an offense and corrects with a lowercase delimiter 381s does not register an offense with an uppercase delimiter 381s when using non-word delimiters 381s does not register an offense 381s when using back tick delimiters 381s registers an offense and corrects with a lowercase delimiter 381s does not register an offense with an uppercase delimiter 381s registers an offense and corrects with a camel case delimiter 381s when enforced style is lowercase 381s with a non-interpolated heredoc 381s registers an offense and corrects with an uppercase delimiter 381s does not register an offense with a lowercase delimiter 381s registers an offense and corrects with a camel case delimiter 381s with an interpolated heredoc 381s registers an offense and corrects with a camel case delimiter 381s registers an offense and corrects with an uppercase delimiter 381s does not register an offense with a lowercase delimiter 381s with a squiggly heredoc 381s registers an offense and corrects with an uppercase delimiter 381s does not register an offense with a lowercase delimiter 381s registers an offense and corrects with a camel case delimiter 381s 381s RuboCop::Cop::Layout::SpaceBeforeComment 381s accepts a comment that begins a line 381s registers an offense and corrects missing space before an EOL comment 381s registers an offense and corrects after a heredoc 381s accepts an EOL comment with a preceding space 381s accepts a doc comment 381s 381s RuboCop::Cop::Style::MapCompactWithConditionalBlock 381s With multiline block 381s registers an offense and corrects to `select` with guard clause of `if` and `next` has a value and return nil 381s registers an offense and corrects to `select` with guard clause of `if` and `next` has a value 381s registers an offense and corrects to `reject` with guard clause of `unless` 381s does not register offenses if there are multiple guard clauses 381s registers an offense and corrects to `select` with multi-line `if` condition 381s registers an offense and corrects to `reject` with `unless` condition 381s does not register offenses if return value is not same as block argument 381s registers an offense and corrects to `select` with guard clause of `if` and next explicitly nil 381s registers an offense and corrects to `reject` with guard clause of `unless` and `next` explicitly nil 381s registers an offense and corrects to `select` with `if` condition 381s registers an offense and corrects to `select` if condition has not else branch 381s registers an offense and corrects to `reject` with ternary expression 381s does not register offenses if `compact` is not chained to `map` 381s registers an offense and corrects to `select` with modifier form of `if` condition 381s registers an offense and corrects to `reject` with guard clause of `unless` and `next` has a value and return nil 381s registers an offense and corrects to `reject` if `next value` in else_branch and `nil` in if_branch 381s registers an offense and corrects to `select` with guard clause of `if` 381s registers an offense and corrects to `select` if `next value` in if_branch and `nil` in else_branch 381s registers an offense and corrects to `reject` with `if` condition 381s registers an offense and corrects to `select` with ternary expression 381s registers an offense and corrects to `reject` with modifier form of `unless` condition 381s does not register offenses if condition has elsif branch 381s registers an offense and corrects to `reject` with guard clause of `unless` and `next` has a value 381s With single line block 381s registers an offense and corrects to `reject` with modifier form of `unless` condition 381s registers an offense and corrects to `select` with ternary expression 381s registers an offense and corrects to `select` with modifier form of `if` condition 381s does not register offenses if `compact` is not chained to `map` 381s registers an offense and corrects to `reject` with ternary expression 381s 381s RuboCop::Cop::Layout::HeredocArgumentClosingParenthesis 381s incorrect cases 381s simple incorrect case comma with spaces and comma in heredoc 381s detects 381s complex chained incorrect case with multiple calls 381s detects and fixes the first 381s incorrect case with other param before 381s detects 381s complex incorrect case with multiple calls 381s detects and fixes the second 381s detects and fixes the first 381s incorrect case with other param after 382s detects 382s nested incorrect case 382s detects 382s double incorrect case new line chained calls 382s detects 382s double incorrect case 382s detects 382s double case new line 382s detects and fixes 382s incorrect case with other param before constructor 382s detects 382s simple incorrect case comma with spaces 382s detects 382s simple incorrect case comma 382s detects 382s incorrect case with other param before constructor and raise call 382s detects 382s incorrect case in array with nested calls and double heredoc and spaced out comma 382s detects 382s simple incorrect case hash 382s detects 382s simple incorrect case with call after 382s detects 382s simple incorrect case squiggles 382s detects 382s incorrect case in array with double heredoc and spaced out comma 382s detects 382s simple incorrect case with call after trailing comma 382s detects 382s incorrect case nested method call with comma 382s detects 382s simple incorrect case 382s detects 382s incorrect case in array with spaced out comma 382s detects 382s correct cases 382s accepts simple correct case 382s accepts correct case with other param before 382s accepts correct case with other param after 382s accepts hash correct case 382s accepts when there is an argument between a heredoc argument and the closing paretheses 382s accepts double correct case new line 382s accepts double correct case nested 382s accepts method with heredoc argument of proc correct case 382s accepts method chain with heredoc argument correct case 382s accepts double correct case 382s invocation after the HEREDOC 382s ignores tr 382s ignores random call 382s ignores random call after 382s 382s RuboCop::Cop::Style::InfiniteLoop 382s registers an offense for a while loop with [1] as condition 382s accepts modifier while true if loop {} would change semantics 382s registers an offense for a until loop with nil as condition 382s accepts Kernel#loop 382s registers an offense for until false if loop {} would work because the assigned variable is not used afterwards 382s registers an offense for while true if loop {} would work because it is an instance variable being assigned 382s registers an offense for until false if loop {} would work because of previous assignment in a while loop 382s registers an offense for a while loop with 2.0 as condition 382s registers an offense for while true or until false if loop {} would work because of an earlier assignment 382s registers an offense for a until loop with false as condition 382s registers an offense for a while loop with {} as condition 382s registers an offense for modifier until false if loop {} would not change semantics 382s registers an offense for a while loop with 1 as condition 382s accepts while true if loop {} would change semantics 382s behaves like autocorrector 382s autocorrects the usage of while without do 382s autocorrects the usage of while with do 382s autocorrects single line modifier while with and 382s autocorrects begin-end-while with one statement 382s autocorrects single line modifier while 382s autocorrects begin-end-while with two statements 382s with non-default indentation width 382s autocorrects multi-line modifier while and indents correctly 382s behaves like autocorrector 382s autocorrects begin-end-until with two statements 382s autocorrects begin-end-until with one statement 382s autocorrects single line modifier until with and 382s autocorrects single line modifier until 382s autocorrects the usage of until with do 382s autocorrects the usage of until without do 382s with non-default indentation width 382s autocorrects multi-line modifier until and indents correctly 382s 382s RuboCop::Cop::Layout::SpaceInsideHashLiteralBraces 382s registers an offense for correct + opposite 382s registers an offense for hashes with no spaces if so configured 382s can handle interpolation in a braceless hash literal 382s accepts hashes with spaces by default 382s accepts hash literals with no braces 382s on { key: "{" } 382s does not register an offense 382s offending hash following empty hash 382s registers an offense on both sides 382s with newline inside empty braces not allowed 382s registers an offense 382s with space inside empty braces not allowed 382s accepts empty braces with no space inside 382s registers an offense for empty braces with space inside 382s with space inside empty braces allowed 382s accepts empty braces with space inside 382s registers an offense for empty braces with no space inside 382s when using method argument that both key and value are hash literals 382s registers hashes with no spaces 382s when EnforcedStyle is compact 382s accepts multiline hash with comment 382s doesn't register an offense for non-nested hashes with spaces 382s accepts multiline hash 382s registers an offense for opposite + correct 382s registers an offense for nested hashes with spaces 382s registers offenses for hashes with no spaces 382s on Hash[{ x: 1 } => [1]] 382s does not register an offense 382s when EnforcedStyle is no_space 382s accepts hashes with no spaces 382s accepts multiline hash 382s accepts multiline hash with comment 382s registers an offense for hashes with spaces 382s registers an offense for opposite + correct 382s when using method argument that both key and value are hash literals 382s accepts hashes with no spaces 382s 382s RuboCop::Cop::Style::EmptyHeredoc 382s does not register an offense when using not empty heredoc 382s registers an offense when using empty heredoc single argument 382s registers an offense when using empty `<<~EOS` heredoc 382s registers an offense when using empty heredoc argument with other argument 382s registers an offense when using empty `<<-EOS` heredoc 382s registers an offense when using empty `<" 382s method with arguments 382s is expected to eq "<4, 0, 0>" 382s with .foo = 382s is expected to eq "<1, 2, 0>" 382s elsif vs else if 382s elsif 382s is expected to eq "<0, 5, 3>" 382s else if 382s is expected to eq "<0, 5, 4>" 382s with ||= 382s is expected to eq "<2, 0, 1>" 382s with []= 382s is expected to eq "<2, 1, 0>" 382s same but with 7 arguments 382s is expected to eq "<9, 3, 0>" 382s with a for 382s is expected to eq "<2, 1, 1>" 382s when discounting repeated calls 382s when root receiver is a var 382s is expected to eq "<3, 9, 0>" 382s when some calls have arguments 382s is expected to eq "<1, 7, 0>" 382s when root receiver is self/nil 382s is expected to eq "<2, 9, 1>" 382s with a block 382s is expected to eq "<2, 3, 0>" 382s with &&= 382s is expected to eq "<2, 0, 1>" 382s with ||= on a constant 382s is expected to eq "<1, 0, 1>" 382s with a yield 382s is expected to eq "<0, 1, 0>" 382s multiple assignment with method setters 382s is expected to eq "<3, 5, 0>" 382s with += for setters 382s is expected to eq "<1, 2, 0>" 382s when counting repeated calls 382s is expected to eq "<1, 4, 0>" 382s with &.foo 382s is expected to eq "<0, 4, 2>" 382s with repeated lvar receivers 382s is expected to eq "<3, 5, 3>" 382s with unused assignments 382s is expected to eq "<2, 1, 0>" 382s equivalent to multiple assignment with method setters 382s is expected to eq "<3, 5, 0>" 382s multiple assignment 382s is expected to eq "<3, 1, 0>" 382s with += 382s is expected to eq "<2, 0, 0>" 382s multiple calls with return 382s is expected to eq "<0, 3, 0>" 382s if and arithmetic operations 382s is expected to eq "<2, 8, 4>" 382s assignment with ternary operator 382s is expected to eq "<2, 6, 2>" 382s same with extra condition 382s is expected to eq "<2, 9, 5>" 382s 382s RuboCop::Cop::Layout::FirstMethodArgumentLineBreak 382s ignores arguments listed on a single line 382s ignores arguments without parens 382s registers an offense and corrects hash arg without a line break before the first pair 382s ignores methods without arguments 382s registers an offense and corrects hash arg spanning multiple lines 382s ignores kwargs listed on a single line when the arguments are used in `super` 382s args listed on the first line 382s registers an offense and corrects 382s registers an offense and corrects using safe navigation operator 382s registers an offense and corrects using `super` 382s 382s RuboCop::Cop::Style::GlobalStdStream 382s registers an offense and corrects when using std stream as const 382s does not register an offense when assigning other const to std stream gvar 382s does not register an offense when assigning std stream const to std stream gvar 382s does not register an offense when using non std stream const 382s 382s RuboCop::Cop::Layout::CommentIndentation 382s when allow_for_alignment is false 382s registers offenses and corrects before __END__ but not after 382s registers an offense and corrects 382s registers an offense for comments with extra indentation 382s around program structure keywords 382s accepts correctly indented comments 382s with a blank line following the comment 382s accepts a correctly indented comment 382s on outer level 382s registers an offense for each incorrectly indented comment 382s registers an offense and corrects an incorrectly indented (1) comment 382s accepts a comment that follows code 382s registers an offense and corrects an incorrectly indented (2) comment 382s accepts a correctly indented comment 382s registers an offense and corrects a documentation comment 382s near various kinds of brackets 382s is unaffected by closing bracket that does not begin a line 382s accepts correctly indented comments 382s when allow_for_alignment is true 382s accepts comments with extra indentation if aligned with comment on previous line 382s registers offenses and corrects before __END__ but not after 382s registers an offense and corrects 382s near various kinds of brackets 382s accepts correctly indented comments 382s is unaffected by closing bracket that does not begin a line 382s on outer level 382s accepts a correctly indented comment 382s registers an offense and corrects a documentation comment 382s accepts a comment that follows code 382s registers an offense for each incorrectly indented comment 382s registers an offense and corrects an incorrectly indented (2) comment 382s registers an offense and corrects an incorrectly indented (1) comment 382s around program structure keywords 382s accepts correctly indented comments 382s with a blank line following the comment 382s accepts a correctly indented comment 382s 382s RuboCop::Cop::Layout::LineEndStringConcatenationIndentation 382s when EnforcedStyle is indented 382s registers an offense for aligned strings in hash literal values 382s accepts indented strings 382s registers an offense for unaligned third part of string 382s accepts a heredoc string with interpolation 382s accepts indented strings in implicit return statement of a method definition after other statement 382s accepts an empty heredoc string with interpolation 382s registers an offense for aligned string 382s accepts string literal with line break concatenated with other string 382s accepts indented strings in ordinary statement 382s accepts indented strings in implicit return statement of a block 382s accepts indented strings in implicit return statement of a method definition 382s accepts single line string literal concatenation 382s accepts a multiline string literal 382s accepts indented strings in implicit return statement of a singleton method definition 382s registers an offense for aligned strings in an if/elsif/else statement 382s accepts a heredoc string ... 382s for assignment with x += 382s accepts indented strings 382s registers an offense for aligned strings 382s when IndentationWidth is 1 382s accepts indented strings 382s for assignment with x ||= 382s accepts indented strings 382s registers an offense for aligned strings 382s for assignment with X = 382s registers an offense for aligned strings 382s accepts indented strings 382s for assignment with $x = 382s registers an offense for aligned strings 382s accepts indented strings 382s for assignment with @x = 382s accepts indented strings 382s registers an offense for aligned strings 382s for assignment with x = 382s registers an offense for aligned strings 382s accepts indented strings 382s when EnforcedStyle is aligned 382s accepts an empty heredoc string with interpolation 382s accepts indented strings in implicit return statement of a method definition after other statement 382s accepts a heredoc string ... 382s accepts a multiline string literal 382s accepts indented strings in ordinary statement 382s accepts aligned strings in method call 382s accepts string literal with line break concatenated with other string 382s accepts indented strings in implicit return statement of a method definition 382s registers an offense for unaligned strings in hash literal values 382s accepts single line string literal concatenation 382s registers an offense for third part of a string if it is aligned only with the first 382s registers an offense for aligned strings in an if/elsif/else statement 382s registers an offense for indented string 382s accepts indented strings in implicit return statement of a block 382s accepts indented strings in implicit return statement of a singleton method definition 382s accepts a heredoc string with interpolation 382s for assignment with @x = 382s accepts aligned strings 382s registers an offense for indented strings 382s for assignment with $x = 382s accepts aligned strings 382s registers an offense for indented strings 382s for assignment with x ||= 382s accepts aligned strings 382s registers an offense for indented strings 382s for assignment with x = 382s accepts aligned strings 382s registers an offense for indented strings 382s for assignment with X = 382s accepts aligned strings 382s registers an offense for indented strings 382s for assignment with x += 382s accepts aligned strings 382s registers an offense for indented strings 382s 382s RuboCop::Cop::Style::NestedTernaryOperator 382s registers an offense and corrects for a nested ternary operator expression with no parentheses on the outside 382s registers an offense and corrects for a nested ternary operator expression 382s registers an offense and corrects for a nested ternary operator expression with block 383s accepts a non-nested ternary operator within an if 383s can handle multiple nested ternaries 383s 383s RuboCop::Cop::Lint::EmptyFile 383s does not register an offense when the file contains comments 383s does not register an offense when the file contains code 383s registers an offense when the file is empty 383s when AllowComments is false 383s registers an offense when the file contains comments 383s 383s RuboCop::Cop::Lint::LiteralAsCondition 383s registers an offense for literal :"#{a}" in complex cond 383s registers an offense for literal [1] in if 383s registers an offense for literal [1] in case 383s accepts literal :"#{a}" if it's not an and/or operand 383s registers an offense for literal {} in post-loop while 383s registers an offense for case with a primitive array condition 383s registers an offense for literal 2.0 in a when of a case without anything after case keyword 383s registers an offense for literal 1 in ! 383s registers an offense for literal {} in if 383s registers an offense for literal :sym in until 383s registers an offense for literal 1 in a when of a case without anything after case keyword 383s registers an offense for literal :sym in while 383s registers an offense for literal :"#{a}" in post-loop while 383s registers an offense for literal :"#{a}" in while 383s registers an offense for literal 1 in complex cond 383s registers an offense for literal :sym in case 383s registers an offense for literal [1] in a when of a case without anything after case keyword 383s registers an offense for literal 1 in if 383s accepts literal {} if it's not an and/or operand 383s registers an offense for literal :sym in a when of a case without anything after case keyword 383s registers an offense for literal :"#{a}" in until 383s registers an offense for literal {} in while 383s registers an offense for literal {} in complex cond 383s registers an offense for `not :"#{a}"` 383s accepts literal :sym in a when of a case with something after case keyword 383s accepts literal 1 if it's not an and/or operand 383s registers an offense for literal 1 in while 383s accepts literal 1 in a when of a case with something after case keyword 383s registers an offense for `![1]` 383s registers an offense for literal {} in until 383s registers an offense for literal :sym in post-loop while 383s registers an offense for literal 2.0 in case 383s registers an offense for literal 2.0 in until 383s registers an offense for literal 1 in complex ! 383s registers an offense for literal 2.0 in ! 383s registers an offense for literal [1] in until 383s registers an offense for literal :sym in complex ! 383s accepts literal 2.0 if it's not an and/or operand 383s accepts literal :"#{a}" in a when of a case with something after case keyword 383s registers an offense for `not {}` 383s accepts literal {} in a when of a case with something after case keyword 383s registers an offense for literal [1] in while 383s registers an offense for literal 2.0 in post-loop while 383s accepts dstr literal in case 383s registers an offense for literal [1] in post-loop until 383s registers an offense for literal 2.0 in && 383s accepts literal [1] in a when of a case with something after case keyword 383s registers an offense for `!{}` 383s registers an offense for literal 2.0 in complex ! 383s accepts `true` literal in `while` 383s accepts literal [1] in non-toplevel and/or 383s registers an offense for literal [1] in ! 383s registers an offense for literal {} in ! 383s registers an offense for `!:"#{a}"` 383s registers an offense for literal 2.0 in complex cond 383s registers an offense for literal {} in case 383s registers an offense for literal [1] in post-loop while 383s registers an offense for literal :sym in if 383s registers an offense for literal 2.0 in if 383s registers an offense for literal [1] in complex cond 383s registers an offense for literal [1] in && 383s accepts literal :sym if it's not an and/or operand 383s accepts literal :sym in non-toplevel and/or 383s registers an offense for `not 1` 383s registers an offense for literal :"#{a}" in case 383s registers an offense for literal 1 in && 383s registers an offense for literal 1 in post-loop until 383s registers an offense for `!:sym` 383s accepts literal 1 in non-toplevel and/or 383s registers an offense for literal {} in && 383s accepts literal 2.0 in a when of a case with something after case keyword 383s registers an offense for literal :"#{a}" in post-loop until 383s accepts `false` literal in `until` 383s registers an offense for literal :"#{a}" in ! 383s registers an offense for `not 2.0` 383s registers an offense for literal 2.0 in while 383s registers an offense for `!2.0` 383s registers an offense for `not [1]` 383s registers an offense for literal {} in post-loop until 383s registers an offense for `!1` 383s accepts literal 2.0 in non-toplevel and/or 383s registers an offense for literal :sym in ! 383s registers an offense for literal 1 in post-loop while 383s registers an offense for literal {} in a when of a case without anything after case keyword 383s registers an offense for literal :"#{a}" in complex ! 383s registers an offense for literal 2.0 in post-loop until 383s registers an offense for literal [1] in complex ! 383s registers an offense for literal :sym in post-loop until 383s accepts literal {} in non-toplevel and/or 383s registers an offense for literal :sym in complex cond 383s accepts literal :"#{a}" in non-toplevel and/or 383s accepts `false` literal in post-loop `until` 383s registers an offense for `not :sym` 383s registers an offense for literal :"#{a}" in a when of a case without anything after case keyword 383s accepts literal [1] if it's not an and/or operand 383s accepts array literal in case, if it has nested non-literal element 383s registers an offense for literal {} in complex ! 383s registers an offense for literal 1 in until 383s accepts array literal in case, if it has non-literal elements 383s registers an offense for literal 1 in case 383s accepts `true` literal in post-loop `while` 383s registers an offense for literal :"#{a}" in if 383s registers an offense for literal :sym in && 383s registers an offense for literal :"#{a}" in && 383s >= Ruby 2.7 383s accepts an offense for literal :sym in case match with a match var 383s accepts literal :sym in a when of a case match 383s registers an offense for literal :sym in case match without a match var 383s >= Ruby 2.7 383s accepts an offense for literal :"#{a}" in case match with a match var 383s accepts literal :"#{a}" in a when of a case match 383s registers an offense for literal :"#{a}" in case match without a match var 383s >= Ruby 2.7 383s accepts an offense for case match with a match var 383s accepts array literal in case match, if it has nested non-literal element 383s accepts array literal in case match, if it has non-literal elements 383s accepts dstr literal in case match 383s registers an offense for case match with a primitive array condition 383s >= Ruby 2.7 383s accepts literal {} in a when of a case match 383s registers an offense for literal {} in case match without a match var 383s accepts an offense for literal {} in case match with a match var 383s >= Ruby 2.7 383s accepts an offense for literal [1] in case match with a match var 383s accepts literal [1] in a when of a case match 383s registers an offense for literal [1] in case match without a match var 383s >= Ruby 2.7 383s accepts literal 1 in a when of a case match 383s accepts an offense for literal 1 in case match with a match var 383s registers an offense for literal 1 in case match without a match var 383s >= Ruby 2.7 383s registers an offense for literal 2.0 in case match without a match var 383s accepts literal 2.0 in a when of a case match 383s accepts an offense for literal 2.0 in case match with a match var 383s 383s RuboCop::Cop::Lint::InheritException 383s when class inherits from `Exception` 383s with enforced style set to `runtime_error` 383s registers an offense and corrects 383s when creating a subclass using Class.new 383s registers an offense and corrects 383s when inheriting a standard lib exception class that is not a subclass of `StandardError` 383s does not register an offense 383s with enforced style set to `standard_error` 383s registers an offense and corrects 383s when creating a subclass using Class.new 383s registers an offense and corrects 383s when inheriting a standard lib exception class that is not a subclass of `StandardError` 383s does not register an offense 383s 383s RuboCop::Formatter::ProgressFormatter 383s #file_finished 383s when any offenses are detected 383s calls #report_as_with_mark 383s when no offenses are detected 383s calls #report_as_with_mark 383s #report_file_as_mark 383s when different severity offenses are detected 383s prints highest level mark 383s when no offenses are detected 383s prints "." 383s when a refactor convention offense is detected 383s prints "C" 383s when a refactor severity offense is detected 383s prints "R" 383s #finished 383s calls #report_summary 383s when no offenses are detected 383s does not report offenses 383s when any offenses are detected 383s reports all detected offenses for all failed files 383s 383s RuboCop::Cop::Style::ReturnNil 383s when enforced style is `return` 383s registers an offense for return nil 383s does not register an offense for return nil from iterators 383s does not register an offense for returning others 383s when enforced style is `return_nil` 383s registers an offense for return 383s does not register an offense for returning others 383s 383s RuboCop::TargetFinder 383s #target_files_in_dir 383s does not pick directories 383s picks ruby executable files with no extension 383s does not pick files specified to be excluded in config 383s does not pick files with no extension and no ruby shebang 383s picks files specified to be included in config 383s picks files with extension .rb 383s w/ --fail-fast option 383s works with the expected number of .rb files 383s when an exception is raised while reading file 383s and debug mode is enabled 383s outputs error message 383s and debug mode is disabled 383s outputs nothing 383s #find(..., :only_recognized_file_types) 383s does not find hidden files 383s returns absolute paths 383s when a hidden directory path is passed 383s finds files under the specified directory 383s when same paths are passed 383s does not return duplicated file paths 383s when some non-known Ruby files are specified in the configuration Include and they are not explicitly passed as arguments 383s includes them 383s when no argument is passed 383s finds files under the current directory 383s when some paths are specified in the configuration Exclude and they are explicitly passed as arguments 383s when it's forced to adhere file exclusion configuration 383s excludes them 383s normally 383s does not exclude them 383s when a pattern is passed 383s finds files which match the pattern 383s when files with a ruby extension are passed 383s picks all the ruby files 383s when local AllCops/Include lists two patterns 383s picks two files 383s when a subdirectory AllCops/Include only lists one pattern 383s picks two files 383s when files with ruby interpreters are passed 383s picks all the ruby files 383s when a directory path is passed 383s finds files under the specified directory 383s when a non-ruby file is passed 383s doesn't pick the file 383s when some non-known Ruby files are specified in the configuration Include and they are explicitly passed as arguments 383s includes them 383s when a file with a ruby filename is passed 383s picks all the ruby files 383s when a hidden directory path is passed 383s finds files under the specified directory 383s when input is passed on stdin 383s includes the file 383s #find(..., :all_file_types) 383s returns absolute paths 383s does not find hidden files 383s when a non-ruby file is passed 383s picks the file 383s when no argument is passed 383s finds files under the current directory 383s when some non-known Ruby files are specified in the configuration Include and they are not explicitly passed as arguments 383s includes them 383s when some paths are specified in the configuration Exclude and they are explicitly passed as arguments 383s normally 383s does not exclude them 383s when it's forced to adhere file exclusion configuration 383s excludes them 383s when same paths are passed 383s does not return duplicated file paths 383s when some non-known Ruby files are specified in the configuration Include and they are explicitly passed as arguments 383s includes them 383s when files with ruby interpreters are passed 383s picks all the ruby files 383s when a directory path is passed 383s finds files under the specified directory 383s when a hidden directory path is passed 383s finds files under the specified directory 383s when input is passed on stdin 383s includes the file 383s when a file with a ruby filename is passed 383s picks all the ruby files 383s when a pattern is passed 383s finds files which match the pattern 383s when files with a ruby extension are passed 383s picks all the ruby files 383s when local AllCops/Include lists two patterns 383s picks all the ruby files 383s when a subdirectory AllCops/Include only lists one pattern 383s picks all the ruby files 383s #find_files 383s works also if a folder is named "," 383s resolves symlinks when looking for excluded directories 383s prevents infinite loops when traversing symlinks 383s works also if a folder is named "{}" 383s works also if a folder is named "**" 383s can exclude symlinks as well as directories 383s does not search excluded top level directories 383s 383s RuboCop::ConfigObsoletion::RenamedCop 383s #message 383s when the cop has changed names but in the same department 383s is expected to start with "The `Style/MyCop` cop has been renamed to `Style/NewCop`" 383s when the cop has been moved to a new department 383s is expected to start with "The `Style/MyCop` cop has been moved to `Layout/MyCop`" 383s when the cop has changed names but in a new department 383s is expected to start with "The `Style/MyCop` cop has been renamed to `Layout/NewCop`" 383s 383s RuboCop::Cop::InternalAffairs::RedundantMessageArgument 383s does not register an offense when `#message` with another node is passed 383s does not register an offense when formatted `MSG` is passed 383s when `MSG` is passed 383s registers an offense 383s when `#message` is passed 383s registers an offense 383s when `#message` with offending node is passed 383s when message is the only keyword argument 383s registers an offense 383s when there are others keyword arguments 383s registers an offense 383s 383s RuboCop::Cop::Style::EachForSimpleLoop 383s does not register offense if range endpoint is not constant 383s does not register offense if range startpoint is not constant 383s does not register offense for character range 383s with inline block with parameters 383s autocorrects an offense 383s when using an exclusive end range 383s autocorrects the source with inline block 383s autocorrects the range not starting with zero 383s does not register offense for range not starting with zero and using param 383s autocorrects the source with multiline block 383s when using an inclusive end range 383s autocorrects the source with multiline block 383s does not register offense for range not starting with zero and using param 383s autocorrects the range not starting with zero 383s autocorrects the source with inline block 383s with multiline block with parameters 383s autocorrects an offense 383s 383s RuboCop::Cop::Security::JSONLoad 383s registers an offense and corrects JSON.restore 383s allows JSON.parse 383s does not register an offense for JSON under another namespace 383s registers an offense and corrects JSON.load 383s allows JSON.dump 383s 383s RuboCop::TargetRuby 383s when TargetRubyVersion is set 383s uses TargetRubyVersion 383s does not read Gemfile.lock or gems.locked 383s does not read .ruby-version 383s when TargetRubyVersion is not set 383s when .ruby-version is not present 383s and gems.locked exists 383s uses the default Ruby when rbx is in gems.locked 383s uses MRI Ruby version when it has multiple digits 383s uses the default Ruby when Ruby is not in gems.locked 383s uses the default Ruby when jruby is in gems.locked 383s uses MRI Ruby version when it is present in gems.locked 383s when bundler lock files are not present 383s uses the default target ruby version 383s and Gemfile.lock exists 383s uses MRI Ruby version when it is present in Gemfile.lock 383s uses the default Ruby when jruby is in Gemfile.lock 383s uses the default Ruby when rbx is in Gemfile.lock 383s uses the default Ruby when Ruby is not in Gemfile.lock 383s uses MRI Ruby version when it has multiple digits 383s gemspec file 383s when file contains `required_ruby_version` as a requirement 383s sets target_ruby from required_ruby_version from inclusive requirement range 383s sets first known ruby version that satisfies requirement 383s when file does not contain `required_ruby_version` 383s sets default target_ruby 383s when file contains `required_ruby_version` as a string 383s sets target_ruby from approximate version 383s sets target_ruby from inclusive range 383s sets target_ruby from exclusive range 383s when file contains `required_ruby_version` as an array 383s sets target_ruby to the minimal version satisfying the requirements 383s sets target_ruby from required_ruby_version with many requirements 383s when .tool-versions is present 383s when .tool-versions does not contain a ruby version 383s uses the default ruby version 383s when .tool-versions contains a ruby version 383s does not read Gemfile.lock, gems.locked 383s reads it to determine the target ruby version 383s when .ruby-version is in a parent directory 384s reads it to determine the target ruby version 384s when .ruby-version is not in a parent directory 384s when Gemfile.lock is in a parent directory 384s does 384s when gems.locked is in a parent directory 384s does 384s when .ruby-version is present 384s does not read .tool-versions, Gemfile.lock or gems.locked 384s when .ruby-version contains a version prefixed by "ruby-" 384s correctly determines the target ruby version 384s when .ruby-version contains an MRI version 384s reads it to determine the target ruby version 384s when .ruby-version contains a Rbx version 384s uses the default target ruby version 384s when the MRI version contains multiple digits 384s reads it to determine the target ruby version 384s when .ruby-version contains a JRuby version 384s uses the default target ruby version 384s when .ruby-version contains "system" version 384s uses the default target ruby version 384s 384s RuboCop::Cop::Layout::RescueEnsureAlignment 384s accepts aligned rescue in do-end block on multi-assignment 384s accepts end being misaligned 384s accepts aligned rescue in assigned do-end block starting on newline 384s accepts aligned rescue in do-end block on operation assignment 384s accepts aligned rescue do-end block assigned to local variable 384s accepts rescue and ensure on the same line 384s accepts aligned rescue in do-end block assigned to class 384s accepts aligned rescue in do-end block assigned to class variable 384s accepts aligned rescue in do-end block assigned to instance variable 384s accepts correctly aligned rescue 384s accepts correctly aligned ensure 384s accepts aligned rescue with do-end block that line break with leading dot for method calls 384s accepts aligned rescue in do-end block on or-assignment 384s accepts aligned rescue in do-end block in a method 384s accepts correctly aligned rescue in assigned begin-end block 384s accepts correctly aligned rescue/ensure with def with no body 384s accepts aligned rescue in do-end block assigned to global variable 384s accepts aligned rescue in do-end block with `.()` call 384s accepts correctly aligned rescue/ensure with def 384s accepts aligned rescue in do-end block on and-assignment 384s accepts the modifier form 384s accepts aligned rescue with do-end block that line break with trailing dot for method calls 384s accepts aligned rescue in do-end block 384s ensure with class 384s registers an offense 384s rescue in do-end block on or-assignment 384s registers an offense 384s rescue with def 384s registers an offense 384s rescue in do-end block assigned to instance variable 384s registers an offense 384s rescue in do-end block on operation assignment 384s registers an offense 384s rescue with begin 384s registers an offense 384s as RHS of assignment 384s when `EnforcedStyleAlignWith: begin` of `Layout/BeginEndAlignment` cop 384s accepts multi-line, aligned 384s accepts multi-line, indented 384s registers an offense and corrects for incorrect alignment 384s `Layout/BeginEndAlignment` cop is not enabled 384s accepts multi-line, aligned 384s accepts multi-line, indented 384s registers an offense and corrects for incorrect alignment 384s when `EnforcedStyleAlignWith: start_of_line` of `Layout/BeginEndAlignment` cop 384s registers an offense and corrects for incorrect alignment 384s accepts multi-line, indented 384s accepts multi-line, aligned 384s rescue with do-end block 384s registers an offense 384s rescue in do-end block on and-assignment 384s registers an offense 384s ensure with begin 384s registers an offense when ensure used with begin 384s rescue in do-end block assigned to local variable 384s registers an offense 384s rescue with class 384s registers an offense when rescue used with class 384s rescue with defs 384s registers an offense 384s allows inline access modifier 384s with public_class_method modifier 384s ensure with defs 384s correct alignment 384s registers an offense 384s rescue with def 384s registers an offense 384s correct alignment 384s ensure with def 384s correct alignment 384s registers an offense 384s rescue with defs 384s registers an offense 384s correct alignment 384s with private_class_method modifier 384s ensure with defs 384s correct alignment 384s registers an offense 384s ensure with def 384s registers an offense 384s correct alignment 384s rescue with def 384s registers an offense 384s correct alignment 384s rescue with defs 384s registers an offense 384s correct alignment 384s with private modifier 384s rescue with def 384s correct alignment 384s registers an offense 384s ensure with defs 384s registers an offense 384s correct alignment 384s rescue with defs 384s registers an offense 384s correct alignment 384s ensure with def 384s correct alignment 384s registers an offense 384s ensure with defs 384s registers an offense 384s allows inline expression before 384s rescue 384s registers an offense 384s ensure 384s registers an offense 384s rescue with module 384s registers an offense when rescue used with module 384s excluded file 384s processes excluded files with issue 384s rescue in do-end block on multi-assignment 384s registers an offense 384s when using zsuper with block 384s registers and corrects an offense and corrects when incorrect alignment 384s does not register an offense when correct alignment 384s rescue in do-end block assigned to global variable 384s registers an offense 384s ensure with module 384s registers an offense when ensure used with module 384s rescue in do-end block assigned to class 384s registers an offense 384s rescue in assigned do-end block starting on newline 384s registers an offense 384s ensure with def 384s registers an offense 384s rescue in do-end block assigned to class variable 384s registers an offense 384s 384s RuboCop::Formatter::OffenseCountFormatter 384s #report_summary 384s when an offense is detected 384s shows the cop and the offense count 384s #finished 384s when there are many offenses 384s when --display-style-guide was given 384s shows links and sorts by offense count first and then by cop name 384s when --display-style-guide was not given 384s sorts by offense count first and then by cop name 384s when output tty is true 384s has a progress bar 384s #file_finished 384s when no offenses are detected 384s does not add to offense_counts 384s when any offenses are detected 384s increments the count for the cop in offense_counts 384s 384s RuboCop::Formatter::Colorizable 384s #blue 384s invokes #colorize(string, blue 384s #black 384s invokes #colorize(string, black 384s #colorize 384s when the global Rainbow.enabled is true 384s and the formatter's output is a tty 384s colorizes the passed string 384s and output is not a tty, but --color option was provided 384s colorizes the passed string 384s and the formatter's output is not a tty 384s does nothing 384s when the global Rainbow.enabled is false 384s and the formatter's output is not a tty 384s does nothing 384s and the formatter's output is a tty 384s does nothing 384s #green 384s invokes #colorize(string, green 384s #white 384s invokes #colorize(string, white 384s #magenta 384s invokes #colorize(string, magenta 384s #cyan 384s invokes #colorize(string, cyan 384s #yellow 384s invokes #colorize(string, yellow 384s #red 384s invokes #colorize(string, red 384s 384s RuboCop::Server::Cache 384s .pid_running? 384s works properly when concurrency with server stopping and cleaning cache dir 384s .cache_path 384s when cache root path is specified path 384s is the specified path 384s when `CacheRootDirectory` configure value is set 384s when cache root path is not specified path 384s contains the root from `CacheRootDirectory` configure value 384s when cache root path is not specified path and `XDG_CACHE_HOME` environment variable is spacified 384s contains the root from `CacheRootDirectory` configure value 384s when cache root path is specified path 384s contains the root from cache root path 384s when `XDG_CACHE_HOME` environment variable is set 384s when cache root path is not specified path 384s contains the root from `XDG_CACHE_HOME` 384s when cache root path is specified path 384s contains the root from cache root path 384s when cache root path is not specified as default 384s is the default path 384s when .rubocop.yml is empty 384s when cache root path is not specified path 384s does not raise an error 384s when `RUBOCOP_CACHE_ROOT` environment variable is set 384s when cache root path is not specified path and `XDG_CACHE_HOME` environment variable is specified 384s contains the root from `RUBOCOP_CACHE_ROOT` 384s when cache root path is specified path 384s contains the root from cache root path 384s when cache root path is not specified path 384s contains the root from `RUBOCOP_CACHE_ROOT` 384s when ERB pre-processing of the configuration file 384s when cache root path is not specified path 384s does not raise an error 384s 384s RuboCop::Cop::Layout::SpaceAroundEqualsInParameterDefault 384s when EnforcedStyle is space 384s registers an offense and corrects missing space for arguments with unary operators 384s registers an offense and corrects default value assignment without space 384s accepts default value assignment with space 384s registers an offense and corrects assignment of empty list without space 384s registers an offense and corrects assigning empty string without space 384s accepts default value assignment with spaces and unary + operator 384s registers an offense and corrects default value assignment where first is partially right without space 384s when EnforcedStyle is no_space 384s registers an offense and corrects assignment of empty list with space 384s registers an offense and corrects default value assignment with space 384s registers an offense and corrects assignment of empty string with space 384s accepts default value assignment without space 384s 384s RuboCop::Cop::Layout::SpaceAfterColon 384s accepts colons in strings 384s accepts hash rockets 384s accepts hashes with a space after colons 384s registers an offense and corrects colon without space after it 384s accepts colons denoting required keyword argument 384s accepts if 384s registers an offense and corrects a keyword optional argument without a space 384s accepts colon in ternary followed by space 384s accepts required keyword arguments 384s accepts colons in symbols 384s Ruby >= 3.1 384s does not register an offense colon without space after it when using hash value omission 384s accepts colons denoting hash value omission argument 384s 384s RuboCop::Cop::Naming::BlockForwarding 384s when `EnforcedStyle: anonymous 384s Ruby < 3.0 384s does not register an offense when not using anonymous block forwarding 384s Ruby >= 3.1 384s does not register an offense when using anonymous block forwarding 384s registers and corrects an offense when using explicit block forwarding in singleton method 384s does not register an offense when assigning the block arg 384s registers and corrects an offense when using explicit block forwarding without method definition parentheses 384s registers and corrects an offense when using symbol proc argument in method body 384s registers and corrects an offense when using explicit block forwarding 384s registers and corrects an offense when using `yield` in method body 384s does not register an offense when using block argument as a variable 384s does not register an offense when defining without block argument method 384s does not register an offense when defining no arguments method 384s does not register an offense when defining kwoptarg with block args method 384s registers and corrects an only explicit block forwarding when using multiple proc arguments 384s registers and corrects an offense when using explicit block forwarding without method body 384s does not register an offense when defining kwarg with block args method 384s does not register an offense when using anonymous block forwarding without method body 384s when `EnforcedStyle: explicit 384s Ruby >= 3.1 384s registers and corrects an offense when using anonymous block forwarding 384s registers and corrects an offense when using symbol proc argument in method body 384s does not register an offense when assigning the block arg 384s does not register an offense when using explicit block forwarding without method body 384s registers and corrects and corrects an offense when using anonymous block forwarding without method body 384s registers and corrects an offense when using anonymous block forwarding in singleton method 384s does not register an offense when using explicit block forwarding 384s registers and corrects an offense when using `yield` in method body 384s does not register an offense when defining without block argument method 384s when `BlockForwardingName: block` is already in use 384s registers and no corrects an offense when using anonymous block forwarding 384s when `BlockForwardingName: proc 384s registers and corrects an offense when using anonymous block forwarding 384s 384s RuboCop::Cop::EnforceSuperclass 384s registers an offense for single-line definitions 384s registers an offense for model defined using top-level 385s registers an offense for Class.new definition 385s registers an offense for top-level constant ::Class.new definition 385s registers an offense for models that subclass ::ActiveRecord::Base 385s registers an offense for models that subclass ActiveRecord::Base 385s when ApplicationRecord subclasses ActiveRecord::Base 385s behaves like no offense 385s registers no offenses for `::ApplicationRecord = ::Class.new(::ActiveRecord::Base) 385s ` 385s behaves like no offense 385s registers no offenses for `class ApplicationRecord < ActiveRecord::Base; end` 385s behaves like no offense 385s registers no offenses for `ApplicationRecord = Class.new(ActiveRecord::Base) 385s ` 385s behaves like no offense 385s registers no offenses for `ApplicationRecord = Class.new(::ActiveRecord::Base) do; end 385s ` 385s behaves like no offense 385s registers no offenses for `::ApplicationRecord = Class.new(ActiveRecord::Base) do; end 385s ` 385s behaves like no offense 385s registers no offenses for `ApplicationRecord = Class.new(ActiveRecord::Base) do; end 385s ` 385s behaves like no offense 385s registers no offenses for `class ::ApplicationRecord < ActiveRecord::Base; end` 385s behaves like no offense 385s registers no offenses for `::ApplicationRecord = ::Class.new(::ActiveRecord::Base) do; end 385s ` 385s when MyModel subclasses ApplicationRecord 385s behaves like no offense 385s registers no offenses for `MyModel = Class.new(ApplicationRecord) do 385s end 385s MyModel = Class.new(ApplicationRecord) 385s ` 385s behaves like no offense 385s registers no offenses for `MyModel = ::Class.new(::ApplicationRecord) do 385s end 385s MyModel = ::Class.new(::ApplicationRecord) 385s ` 385s behaves like no offense 385s registers no offenses for `class MyModel < ApplicationRecord; end` 385s behaves like no offense 385s registers no offenses for `class MyModel < ::ApplicationRecord; end` 385s 385s RuboCop::Cop::Style::HashLikeCase 385s MinBranchesCount: 2 385s does not register an offense when using `case-when` with literal bodies of different types 385s does not register an offense when using `case-when` with non-literal bodies 385s does not register an offense when `case` has an `else` branch 385s registers an offense when using `case-when` with string conditions and literal bodies of the same type 385s does not register an offense when using `case-when` with literals of different types as conditions 385s registers an offense when using `case-when` with symbol conditions and literal bodies of the same type 385s does not register an offense when using `case-when` with non-literals in conditions 385s MinBranchesCount: 3 385s does not register an offense when branches count is less than required 385s 385s RuboCop::Cop::Lint::AmbiguousOperator 385s when using safe navigation operator with a unary operator 385s does not register an offense 385s with `+` unary operator in the first argument 385s with parentheses around the operator 385s does not register an offense 385s without parentheses 385s without whitespaces on the right of the operator 385s registers an offense and corrects 385s without whitespaces on the right of the operator when a method with no arguments is used in advance 385s registers an offense and corrects 385s with a whitespace on the right of the operator 385s does not register an offense 385s with `-` unary operator in the first argument 385s without parentheses 385s without whitespaces on the right of the operator 385s registers an offense and corrects 385s with a whitespace on the right of the operator 385s does not register an offense 385s with parentheses around the operator 385s does not register an offense 385s with a block ampersand in the first argument 385s without parentheses 385s without whitespaces on the right of the operator 385s registers an offense and corrects 385s with a whitespace on the right of the operator 385s does not register an offense 385s with parentheses around the block argument 385s does not register an offense 385s with a keyword splat operator in the first argument 385s without parentheses 385s with a whitespace on the right of the operator 385s does not register an offense 385s without whitespaces on the right of the operator 385s registers an offense and corrects 385s with parentheses around the keyword splat operator 385s does not register an offense 385s with a splat operator in the first argument 385s without parentheses 385s with a whitespace on the right of the operator 385s does not register an offense 385s without whitespaces on the right of the operator 385s registers an offense and corrects 385s with parentheses around the splatted argument 385s does not register an offense 385s 385s RuboCop::CLI --auto-gen-config 385s --auto-gen-config 385s generates Exclude instead of Max when --auto-gen-only-exclude is used 385s can be called when there are no files to inspection 386s overwrites an existing todo file 386s can generate Exclude properties with a given limit 386s does not include a timestamp when --no-auto-gen-timestamp is used 386s includes --auto-gen-only-exclude in the command comment when given 386s honors rubocop:disable comments 387s generates a todo list that removes the reports 387s can generate a todo list 387s does not generate configuration for the Syntax cop 387s generates Exclude if no EnforcedStyle solves all offenses 388s does not include offense counts when --no-offense-counts is used 388s generates EnforcedStyle parameter if it solves all offenses 388s when working in a subdirectory 388s can generate a todo list 388s when .rubocop.yml does not exist 388s bases other cops' configuration on the code base's current maximum line length 388s console output 389s displays report summary but no offenses 389s when .rubocop.yml doesn't inherit 389s bases other cops' configuration on the code base's current maximum line length 389s when .rubocop.yml inherits only from .rubocop_todo.yml in an array 389s bases other cops' configuration on the code base's current maximum line length 389s when existing config file has a YAML document start header 389s inserts `inherit_from` key after hearder 389s with Layout/LineLength:Max overridden 389s when .rubocop.yml has Layout/LineLength:Max less than code base max 390s bases other cops' configuration on the overridden LineLength:Max 390s when .rubocop.yml has Layout/LineLength disabled 390s skips the cop from both phases of the run 390s when .rubocop.yml has Layout/LineLength:Max more than code base max 390s bases other cops' configuration on the overridden LineLength:Max 390s when .rubocop.yml inherits only from .rubocop_todo.yml 390s bases other cops' configuration on the code base's current maximum line length 390s when cop is not safe to autocorrect 391s can generate a todo list, with the appropriate flag 391s when duplicated default configuration parameter 391s parameters are displayed without duplication 391s when working with a cop who do not support autocorrection 391s can generate a todo list 391s for existing configuration with Exclude 393s leaves out Excludes that appear in .rubocop.yml but are merged globally 393s generates Excludes that appear in .rubocop.yml 395s leaves out Excludes that appear in .rubocop.yml but are merged for the cop 395s when .rubocop.yml inherits from another file and .rubocop_todo.yml 395s bases other cops' configuration on the code base's current maximum line length 395s when .rubocop.yml inherits from another file 396s bases other cops' configuration on the code base's current maximum line length 396s when hash value omission enabled 397s generates Exclude if it solves all offenses 397s when different styles appear in different files 397s generates Exclude list if --exclude-limit is not exceeded 397s disables cop if --exclude-limit is exceeded 397s when inheriting from a URL 397s when there is a single entry 398s can generate a todo list 398s when there are multiple entries 398s can generate a todo list 398s when --config is used 398s can generate a todo list if default .rubocop.yml exists 399s can generate a todo list 399s when --no-exclude-limit is given 399s always prefers Exclude to Enabled 399s when .rubocop.yml inherits from two other files 399s bases other cops' configuration on the code base's current maximum line length 399s when .rubocop.yml is empty 400s bases other cops' configuration on the code base's current maximum line length 400s 400s RuboCop::Cop::Style::CollectionCompact 400s registers an offense and corrects when using `reject` with block pass arg and no parentheses 400s registers an offense and corrects when using `select/select!` to reject nils 400s registers an offense and corrects when using `reject` with block pass arg on array to reject nils 400s does not register an offense when using `reject` to not to rejecting nils 400s registers an offense and corrects when using `reject` on hash to reject nils 400s does not register an offense when using `compact/compact!` 400s registers an offense and corrects when using `reject` and receiver is a variable 400s registers an offense and corrects when using `reject` on array to reject nils 400s Ruby <= 3.0 400s does not register an offense and corrects when using `to_enum.reject` on array to reject nils 400s does not register an offense and corrects when using `lazy.reject` on array to reject nils 400s Ruby >= 3.1 400s registers an offense and corrects when using `to_enum.reject` on array to reject nils 400s registers an offense and corrects when using `lazy.reject` on array to reject nils 400s when without receiver 400s does not register an offense and corrects when using `select/select!` to reject nils 400s does not register an offense and corrects when using `reject` on array to reject nils 400s 400s RuboCop::Cop::InternalAffairs::CopDescription 400s The description starts with `This cop ...` 400s registers an offense if using an auxiliary verb 400s registers an offense if the description like `This cop is ...` 400s registers an offense and corrects if using just a verb 400s There is no description comment 400s does not register offense 400s The description starts with a word such as verb 400s does not register if the description starts with non-verb word 400s does not register if the description like `Checks` 400s 400s RuboCop::Cop::Lint::MissingSuper 400s callbacks 400s registers no offense when module callback without `super` call 400s registers an offense when class callback without `super` call 400s does not register an offense when callback has a `super` call 400s registers an offense when method callback is without `super` call 400s registers an offense when class callback within `self << class` and without `super` call 400s constructor 400s does not register an offense for the class without parent class 400s does not register an offense for the class with stateless parent class 400s does not register an offense for the constructor-like method defined outside of a class 400s does not register an offense when there is a `super` call 400s registers an offense when no `super` call 400s 400s RuboCop::Cop::Naming::MemoizedInstanceVariableName 400s does not register an offense when or-assignment-based memoization is used outside a method definition 400s with default EnforcedStyleForLeadingUnderscores => disallowed 400s when defined?-based memoization is used 400s registers an offense when memoized variable does not match method name 400s does not register an offense when some code before defined 400s does not register an offense when some code after assignment 400s does not register an offense when there is no assignment 400s registers an offense when memoized variable does not match class method name 400s memoized variable matches method name 400s does not register an offense when memoized variable matches predicate method name 400s does not register an offense when memoized variable matches bang method name 400s does not register an offense with a leading `_` for both names 400s does not register an offense 400s does not register an offense when method has leading `_` 400s non-memoized variable does not match method name 400s does not register an offense 400s with dynamically defined methods 400s when the variable name does not match the method name 400s registers an offense 400s when the variable name matches the method name 400s does not register an offense 400s when a singleton method is defined inside a module callback 400s when the method matches 400s does not register an offense 400s when the method does not match 400s registers an offense 400s when a method is defined inside a module callback 400s when the method does not match 400s registers an offense 400s when the method matches 400s does not register an offense 400s when or-assignment-based memoization is used 400s memoized variable does not match method name during assignment 400s registers an offense 400s memoized variable does not match method name for block 400s registers an offense 400s memoized variable after other code does not match method name 400s registers an offense for a bang method 400s registers an offense 400s registers an offense for a predicate method 400s with dynamically defined methods 400s when the variable name matches the method name 400s does not register an offense 400s when a method is defined inside a module callback 400s when the method does not match 400s registers an offense 400s when the method matches 400s does not register an offense 400s when the variable name does not match the method name 400s registers an offense 400s when a singleton method is defined inside a module callback 400s when the method matches 400s does not register an offense 400s when the method does not match 400s registers an offense 400s memoized variable matches method name 400s does not register an offense 400s does not register an offense with a leading `_` for both names 400s does not register an offense when method has leading `_` 400s memoized variable matches bang method name 400s does not register an offense 400s non-memoized variable does not match method name 400s does not register an offense 400s memoized variable matches method name during assignment 400s does not register an offense 400s code follows memoized variable assignment 400s does not register an offense 400s instance variables in initialize methods 400s does not register an offense 400s memoized variable after other code 400s does not register an offense 400s memoized variable matches method name for block 400s does not register an offense 400s memoized variable matches predicate method name 400s does not register an offense 400s memoized variable does not match method name 400s registers an offense 400s memoized variable does not match class method name 400s registers an offense 400s EnforcedStyleForLeadingUnderscores: optional 400s when or-assignment-based memoization is used 400s when defined?-based memoization is used 400s memoized variable matches method name 400s does not register an offense with a leading `_` for both names 400s does not register an offense with a leading underscore 400s does not register an offense without a leading underscore 400s does not register an offense with a leading `_` for method name 400s memoized variable matches method name 400s does not register an offense with a leading `_` for method name 400s does not register an offense with a leading underscore 400s does not register an offense with a leading `_` for both names 400s does not register an offense without a leading underscore 400s EnforcedStyleForLeadingUnderscores: required 400s when or-assignment-based memoization is used 400s registers an offense when names match but missing a leading _ 400s registers an offense when it has leading `_` but names do not match 400s does not register an offense with a leading `_` for both names 400s with dynamically defined methods 400s when a method is defined inside a module callback 400s when the method matches 400s does not register an offense 400s when the method does not match 400s registers an offense 400s when a singleton method is defined inside a module callback 400s when the method matches 400s does not register an offense 400s when the method does not match 400s registers an offense 400s when the variable name does not match the method name 400s registers an offense 400s when the variable name matches the method name 400s does not register an offense 400s when defined?-based memoization is used 400s registers an offense when it has leading `_` but names do not match 400s registers an offense when names match but missing a leading _ 400s does not register an offense with a leading `_` for both names 400s with dynamically defined methods 400s when a method is defined inside a module callback 400s when the method does not match 400s registers an offense 400s when the method matches 400s does not register an offense 400s when the variable name does not match the method name 400s registers an offense 400s when a singleton method is defined inside a module callback 400s when the method matches 400s does not register an offense 400s when the method does not match 400s registers an offense 400s when the variable name matches the method name 400s does not register an offense 400s 400s RuboCop::Cop::Layout::MultilineArrayBraceLayout 400s ignores single-line arrays 400s ignores empty arrays 400s ignores implicit arrays 400s behaves like multiline literal brace layout method argument 400s when arguments to a method 400s but no comment after the last element 400s autocorrects the closing brace 400s and a comment after the last element 400s detects closing brace on separate line from last element 400s behaves like multiline literal brace layout 400s heredoc 400s ignores heredocs that could share a last line 400s detects heredoc structures that are safe to add to 400s new_line style 400s opening brace on same line as first element 400s allows closing brace on different line from multi-line element 400s allows closing brace on different line from last element 400s autocorrects closing brace on same line as last element 400s detects closing brace on same line as last multiline element 400s opening brace on separate line from first element 400s allows closing brace on separate line from last multiline element 400s allows closing brace on separate line from last element 400s detects closing brace on same line as last element 400s same_line style 400s opening brace on separate line from first element 400s allows closing brace on same line as last multiline element 400s allows closing brace on same line as last element 400s detects closing brace on different line from last element 400s opening brace on same line as first element 400s autocorrects closing brace on different line as last element 400s allows closing brace on same line from last element 400s detects closing brace on different line from multiline element 400s allows closing brace on same line as multi-line element 400s with a chained call on the closing brace 400s and a comment after the last element 400s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 400s but no comment after the last element 400s autocorrects the closing brace 400s symmetrical style 400s opening brace on separate line from first element 400s allows closing brace on separate line from last element 400s detects closing brace on same line as last element 400s allows closing brace on separate line from last multiline element 400s opening brace on same line as first element 400s allows closing brace on same line as last multiline element 400s autocorrects closing brace on different line from last element 400s allows closing brace on same line as last element 400s detects closing brace on different line from last element 400s with a chained call on the closing brace 400s but no comment after the last element 400s autocorrects the closing brace 400s and a comment after the last element 400s detects closing brace on separate line from last elementbut does not autocorrect the closing brace 400s behaves like multiline literal brace layout trailing comma 400s symmetrical style 400s opening brace on same line as first element 400s last element has a trailing comma 400s autocorrects closing brace on different line from last element 400s same_line style 400s opening brace on same line as first element 400s last element has a trailing comma 400s autocorrects closing brace on different line as last element 400s when comment present before closing brace 400s corrects closing brace without crashing 400s 400s RuboCop::Cop::Lint::NextWithoutAccumulator 400s behaves like reduce/inject 400s given a inject block 400s accepts next within a nested block 400s registers an offense for a bare next 400s accepts next with a value 400s Ruby 2.7 400s registers an offense for a bare next 400s behaves like reduce/inject 400s given a reduce block 400s accepts next with a value 400s registers an offense for a bare next 400s accepts next within a nested block 400s Ruby 2.7 400s registers an offense for a bare next 400s given an unrelated block 400s accepts next with a value 400s accepts a bare next 400s 400s RuboCop::Cop::Style::ColonMethodCall 400s does not register an offense for Java package namespaces 400s does not register an offense when for constructor methods 400s does not register an offense for op methods 400s registers an offense for instance method call with arg 400s registers an offense for class method call 400s does not register an offense for constant access 400s does not register an offense for Java static types 400s does not register an offense for nested class 400s registers an offense for class method call with arg 400s registers an offense for instance method call 400s 400s RuboCop::Cop::Layout::EmptyLinesAroundMethodBody 400s registers an offense for method body starting with a blank 400s registers an offense for class method body ending with a blank 400s registers an offense for method body ending with a blank 400s is not fooled by single line methods 400s registers an offense for class method body starting with a blank 400s accepts method body starting with a line with spaces 400s 400s RuboCop::Cop::Lint::EmptyInPattern 400s when a `in` body is present 400s accepts `case` with `in` ... `then` statements 400s accepts `case` with `in` bodies 400s accepts `case` with `in` bodies and `else` clause 400s accepts `case` with `in` ... `then` statements and else clause 400s when `AllowComments: false` 400s registers an offense for empty `in` body with a comment 400s when a `in` body is missing 400s registers an offense for a missing `in` body 400s registers an offense for missing `in` body with a comment 400s registers an offense for missing `in` ... then `body` followed by `else` 400s registers an offense for missing `in` ... `then` body 400s registers an offense for missing `in` body with a comment followed by `else` 400s registers an offense for missing `in` body followed by `else` 400s when `AllowComments: true` 400s registers an offense for empty `in` when comment is in another branch 400s accepts an empty `in` body with a comment 400s 400s RuboCop::Cop::Lint::RedundantSafeNavigation 400s does not register an offense when using `&.` with non-allowed method in condition 400s does not register an offense when using `&.respond_to?` with `nil` specific method as argument in condition 400s registers an offense and corrects when `&.` is used inside `if` condition 400s does not register an offense when using `&.` outside of conditions 400s registers an offense and corrects when `&.` is used inside `unless` condition 400s registers an offense and corrects when `&.` is used inside complex condition 400s registers an offense and corrects when `&.` is used inside `#{loop_type}` condition 400s registers an offense and corrects when `&.` is used inside `#{loop_type}` condition 400s 400s RuboCop::Cop::Layout::LineContinuationLeadingSpace 400s EnforcedStyle: trailing 400s registers offenses when 2nd and 3rd line has leading spaces 400s marks the correct range when string is a positional method argument 400s registers an offense when 2nd line has one leading space 400s registers offense in the right location when 1st line is not the string 400s marks the correct range when string is a block method argument 400s puts the offense message in correct position also on indented line 400s registers an offense when 2nd line has multiple leading spaces 400s interpolated strings 400s registers no offense on interpolated string alone 400s registers no offense for correctly formatted multiline interpolated string 400s registers no offense for correctly formatted multiline interpolation 400s registers offenses when 2nd line has leading spaces and 1st line is interpolated 400s registers an offense for incorrectly formatted multiline interpolated string 401s registers offenses when 2nd line has leading spaces and 2nd line is interpolated 401s registers no offense on doubly interpolated string alone 401s EnforcedStyle: leading 401s registers offenses when 1st and 2nd line has trailing spaces 401s marks the correct range when string is a positional method argument 401s registers offense in the right location when 1st line is not the string 401s registers an offense when 1st line has one trailing space 401s marks the correct range when string is a block method argument 401s puts the offense message in correct position also on indented line 401s registers an offense when 1st line has multiple trailing spaces 401s interpolated strings 401s registers offenses when 1st line has leading spaces and 1st line is interpolated 401s registers no offense on doubly interpolated string alone 401s registers offenses when 1st line has trailing spaces and 2nd line is interpolated 401s registers no offense on interpolated string alone 401s registers an offense for incorrectly formatted multiline interpolated string 401s registers no offense for correctly formatted multiline interpolation 401s registers no offense for correctly formatted multiline interpolated string 401s 401s RuboCop::Cop::InternalAffairs::UndefinedConfig 401s works with deeper nested cop names 401s registers an offense when the cop inherits `Cop::Base` 401s registers an offense when the cop has no configuration at all 401s ignores `cop_config` in non-cop classes 401s registers an offense when the cop is not within the `RuboCop::Cop` namespace 401s registers an offense when the cop inherits `RuboCop::Cop::Base` 401s does not register an offense if using `cop_config` outside of a cop class 401s can handle an empty file 401s works when the base class is `Cop` instead of `Base` 401s ignores `cop_config` in non-cop subclasses 401s does not register an offense for implicit configuration keys 401s registers an offense when the cop inherits `::RuboCop::Cop::Base` 401s element lookup 401s does not register an offense for defined configuration keys 401s registers an offense for missing configuration keys 401s fetch 401s registers an offense for missing configuration keys 401s does not register an offense for defined configuration keys 401s with a default value 401s registers an offense for missing configuration keys 401s does not register an offense for defined configuration keys 401s 401s RuboCop::Cop::Layout::TrailingEmptyLines 401s when EnforcedStyle is final_blank_line 401s autocorrects missing newline 401s accepts final blank line 401s registers an offense for final newline 401s registers an offense for no final newline 401s registers an offense for multiple blank lines in an empty file 401s autocorrects missing blank line 401s registers an offense for multiple trailing blank lines 401s when EnforcedStyle is final_newline 401s accepts final blank lines if they come after __END__ in empty file 401s registers an offense for multiple blank lines in an empty file 401s accepts an empty file 401s autocorrects even if some lines have space 401s registers an offense for no final newline after block comment 401s registers an offense for no final newline after assignment 401s accepts final blank lines if they come after __END__ 401s accepts final newline 401s registers an offense for multiple trailing blank lines 401s 401s RuboCop::Cop::Lint::DisjunctiveAssignmentInConstructor 401s constructor has disjunctive assignment 401s LHS is ivar 401s registers an offense and corrects 401s constructor calls super after assignment 401s registers an offense and corrects 401s constructor calls any method before disjunctive assignment 401s accepts 401s constructor calls super before disjunctive assignment 401s accepts 401s LHS is lvar 401s accepts 401s constructor does not have disjunctive assignment 401s accepts 401s empty constructor 401s accepts 401s 401s RuboCop::Cop::Naming::FileName 401s when the file is specified in AllCops/Include 401s with a non-snake_case file name 401s does not register an offense 401s with snake_case file names without file extension 401s does not register an offense 401s with camelCase file names ending in .rb 401s registers an offense 401s when Regex is set 401s with a matching name 401s does not register an offense 401s with a non-matching name 401s registers an offense 401s with non-ascii characters in filename 401s does not register an offense 401s with include acronym name 401s does not register an offense 401s with snake_case names which use + 401s does not register an offense 401s with snake_case file names with non-rb extension 401s does not register an offense 401s with dotfiles 401s does not register an offense 401s with acronym class name 401s does not register an offense 401s when ExpectMatchingDefinition is true 401s on an empty file 401s registers an offense 401s on a file which defines a Struct with a block 401s in a matching directory under lib 401s does not register an offense 401s in a directory with multiple instances of test 401s does not register an offense 401s in a directory with multiple instances of src 401s does not register an offense 401s in a directory elsewhere which only matches the module name 401s does not register an offense 401s in a matching directory under spec 401s does not register an offense 401s in a directory with multiple instances of lib 401s does not register an offense 401s in a non-matching directory under lib 401s registers an offense 401s in a directory with multiple instances of spec 401s does not register an offense 401s in a matching directory under test 401s does not register an offense 401s in a non-matching directory under test 401s registers an offense 401s in a non-matching directory under src 401s registers an offense 401s in a directory elsewhere which does not match the module name 401s registers an offense 401s in a non-matching directory under spec 401s registers an offense 401s in a matching directory under src 401s does not register an offense 401s on a file which defines no class or module at all 401s under src 401s registers an offense 401s under lib when not added to root 401s registers an offense 401s under spec 401s registers an offense 401s under test 401s registers an offense 401s under some other random directory 401s registers an offense 401s under lib 401s registers an offense 401s on a file which uses Name::Spaced::Module syntax 401s in a directory elsewhere which does not match the module name 401s registers an offense 401s in a matching directory under spec 401s does not register an offense 401s in a non-matching directory under src 401s registers an offense 401s in a directory with multiple instances of src 401s does not register an offense 401s in a matching directory under lib 401s does not register an offense 401s in a matching directory under test 401s does not register an offense 401s in a non-matching directory under spec 401s registers an offense 401s in a directory with multiple instances of lib 401s does not register an offense 401s in a non-matching directory under test 401s registers an offense 401s in a directory with multiple instances of test 401s does not register an offense 401s in a non-matching directory under lib 401s registers an offense 401s in a directory with multiple instances of spec 401s does not register an offense 401s in a directory elsewhere which only matches the module name 401s does not register an offense 401s in a matching directory under src 401s does not register an offense 401s on a file which defines a Struct without a block 401s in a directory with multiple instances of test 401s does not register an offense 401s in a matching directory under src 401s does not register an offense 401s in a directory elsewhere which does not match the module name 401s registers an offense 401s in a matching directory under spec 401s does not register an offense 401s in a non-matching directory under lib 401s registers an offense 401s in a matching directory under lib 401s does not register an offense 401s in a directory elsewhere which only matches the module name 401s does not register an offense 401s in a non-matching directory under spec 401s registers an offense 401s in a non-matching directory under src 401s registers an offense 401s in a directory with multiple instances of spec 401s does not register an offense 401s in a matching directory under test 401s does not register an offense 401s in a non-matching directory under test 401s registers an offense 401s in a directory with multiple instances of src 401s does not register an offense 401s in a directory with multiple instances of lib 401s does not register an offense 401s on a file which defines a nested module 401s in a non-matching directory under src 401s registers an offense 401s in a directory with multiple instances of spec 401s does not register an offense 401s in a matching directory under spec 401s does not register an offense 401s in a directory elsewhere which does not match the module name 401s registers an offense 401s in a matching directory under src 401s does not register an offense 401s in a directory with multiple instances of lib 401s does not register an offense 401s in a directory with multiple instances of src 401s does not register an offense 401s in a directory elsewhere which only matches the module name 401s does not register an offense 401s in a matching directory under test 401s does not register an offense 401s in a directory with multiple instances of test 401s does not register an offense 401s in a non-matching directory under test 401s registers an offense 401s in a non-matching directory under lib 401s registers an offense 401s in a matching directory under lib 401s does not register an offense 401s in a non-matching directory under spec 401s registers an offense 401s on a file which defines a nested class 401s in a directory with multiple instances of test 401s does not register an offense 401s in a matching directory under test 401s does not register an offense 401s in a non-matching directory under src 401s registers an offense 401s in a directory elsewhere which only matches the module name 401s does not register an offense 401s in a directory with multiple instances of src 401s does not register an offense 401s in a matching directory under src 401s does not register an offense 401s in a non-matching directory under spec 401s registers an offense 401s in a directory with multiple instances of lib 401s does not register an offense 401s in a non-matching directory under lib 401s registers an offense 401s in a matching directory under lib 401s does not register an offense 401s in a matching directory under spec 401s does not register an offense 401s in a directory with multiple instances of spec 401s does not register an offense 401s in a directory elsewhere which does not match the module name 401s registers an offense 401s in a non-matching directory under test 401s registers an offense 401s on a file which defines multiple classes 401s in a matching directory under src 401s does not register an offense 401s in a matching directory under lib 401s does not register an offense 401s in a matching directory under spec 401s does not register an offense 401s in a matching directory under test 401s does not register an offense 401s in a non-matching directory under src 401s registers an offense 401s in a directory with multiple instances of spec 401s does not register an offense 401s in a directory elsewhere which only matches the module name 401s does not register an offense 401s in a directory with multiple instances of lib 401s does not register an offense 401s in a non-matching directory under spec 401s registers an offense 401s in a non-matching directory under test 401s registers an offense 401s in a directory elsewhere which does not match the module name 401s registers an offense 401s in a non-matching directory under lib 401s registers an offense 401s in a directory with multiple instances of test 401s does not register an offense 401s in a directory with multiple instances of src 401s does not register an offense 401s on an empty file with a space in its filename 401s registers an offense 401s when CheckDefinitionPathHierarchy is false 401s in a non-matching directory, but with a matching class 401s does not register an offense 401s with a non-matching module containing a matching struct 401s does not register an offense 401s with a matching module containing a non-matching class 401s does not register an offense 401s on a file with a matching struct 401s does not register an offense 401s with a non-matching module containing a matching class 401s does not register an offense 401s on a file with a non-matching class 401s registers an offense 401s on a file with a matching class 401s does not register an offense 401s on an empty file 401s registers an offense 401s with a matching module containing a non-matching struct 401s does not register an offense 401s on a file with a non-matching struct 401s registers an offense 401s with snake_case file names ending in .rb 401s does not register an offense 401s with snake_case file names with multiple extensions 401s does not register an offense 401s with acronym namespace 401s does not register an offense 401s with snake_case names which use ? and ! 401s does not register an offense 401s with camelCase file names without file extension 401s registers an offense 401s with non-snake-case file names with a shebang 401s does not register an offense 401s when IgnoreExecutableScripts is disabled 401s registers an offense 401s 401s RuboCop::Cop::InternalAffairs::ExampleHeredocDelimiter 401s when unexpected heredoc delimiter is used but heredoc body contains an expected delimiter line 401s does not register an offense 401s when unexpected heredoc delimiter is used at non RuboCop specific expectation 401s does not register an offense 401s when unexpected heredoc delimiter is used in multi-line heredoc 401s registers an offense 401s when unexpected heredoc delimiter is used in single-line heredoc 401s registers an offense 401s when expected heredoc delimiter is used at RuboCop specific expectation 402s does not register an offense 402s 402s RuboCop::Cop::Lint::ShadowedArgument 402s block argument shadowing 402s when multiple arguments are shadowed 402s and one of them shadowed within a lambda while another is shadowed outside 402s registers an offense 402s when a single argument is shadowed 402s registers an offense 402s and shadowed within a block 402s registers an offense without specifying where the reassignment took place 402s and the block is nested within a conditional 402s registers an offense without specifying where the reassignment took place 402s and the argument was used before shadowing 402s accepts 402s and was used before shadowing 402s accepts 402s and the argument was not shadowed outside the block 402s accepts 402s and the block occurs after the reassignment 402s registers an offense 402s and the block is nested within a block 402s registers an offense without specifying where the reassignment took place 402s and the argument was used before shadowing 402s accepts 402s and the argument is not used 402s accepts 402s when zsuper is used 402s accepts 402s when binding is used 402s registers an offense 402s when IgnoreImplicitReferences config option is set to true 402s accepts 402s and shadowed within a conditional 402s registers an offense without specifying where the reassignment took place 402s and was used before shadowing 402s accepts 402s and the argument was not shadowed outside the conditional 402s accepts 402s and the conditional occurs after the reassignment 402s registers an offense 402s and the conditional is nested within a lambda 402s registers an offense without specifying where the reassignment took place 402s and the argument was used before shadowing 402s accepts 402s and the conditional is nested within a conditional 402s registers an offense without specifying where the reassignment took place 402s and the argument was used before shadowing 402s accepts 402s when a block local variable is assigned but no argument is shadowed 402s accepts 402s method argument shadowing 402s when a single argument is shadowed 402s registers an offense 402s and the argument is not used 402s accepts 402s and shadowed within a conditional 402s registers an offense without specifying where the reassignment took place 402s and the conditional is nested within a conditional 402s registers an offense without specifying where the reassignment took place 402s and the argument was used before shadowing 402s accepts 402s and was used before shadowing 402s accepts 402s and the conditional occurs after the reassignment 402s registers an offense 402s and the conditional is nested within a lambda 402s registers an offense without specifying where the reassignment took place 402s and the argument was used before shadowing 402s accepts 402s and the argument was not shadowed outside the conditional 402s accepts 402s when argument was used in shorthand assignment 402s does not register an offense 402s when reassigning to splat variable 402s does not register an offense 402s when zsuper is used 402s registers an offense 402s when argument was shadowed by zsuper 402s registers an offense 402s when IgnoreImplicitReferences config option is set to true 402s accepts 402s when argument was shadowed by zsuper 402s does not register an offense 402s and shadowed within a block 402s registers an offense without specifying where the reassignment took place 402s and the argument was not shadowed outside the block 402s accepts 402s and was used before shadowing 402s accepts 402s and the block is nested within a conditional 402s registers an offense without specifying where the reassignment took place 402s and the argument was used before shadowing 402s accepts 402s and the block occurs after the reassignment 402s registers an offense 402s and the block is nested within a block 402s registers an offense without specifying where the reassignment took place 402s and the argument was used before shadowing 402s accepts 402s when binding is used 402s registers an offense 402s when IgnoreImplicitReferences config option is set to true 402s accepts 402s when a splat argument is shadowed 402s registers an offense 402s when multiple arguments are shadowed 402s and one of them shadowed within a lambda while another is shadowed outside 402s registers an offense 402s 402s RuboCop::Cop::Lint::RedundantDirGlobSort 402s does not register an offense when using `sort` without a receiver 402s does not register an offense when not using `sort` for `Dir` 402s when Ruby 2.7 or lower 402s does not register an offense and correction when using `::Dir.glob.sort` 402s does not register an offense and correction when using `Dir[].sort.each do` 402s does not register an offense and correction when using `Dir[].sort.each(&do_something)` 402s does not register an offense and correction when using `Dir.glob.sort` 402s when Ruby 3.0 or higher 402s registers an offense and correction when using `Dir[].sort.each(&do_something)` 402s does not register an offense when using `Dir['./b/*.txt', './a/*.txt'].sort` 402s does not register an offense when using `collection.sort` 402s registers an offense and correction when using `Dir.glob.sort` 402s registers an offense and correction when using `::Dir.glob.sort` 402s does not register an offense when using `Dir.glob('./b/*.txt', './a/*.txt').sort` 402s does not register an offense when using `Dir.glob(*path).sort` 402s does not register an offense when not using `sort` with `sort: false` option for `Dir` 402s does not register an offense when using `Dir[*path].sort` 402s registers an offense and correction when using `Dir[].sort.each do` 402s 402s RuboCop::Cop::Style::ClassVars 402s does not register an offense for class variable usage 402s registers an offense for class variable declaration 402s registers an offense for class variable set in class 402s registers an offense for class variable set on class receiver 402s 402s RuboCop::Cop::Style::StderrPuts 402s registers no offense when using `STDERR.puts` with no arguments 402s registers no offense when using `$stderr.puts` with no arguments 402s registers an offense when using `$stderr.puts('hello')` 402s registers an offense when using `STDERR.puts('hello')` 402s registers an offense when using `::STDERR.puts('hello')` 402s 402s RuboCop::Cop::Style::RandomWithOffset 402s registers an offense when using rand(irange) + offset 402s registers an offense when using offset + Random.rand(int) 402s registers an offense when using offset - rand(erange) 402s registers an offense when using rand(erange) - offset 402s registers an offense when using offset - ::Random.rand(int) 402s registers an offense when using rand(int).pred 402s registers an offense when using ::Random.rand 402s registers an offense when using Random.rand(int).succ 402s registers an offense when using ::Kernel.rand 402s registers an offense when using offset + rand(int) 402s does not register an offense when using rand(irange).succ with a non-integer range value 402s registers an offense when using rand(int).next 402s registers an offense when using rand(irange) - offset 402s registers an offense when using ::Random.rand(int).pred 402s does not register an offense when using range with triple dots 402s does not register an offense when using range with double dots 402s registers an offense when using rand(int) - offset 402s registers an offense when using Kernel.rand 402s registers an offense when using rand(erange).succ 402s does not register an offense when using offset - rand(erange) with a non-integer range value 402s registers an offense when using offset - rand(int) 402s does not register an offense when using rand(irange) + offset with a non-integer range value 402s registers an offense when using Random.rand 402s registers an offense when using rand(irange).succ 402s registers an offense when using rand(int) + offset 402s does not register an offense when using rand(erange).pred with a non-integer range value 402s registers an offense when using rand(erange) + offset 402s registers an offense when using rand(int).succ 402s registers an offense when using offset - rand(irange) 402s 402s RuboCop::Cop::Style::RedundantSort 402s does not register an offense when first is used before sort 402s registers an offense when first is called with sort 402s registers an offense when last is called with sort 402s registers an offense when first is called on sort_by with line breaks and `&&` operator 402s registers an offense when slice(-1) is called on sort_by 402s registers an offense when last is called on sort with comparator 402s does not register an offense when first is used without sort_by 402s registers an offense when [-1] is called on sort 402s registers an offense when [0] is called on sort_by 402s registers an offense when at(-1) is called with sort 402s registers an offense with `sort_by { a || b }` 402s registers an offense when first is called on sort_by no block 402s does not register an offense when sort_by is not given a block 402s registers an offense when slice(0) is called on sort_by 402s does not register an offense for sort_by!(&:something).last 402s registers an offense when last is called on sort_by no block 402s does not register an offense when first has an argument 402s registers an offense when first is called on sort_by with line breaks 402s registers an offense when first is called on sort_by with line breaks and `or` operator 402s registers an offense when at(0) is called on sort_by 402s registers an offense when first is called on sort_by with line breaks and `and` operator 402s does not register an offense when sort_by is used without first 402s registers an offense when [](0) is called on sort 402s registers an offense when first is called on sort_by 402s registers an offense when [-1] is called on sort_by 402s does not register an offense for sort!.first 402s registers an offense when [0] is called on sort 402s registers an offense when last is called on sort_by 402s does not register an offense when sort has an argument 402s registers an offense when slice(0) is called on sort 402s registers an offense when first is called on sort_by with line breaks and `||` operator 402s registers an offense when [](-1) is called on sort_by 402s when not taking first or last element 402s does not register an offense when at(-2) is called on sort_by 402s does not register an offense when [-1] is called on sort with an argument 402s does not register an offense when [1] is called on sort 402s >= Ruby 2.7 402s when using numbered parameter 402s registers an offense and corrects when first is called on sort_by 402s registers an offense and corrects when last is called on sort with comparator 402s registers an offense and corrects when at(0) is called on sort_by 402s 402s RuboCop::Cop::Style::StringMethods 402s registers an offense 402s when using safe navigation operator 402s registers an offense 402s 402s RuboCop::Cop::VariableForce::Scope 402s #name 402s when the scope is instance method definition 402s returns the method name 402s when the scope is singleton method definition 402s returns the method name 402s #body_node 402s when the scope is module 402s returns the body node 402s when the scope is top level 402s returns the body node 402s when the scope is block 402s returns the body node 402s when the scope is class 402s returns the body node 402s when the scope is singleton method 402s returns the body node 402s when the scope is singleton class 402s returns the body node 402s when the scope is instance method 402s returns the body node 402s #include? 402s with child node the scope includes 402s is expected to equal true 402s with node of the scope itself 402s is expected to equal false 402s with descendant node the scope does not include 402s is expected to equal false 402s with ancestor node the scope does not include 402s is expected to equal false 402s with child node the scope does not include 402s is expected to equal false 402s .new 402s when lvasgn node is passed 402s accepts that as top level scope 402s when begin node is passed 402s accepts that as top level scope 402s #each_node 402s inner scope boundary handling 402s when there's a method invocation with block 402s yields only the block node and the child send node 402s when there's a singleton method definition 402s yields only the defs node and the method host node 402s outer scope boundary handling 402s when the scope is instance method 402s yields the argument and the body nodes 402s when the scope is module 402s yields the body nodes 402s when the scope is block 402s yields the argument and the body nodes 402s when the scope is singleton method 402s yields the argument and the body nodes 402s when the scope is class 402s yields the body nodes 402s when the scope is singleton class 402s yields the body nodes 402s when the scope is top level 402s yields the body nodes 402s 402s RuboCop::Cop::Lint::RefinementImportMethods 402s Ruby <= 3.0 402s does not register an offense when using `include` in `refine` block 402s does not register an offense when using `prepend` in `refine` block 402s Ruby >= 3.1 402s does not register an offense when using `import_methods` in `refine` block 402s registers an offense when using `include` in `refine` block 402s registers an offense when using `prepend` in `refine` block 402s does not register an offense when using `include` with a receiver in `refine` block 402s 402s RuboCop::YAMLDuplicationChecker 402s when yaml has duplicated keys in the second level 402s calls block 402s calls block with keys 402s when yaml does not have any duplication 402s does not call block 402s when yaml has duplicated keys in the top level 402s calls block 402s calls block with keys 402s 402s RuboCop::Cop::Style::Semicolon 402s accepts one line empty class definitions 402s registers an offense for one line method with two statements 402s accepts one line empty module definitions 402s registers an offense for a semicolon at the beginning of a line 402s registers an offense for range (`1...42`) with semicolon 402s accepts semicolon before end if so configured 402s registers an offense for a single expression 402s accepts one line method definitions 402s registers an offense for range (`1..42`) with semicolon 402s accepts one line empty method definitions 402s accept semicolons inside strings 402s registers an offense for semicolon at the end no matter what 402s registers an offense for several expressions 402s accepts semicolon after params if so configured 402s Ruby >= 2.6 402s registers an offense for endless range with semicolon (irange and erange) 402s registers an offense for endless range with semicolon (irange only) 402s does not register an offense for endless range without semicolon 402s registers an offense for endless range with semicolon in the method definition 402s when AllowAsExpressionSeparator is true 402s accepts several expressions 402s accepts one line method with two statements 402s with a multi-expression line without a semicolon 402s does not register an offense 402s 402s RuboCop::Cop::Style::RedundantSelfAssignmentBranch 402s registers and corrects an offense when self-assigning redundant else branch and empty if branch 402s registers and corrects an offense when self-assigning redundant else ternary branch 402s does not register an offense when using only if branch 402s registers and corrects an offense when self-assigning redundant if branch 402s does not register an offense when self-assigning redundant else ternary branch for cvar 402s does not register an offense when using `elsif` and self-assigning the value of `elsif` branch 402s registers and corrects an offense when self-assigning redundant else branch and empty else branch 402s does not register an offense when using `elsif` and self-assigning the value of `then` branch 403s does not register an offense when not self-assigning redundant branches 403s registers and corrects an offense when self-assigning redundant else branch 403s does not register an offense when multi assignment 403s does not register an offense when lhs is not variable 403s does not register an offense when self-assigning redundant else ternary branch for ivar 403s does not register an offense when self-assigning redundant else branch and multiline if branch 403s does not register an offense when self-assigning redundant else ternary branch for gvar 403s does not register an offense when self-assigning redundant else branch and multiline else branch 403s does not register an offense when using `elsif` and self-assigning the value of `else` branch 403s registers and corrects an offense when self-assigning redundant if ternary branch 403s 403s RuboCop::Cop::Style::MultilineIfThen 403s does not raise an error for an implicit match unless 403s does not get confused by a commented-out then 403s does not raise an error for an implicit match if 403s registers an offense for then in multiline elsif 403s does not get confused by a postfix unless 403s accepts table style if/then/elsif/ends 403s registers an offense for then in multiline unless 403s does not get confused by a nested postfix unless 403s does not get confused by a then in a when 403s registers an offense for then in multiline if 403s does not get confused by empty elsif branch 403s 403s RuboCop::Cop::Lint::RegexpAsCondition 403s does not register an offense for a regexp literal outside conditions 403s registers an offense and corrects for a regexp literal in `if` condition 403s does not register an offense for a regexp literal with `=~` operator 403s 403s RuboCop::Formatter::QuietFormatter 403s #report_summary 403s when 2 offenses detected 403s handles pluralization correctly 403s when no files inspected 403s handles pluralization correctly 403s when 2 offenses are corrected and 2 offenses correctable 403s handles pluralization correctly 403s when an offense is corrected 403s prints about correction 403s when a offense detected 403s handles pluralization correctly 403s when 2 offenses detected and 2 offenses correctable 403s handles pluralization correctly 403s when a file inspected and no offenses detected 403s handles pluralization correctly 403s when 2 offenses are corrected 403s handles pluralization correctly 403s when a offense detected and a offense correctable 403s handles pluralization correctly 403s #report_file 403s the file is under the current working directory 403s prints as relative path 403s the file is outside of the current working directory 403s prints as absolute path 403s when the offense is correctable 403s prints message as-is 403s when the offense is automatically corrected 403s prints [Corrected] along with message 403s when the offense is not corrected 403s prints message as-is 403s 403s RuboCop::Cop::Bundler::OrderedGems 403s When the gemfile is empty 403s does not register any offenses 403s When gems have an inline comment, and not sorted 403s registers an offense 403s When a gem is sorted but not so when disregarding _- 403s when ConsiderPunctuation is true 403s does not register an offense 403s by default 403s registers an offense 403s When gem groups is separated by multiline comment 403s with TreatCommentsAsGroupSeparators: false 403s registers an offense 403s with TreatCommentsAsGroupSeparators: true 403s accepts 403s When a gem that starts with a capital letter is not sorted 403s registers an offense 403s When gems are alphabetically sorted 403s does not register any offenses 403s When a gem declaration takes several lines 403s registers an offense 403s When each individual group of line is not sorted 403s registers some offenses 403s When gems are not alphabetically sorted 403s registers an offense 403s When there are duplicated gems in group 403s registers an offense 403s When gems are asciibetically sorted irrespective of _ 403s does not register an offense 403s When each individual group of line is sorted 403s does not register any offenses 403s when a gem is referenced from a variable 403s resets the sorting to a new block 403s ignores the line 403s When a gem that starts with a capital letter is sorted 403s does not register an offense 403s 403s RuboCop::Cop::Layout::SpaceAroundKeyword 403s behaves like missing after 403s registers an offense for missing space after keyword in `until 1 do"x" end` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `1 while""` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `next""` and autocorrects 403s behaves like accept after 403s accepts `{` after keyword in `loop{}` 403s behaves like accept around 403s accepts `[]` around keyword in `[begin end]` 403s behaves like accept around 403s accepts `()` around keyword in `(next)` 403s behaves like accept after 403s accepts `(` after keyword in `super(1)` 403s behaves like missing before 403s registers an offense for missing space before keyword in `if a; "b"end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `if a then"" end` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `a do "a"end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `case"" when 1; end` and autocorrects 403s behaves like accept after 403s accepts `#` after keyword in `next#comment` 403s behaves like accept before 403s accepts `=` before keyword in `a=begin end` 403s behaves like accept after 403s accepts `\` after keyword in `test do\ 403s end` 403s behaves like missing before 403s registers an offense for missing space before keyword in `until 1do end` 403s behaves like accept after 403s accepts `rescue` after keyword in `begin; rescue(Error); end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `begin ensure"" end` and autocorrects 403s behaves like accept before 403s accepts `+` before keyword in `a+begin; end.method` 403s behaves like accept before 403s accepts `*` before keyword in `a*begin end` 403s behaves like missing before 403s registers an offense for missing space before keyword in `for x in [] do "x"end` 403s behaves like missing before 403s registers an offense for missing space before keyword in `""rescue a` 403s >= Ruby 3.0 403s behaves like accept before 403s accepts `=>` before keyword in `""=> a` 403s behaves like accept after 403s accepts `=>` after keyword in `a =>""` 403s behaves like accept around 403s accepts `{}` around keyword in `{a: begin end}` 403s behaves like missing after 403s registers an offense for missing space after keyword in `if""; end` and autocorrects 403s &. 403s behaves like accept after 403s accepts `&.` after keyword in `yield&.foo` 403s behaves like accept after 403s accepts `&.` after keyword in `super&.foo` 403s behaves like missing after 403s registers an offense for missing space after keyword in `begin"" end` and autocorrects 403s behaves like accept after 403s accepts `\n` after keyword in `test do 403s end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `if a; elsif""; end` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `1 until""` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `for x in []do end` 403s behaves like accept after 403s accepts `(` after keyword in `return(1)` 403s behaves like accept after 403s accepts `+` after keyword in `+begin end` 403s behaves like missing before 403s registers an offense for missing space before keyword in `while 1do end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `while 1 do"x" end` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `until 1 do "x"end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `a rescue""` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `yield""` and autocorrects 403s behaves like accept after 403s accepts `(` after keyword in `not(1)` 403s behaves like accept before 403s accepts `>` before keyword in `a>begin end` 403s behaves like accept before 403s accepts `!` before keyword in `!yield.method` 403s behaves like missing after 403s registers an offense for missing space after keyword in `case a when""; end` and autocorrects 403s behaves like accept before 403s accepts `-` before keyword in `a-begin end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `super""` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `if a; else"" end` and autocorrects 403s behaves like accept after 403s accepts `(` after keyword in `yield(1)` 403s behaves like accept after 403s accepts `[` after keyword in `super[1]` 403s behaves like accept around 403s accepts `[]` around keyword in `a[begin end]` 403s >= Ruby 2.7 403s behaves like missing before 403s registers an offense for missing space before keyword in `case a; in "pattern"unless "condition"; else "" end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `case a; in "pattern" if"condition"; else "" end` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `case a; in "pattern" unless"condition"; else "" end` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `case a; in b; ""else end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `case a; in b; else"" end` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `case a; in "pattern"if "condition"; else "" end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `a do|x| end` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `1 and(2)` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `1while ""` 403s behaves like missing after 403s registers an offense for missing space after keyword in `not""` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `begin rescue; else"" end` and autocorrects 403s behaves like accept before 403s accepts `&&` before keyword in `a&&begin end` 403s behaves like accept before 403s accepts `!` before keyword in `!yield` 403s behaves like accept before 403s accepts `==` before keyword in `a==begin end` 403s behaves like missing before 403s registers an offense for missing space before keyword in `while 1 do "x"end` 403s behaves like accept before 403s accepts `|` before keyword in `loop { |x|break }` 403s behaves like accept around 403s accepts `;` around keyword in `test do;end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `BEGIN{}` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `1 or(2)` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `if a; ""elsif b; end` 403s behaves like missing before 403s registers an offense for missing space before keyword in `if ""then a end` 403s >= Ruby 2.7 403s behaves like missing after 403s registers an offense for missing space after keyword in `a in""` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `""in a` 403s behaves like missing after 403s registers an offense for missing space after keyword in `case a; in""; end` and autocorrects 403s behaves like accept after 403s accepts `::` after keyword in `super::ModuleName` 403s behaves like missing before 403s registers an offense for missing space before keyword in `begin rescue; ""else end` 403s behaves like missing before 403s registers an offense for missing space before keyword in `begin ""ensure end` 403s behaves like accept around 403s accepts `,` around keyword in `a 1,next,1` 403s behaves like accept before 403s accepts `/` before keyword in `a/begin end` 403s behaves like accept before 403s accepts `<` before keyword in `a= Ruby 2.7 403s behaves like missing after 403s registers an offense for missing space after keyword in `case""; in 1; end` and autocorrects 403s behaves like missing before 403s registers an offense for missing space before keyword in `case ""when a; end` 403s behaves like missing before 403s registers an offense for missing space before keyword in `case a; when b; ""else end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `END{}` and autocorrects 403s behaves like accept after 403s accepts `(` after keyword in `next(1)` 403s behaves like accept around 403s accepts `{}` around keyword in `loop {next}` 403s behaves like missing after 403s registers an offense for missing space after keyword in `super{}` and autocorrects 403s behaves like accept before 403s accepts `+` before keyword in `a+begin end` 403s behaves like missing after 403s registers an offense for missing space after keyword in `case a; when b; else"" end` and autocorrects 403s behaves like missing after 403s registers an offense for missing space after keyword in `return""` and autocorrects 403s behaves like accept after 403s accepts `.` after keyword in `yield.method` 403s behaves like accept before 403s accepts `=*` before keyword in `a=*begin end` 403s behaves like accept after 403s accepts `(` after keyword in `defined?(1)` 403s 403s RuboCop::Cop::Layout::IndentationConsistency 403s with block 403s registers an offense and correct bad indentation in a do/end body 403s does not autocorrect an offense within another offense 403s accepts an empty block body 403s registers an offense and corrects bad indentation in a {} body 403s accepts a correctly indented block body 403s with class 403s with indented_internal_methods style configured 403s accepts different indentation in different visibility sections 403s accepts different indentation in different visibility sections when using `Struct.new` 403s with normal style configured 403s registers an offense and corrects bad indentation in a class body 403s registers an offense and corrects bad indentation in def but not for outdented public, protected, and private 403s accepts indented public, protected, and private 403s accepts an empty class body 403s with while/until 403s registers an offense and corrects bad indentation in a while body 403s registers an offense and corrects bad indentation in an until body 403s registers an offense and corrects bad indentation in begin/end/while 403s accepts an empty while 403s with unless 403s accepts an empty unless 403s registers an offense and corrects bad indentation in an unless body 403s with module 403s registers an offense and corrects bad indentation of private methods 403s accepts an empty module body 403s registers an offense and corrects bad indentation in a module body 403s even when there are no public methods 403s registers an offense and corrects bad indentation of private methods 403s with for 403s accepts an empty for 403s registers an offense and corrects bad indentation in a for body 403s with top-level code 403s accepts when using access modifier at the top level 403s registers and corrects an offense when using access modifier and indented method definition at the top level 403s accepts an empty expression string interpolation 403s with def/defs 403s accepts an empty def body 403s accepts an empty defs body 403s registers an offense and corrects bad indentation in a def body 403s registers an offense and corrects bad indentation in a defs body 403s with case 403s accepts indented when/else plus indented body 403s registers an offense and corrects bad indentation in a case/else body 403s registers an offense and corrects bad indentation in a case/when body 403s accepts case/when/else laid out as a table 403s accepts correctly indented case/when/else 403s accepts case/when/else with then beginning a line 403s with if statement 403s accepts an if/else in assignment with end aligned with variable and chaining after the end 403s accepts if/then/else/end laid out as another table 403s accepts an if in assignment with end aligned with if 403s accepts an if/else in assignment with end aligned with variable and chaining with a block after the end 404s accepts if/elsif/else/end with fullwidth characters 404s accepts a correctly aligned if/elsif/else/end 404s accepts an if in assignment with end aligned with variable 404s registers an offense and corrects bad indentation in an elsif body 404s accepts an if/else in assignment with end aligned with if 404s accepts an if/else in assignment with end aligned with variable 404s registers an offense and corrects bad indentation in an else body 404s accepts a one line if statement 404s accepts if/elsif/else/end laid out as a table 404s accepts an if/else branches with rescue clauses 404s accepts an empty if 404s accepts an if/else in assignment on next line with end aligned with if 404s registers an offense and corrects bad indentation in an if body 404s 404s RuboCop::Cop::Layout::MultilineMethodDefinitionBraceLayout 404s ignores single-line defs 404s ignores defs without params 404s ignores implicit defs 404s heredoc 404s ignores heredocs that could share a last line 404s detects heredoc structures that are safe to add to 404s symmetrical style 404s opening brace on separate line from first element 404s allows closing brace on separate line from last multiline element 404s detects closing brace on same line as last element 404s allows closing brace on separate line from last element 404s opening brace on same line as first element 404s allows closing brace on same line as last element 404s detects closing brace on different line from last element 404s allows closing brace on same line as last multiline element 404s autocorrects closing brace on different line from last element 404s same_line style 404s opening brace on same line as first element 404s allows closing brace on same line from last element 404s detects closing brace on different line from multiline element 404s autocorrects closing brace on different line as last element 404s allows closing brace on same line as multi-line element 404s opening brace on separate line from first element 404s detects closing brace on different line from last element 404s allows closing brace on same line as last multiline element 404s allows closing brace on same line as last element 404s new_line style 404s opening brace on same line as first element 404s autocorrects closing brace on same line as last element 404s detects closing brace on same line as last multiline element 404s allows closing brace on different line from multi-line element 404s allows closing brace on different line from last element 404s opening brace on separate line from first element 404s allows closing brace on separate line from last multiline element 404s allows closing brace on separate line from last element 404s detects closing brace on same line as last element 404s 404s RuboCop::Cop::Style::ClassCheck 404s when enforced style is is_a? 404s registers an offense for kind_of? and corrects to is_a? 404s when enforced style is kind_of? 404s registers an offense for is_a? and corrects to kind_of? 404s 404s RuboCop::Cop::MessageAnnotator 404s #annotate 404s with default options 404s returns the message 404s when the output format is JSON 404s returns the message unannotated 404s with options on 404s returns an annotated message 404s #urls 404s returns multiple reference urls 404s returns style guide url when it is specified 404s returns reference url when it is specified 404s returns an empty array if the reference url is blank 404s returns style guide and reference url when they are specified 404s returns an empty array without StyleGuide URL 404s with style guide url 404s when a base URL is specified 404s can accept relative paths if base has a full path 404s allows absolute URLs in the cop config 404s can use a path-based setting 404s combines correctly with a target-based setting 404s does not specify a URL if a cop does not have one 404s when a nested department is specified 404s returns style guide url when it is specified 404s when a department other than AllCops is specified 404s returns style guide url when it is specified 404s when StyleGuide is not set in the config 404s does not add style guide url 404s when StyleGuide is set in the config 404s adds style guide url 404s 404s RuboCop::Cop::Metrics::AbcSize 404s when Max is 1.3 404s reports size and max as <1, 1, 4> 4.24/1.3 404s when Max is 2.3 404s accepts a total score of 2.24 404s when Max is 0 404s treats safe navigation method calls like regular method calls + a condition 404s registers an offense for an if modifier 404s registers an offense for complex content including A, B, and C scores 404s registers an offense for a `define_method` 404s accepts an empty method 404s registers an offense for an assignment of a local variable 404s registers an offense for an assignment of an element 404s accepts an empty `define_method` 404s Ruby 2.7 404s registers an offense for a `define_method` with numblock 404s when CountRepeatedAttributes is `false` 404s does not count repeated attributes 404s when method is in list of allowed methods 404s when AllowedPatterns is enabled 404s does not register an offense when using `define_method` 404s does not register an offense when defining a class method 404s does not register an offense when defining an instance method 404s when AllowedMethods is enabled 404s does not register an offense when using `define_method` 404s does not register an offense when defining an instance method 404s does not register an offense when defining a class method 404s when CountRepeatedAttributes is `true` 404s counts repeated attributes 404s when Max is 2 404s accepts two assignments 404s when Max is 100.321 404s reports size and max as <100, 100, 400> 424.3/100.3 404s when Max is 1000.3 404s reports size and max as <1000, 1000, 4000> 4243/1000 404s when Max is 10.3 404s reports size and max as <10, 10, 40> 42.43/10.3 404s 404s RuboCop::Cop::Lint::MissingCopEnableDirective 404s when the maximum range size is infinite 404s does not register an offense when the disable cop is re-enabled 404s registers an offense when a department is disabled and never re-enabled 404s registers an offense when a cop is disabled and never re-enabled 404s does not register an offense when the disable department is re-enabled 404s when the cop is disabled in the config 404s reports no offense when re-disabling it until EOF 404s when the maximum range size is finite 404s registers an offense when a department is disabled for too many lines 404s does not register an offense when the disable department is re-enabled within the limit 404s registers an offense when a cop is disabled for too many lines 404s does not register an offense when the disable cop is re-enabled within the limit 404s registers an offense when a department is disabled and never re-enabled 404s registers an offense when a cop is disabled and never re-enabled 404s 404s RuboCop::Cop::Layout::ParameterAlignment 404s aligned with first parameter 404s accepts parameter lists on a single line 404s registers an offense and corrects parameters with single indent 404s registers an offense and corrects parameters with double indent 404s accepts the first parameter being on a new row 404s accepts proper indentation 404s doesn't get confused by splat 404s accepts a method definition without parameters 404s registers an offense and corrects alignment in simple case 404s defining self.method 404s registers an offense and corrects parameters with single indent 404s accepts proper indentation 404s aligned with fixed indentation 404s accepts the first parameter being on a new row 404s doesn't get confused by splat 404s accepts proper indentation 404s accepts a method definition without parameters 404s accepts parameter lists on a single line 404s registers an offense and corrects parameters with double indent 404s registers an offense and corrects parameters aligned to first param 404s defining self.method 404s registers an offense and corrects parameters aligned to first param 404s accepts proper indentation 404s 404s RuboCop::Cop::Layout::SpaceAroundBlockParameters 404s when EnforcedStyleInsidePipes is space 404s registers an offense for no space before first parameter 404s accepts an empty block 404s registers an offense and corrects multiple spaces before parameter 404s accepts a lambda with spaces in the right places 404s accepts a block with spaces in the right places 404s registers an offense and corrects no space after last parameter 404s accepts a block with parameters but no body 404s accepts line break after closing pipe 404s registers an offense and corrects space with parens at middle 404s registers an offense and corrects missing space before first argument and after last argument 404s registers an offense and corrects a lambda for no space after last parameter 404s registers an offense and corrects block arguments inside Hash#each 404s registers an offense and corrects extra space before first parameter 404s registers an offense and corrects a lambda for no space before first parameter 404s registers an offense and corrects spacing in lambda args 404s skips lambda without args 404s skips lambda without parens 404s registers an offense and corrects multiple spaces after last parameter 404s registers an offense and corrects no space after closing pipe 404s accepts a block parameter without preceding space 404s registers an offense and corrects a lambda for multiple spacesafter last parameter 404s registers an offense and corrects a lambda for extra spacebefore first parameter 404s trailing comma 404s accepts space both before and after the last comma 404s accepts space after the last comma 404s registers an offense and corrects no space after the last comma 404s when EnforcedStyleInsidePipes is no_space 404s registers an offense and corrects a lambda for space before first parameter 405s accepts a lambda with spaces in the right places 405s registers an offense and corrects no space after closing pipe 405s accepts an empty block 405s accepts a block with spaces in the right places 405s accepts line break after closing pipe 405s registers an offense and corrects for space with parens 405s registers an offense and corrects all types of spacing issues 405s accepts a block parameter without preceding space 405s accepts a block with parameters but no body 405s accepts block parameters with surrounding space that includes line breaks 405s registers an offense and corrects space after last parameter 405s skips lambda without args 405s registers an offense and corrects all types of spacing issues for a lambda 405s registers an offense and corrects a lambda for space after the last parameter 405s registers an offense and corrects space before first parameter 405s skips lambda without parens 405s registers an offense and corrects multiple spaces before parameter 405s trailing comma 405s registers an offense for space before and after the last comma 405s registers an offense for space after the last comma 405s 405s RuboCop::Cop::Lint::UnreachableLoop 405s handles inner loops 405s registers an offense when using `return do_something(value) || break` in a loop 405s does not register an offense when branch includes continue statement preceding break statement 405s does not register an offense when using `return do_something(value) || next` in a loop 405s does not register an offense when using `return do_something(value) || redo` in a loop 405s without preceding continue statements 405s registers an offense when using `if-else` with all break branches 405s registers an offense when using `break` 405s does not register an offense when using `if` without `else` 405s does not register an offense when using `if-elsif-else` and not all branches are breaking 405s does not register an offense when using `case` without `else` 405s does not register an offense when using `case-when-else` and not all branches are breaking 405s registers an offense when using `case-when-else` with all break branches 405s with preceding continue statements 405s does not register an offense when using `case-when-else` with all break branches 405s does not register an offense when using `if-else` with all break branches 405s does not register an offense when using `break` 405s with AllowedPatterns 405s with a non ignored method call 405s registers an offense 405s Ruby 2.7 405s registers an offense 405s with a ignored method call 405s does not register an offense 405s Ruby 2.7 405s registers an offense when using `return do_something(value) || break` in a loop 405s with an enumerator method 405s in the middle of a method chain 405s does not register an offense 405s not chained 405s registers an offense 405s as the last item in a method chain 405s registers an offense 405s 405s RuboCop::Cop::Lint::DeprecatedConstants 405s does not register an offense when using `__ENCODING__ 405s registers and corrects an offense when using `NIL` 405s registers and corrects an offense when using `FALSE` 405s does not register an offense when not using deprecated constant 405s registers and corrects an offense when using `TRUE` 405s registers and corrects an offense when using `::Triple::Nested::Constant` 405s registers and corrects an offense when using `::FALSE` 405s registers and corrects an offense when using deprecated methods that have no alternative 405s registers and corrects an offense when using deprecated methods that have no deprecated version 405s registers and corrects an offense when using `::NIL` 405s registers and corrects an offense when using `::TRUE` 405s Ruby >= 3.0 405s registers and corrects an offense when using `::Random::DEFAULT` 405s registers and corrects an offense when using `Random::DEFAULT` 405s Ruby <= 2.5 405s does not register an offense when using `Net::HTTPServerException` 405s Ruby >= 2.6 405s registers and corrects an offense when using `Net::HTTPServerException` 405s Ruby <= 2.7 405s does not register an offense when using `Random::DEFAULT` 405s 405s RuboCop::Cop::Style::NegatedUnless 405s does not blow up for empty if condition 405s does not blow up on a negated ternary operator 405s does not blow up for ternary ops 405s does not blow up for empty unless condition 405s with “postfix” style 405s registers an offense for postfix 405s does not register an offense for prefix 405s with “both” style 405s accepts an unless/else with negative condition 405s registers an offense for unless with "not" condition 405s autocorrects by replacing parenthesized unless not with if 405s accepts an unless where only part of the condition is negated 405s accepts an unless where the condition is doubly negated 405s registers an offense for unless with exclamation point condition 405s with “prefix” style 405s registers an offense for prefix 405s does not register an offense for postfix 405s 405s RuboCop::Cop::Style::TrailingCommaInArrayLiteral 405s with multi-line list of values 405s when EnforcedStyleForMultiline is comma 405s accepts a multiline array with a single item and trailing comma 405s accepts literal with two of the values on the same line 405s accepts trailing comma 405s accepts a multiline word array 405s accepts an empty array being passed as a method argument 405s registers an offense for a literal with two of the values on the same line and a trailing comma 405s when closing bracket is on same line as last value 405s accepts literal with no trailing comma 405s when EnforcedStyleForMultiline is consistent_comma 405s accepts a multiline word array 405s accepts a multiline array with items on a single line andtrailing comma 405s accepts trailing comma 405s registers an offense for literal with two of the values on the same line and no trailing comma 405s accepts a multiline array with a single item and trailing comma 405s accepts two values on the same line 405s when closing bracket is on same line as last value 405s registers an offense for no trailing comma 405s when EnforcedStyleForMultiline is no_comma 405s autocorrects unwanted comma where HEREDOC has commas 405s accepts a literal with no trailing comma 405s registers an offense for trailing comma 405s accepts HEREDOC with commas 405s with single line list of values 405s when EnforcedStyleForMultiline is comma 405s accepts literal without trailing comma 405s accepts empty literal 405s accepts rescue clause 405s registers an offense for trailing comma 405s accepts single element literal without trailing comma 405s when EnforcedStyleForMultiline is no_comma 405s accepts empty literal 405s accepts rescue clause 405s accepts literal without trailing comma 405s registers an offense for trailing comma 405s accepts single element literal without trailing comma 405s when EnforcedStyleForMultiline is consistent_comma 405s accepts single element literal without trailing comma 405s accepts rescue clause 405s accepts empty literal 405s registers an offense for trailing comma 405s accepts literal without trailing comma 405s 405s RuboCop::Cop::Layout::LeadingCommentSpace 405s does not register an offense for more than one space 405s registers an offense and corrects #! after the first line 405s registers an offense and corrects comment without leading space 405s does not register an offense for #! on first line 405s accepts =begin/=end comments 405s does not register an offense for more than one # 405s does not register an offense for only #s 405s does not register an offense for # followed by no text 405s accepts sprockets directives 405s file named config.ru 405s does not register an offense for #\ on first line 405s registers an offense and corrects for #\ after the first line 405s Doxygen style 405s when config option is enabled 405s does not register offense when using Doxygen style 405s when config option is disabled 405s registers an offense and corrects using Doxygen style 405s Gemfile Ruby comment 405s when config option is enabled 405s file not named Gemfile 405s registers an offense when using ruby config as comment 405s file named Gemfile 405s does not register an offense when using ruby config as comment 405s when config option is disabled 405s registers an offense when using ruby config as comment 405s file not named config.ru 405s registers an offense and corrects #\ after the first line 405s registers an offense and corrects #\ on first line 405s RDoc syntax 405s does not register an offense when using `#++` or `#--` 405s registers an offense when starting `:` 405s 405s RuboCop::Cop::Style::RedundantSelfAssignment 405s registers an offense and corrects when assigning to attribute of non `self` 405s registers an offense and corrects when assigning to attribute of `self` 405s does not register an offense when lhs and receiver are different 405s does not register an offense when there is no a receiver 405s does not register an offense when assigning to attribute of `self` the result from other object 405s when lhs and receiver are the same 405s registers an offense and corrects when assigning to class variable 405s registers an offense and corrects when assigning to local variable 405s registers an offense and corrects when assigning to instance variable 405s registers an offense and corrects when assigning to global variable 405s 405s RuboCop::Cop::Style::FormatStringToken 405s ignores time format (when used as argument to strptime) 405s ignores time format (when used as argument to strftime) 405s ignores percent escapes 405s ignores xstr 405s ignores placeholder arguments 405s ignores time format when it is stored in a variable 405s supports flags and modifiers 405s ignores time format and unrelated `format` method using 405s ignores `%r` regexp 405s ignores http links 405s ignores regexp 405s works inside hashes 405s handles dstrs 405s ignores __FILE__ 405s when enforced style is template 405s gives a helpful error message 405s behaves like enforced styles for format string tokens 405s when enforced style is annotated 405s #correctable_sequence? 405s registers offenses for template style 405s detects when the cop must be disabled to avoid offenses 405s supports dynamic string with interpolation 405s sets the enforced style to annotated after inspecting "%s" 405s behaves like maximum allowed unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 2 405s does not register offenses for dual unannotated 405s does not register offenses for single unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 1 405s does not register offenses for single unannotated 405s registers offense for dual unannotated 405s when enforced style is unannotated 405s #correctable_sequence? 405s when enforced style is template 405s #correctable_sequence? 405s registers offenses for annotated style 405s supports dynamic string with interpolation 405s detects when the cop must be disabled to avoid offenses 405s configures the enforced style to template after inspecting "%{a}" 405s behaves like maximum allowed unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 1 405s registers offense for dual unannotated 405s does not register offenses for single unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 2 405s does not register offenses for single unannotated 405s does not register offenses for dual unannotated 405s behaves like enforced styles for format string tokens 405s when enforced style is unannotated 405s #correctable_sequence? 405s when enforced style is template 405s detects when the cop must be disabled to avoid offenses 405s does not register offenses for annotated style 405s #correctable_sequence? 405s configures the enforced style to template after inspecting "%{a}" 405s supports dynamic string with interpolation 405s behaves like maximum allowed unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 1 405s does not register offenses for dual unannotated 405s does not register offenses for single unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 2 405s does not register offenses for single unannotated 405s does not register offenses for dual unannotated 405s when enforced style is annotated 405s detects when the cop must be disabled to avoid offenses 405s registers offenses for template style 405s supports dynamic string with interpolation 405s sets the enforced style to annotated after inspecting "%s" 405s #correctable_sequence? 405s behaves like maximum allowed unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 2 405s does not register offenses for single unannotated 405s does not register offenses for dual unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 1 405s does not register offenses for single unannotated 405s registers offense for dual unannotated 405s behaves like enforced styles for format string tokens 405s when enforced style is unannotated 405s #correctable_sequence? 405s when enforced style is annotated 405s supports dynamic string with interpolation 405s registers offenses for template style 405s #correctable_sequence? 405s detects when the cop must be disabled to avoid offenses 405s sets the enforced style to annotated after inspecting "%s" 405s behaves like maximum allowed unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 2 405s does not register offenses for single unannotated 405s does not register offenses for dual unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 1 405s registers offense for dual unannotated 405s does not register offenses for single unannotated 405s when enforced style is template 405s #correctable_sequence? 405s supports dynamic string with interpolation 405s configures the enforced style to template after inspecting "%{a}" 405s detects when the cop must be disabled to avoid offenses 405s does not register offenses for annotated style 405s behaves like maximum allowed unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 1 405s does not register offenses for single unannotated 405s does not register offenses for dual unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 2 405s does not register offenses for single unannotated 405s does not register offenses for dual unannotated 405s behaves like enforced styles for format string tokens 405s when enforced style is unannotated 405s #correctable_sequence? 405s when enforced style is template 405s detects when the cop must be disabled to avoid offenses 405s configures the enforced style to template after inspecting "%{a}" 405s does not register offenses for annotated style 405s #correctable_sequence? 405s supports dynamic string with interpolation 405s behaves like maximum allowed unannotated 405s when MaxUnannotatedPlaceholdersAllowed is 2 405s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when enforced style is annotated 406s supports dynamic string with interpolation 406s sets the enforced style to annotated after inspecting "%s" 406s detects when the cop must be disabled to avoid offenses 406s registers offenses for template style 406s #correctable_sequence? 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s registers offense for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s behaves like enforced styles for format string tokens 406s when enforced style is template 406s configures the enforced style to template after inspecting "%{a}" 406s #correctable_sequence? 406s supports dynamic string with interpolation 406s does not register offenses for annotated style 406s detects when the cop must be disabled to avoid offenses 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when enforced style is annotated 406s registers offenses for template style 406s sets the enforced style to annotated after inspecting "%s" 406s detects when the cop must be disabled to avoid offenses 406s #correctable_sequence? 406s supports dynamic string with interpolation 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s registers offense for dual unannotated 406s when enforced style is unannotated 406s #correctable_sequence? 406s behaves like enforced styles for format string tokens 406s when enforced style is template 406s does not register offenses for annotated style 406s #correctable_sequence? 406s supports dynamic string with interpolation 406s detects when the cop must be disabled to avoid offenses 406s configures the enforced style to template after inspecting "%{a}" 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when enforced style is annotated 406s detects when the cop must be disabled to avoid offenses 406s sets the enforced style to annotated after inspecting "%s" 406s registers offenses for template style 406s supports dynamic string with interpolation 406s #correctable_sequence? 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s registers offense for dual unannotated 406s does not register offenses for single unannotated 406s when enforced style is unannotated 406s #correctable_sequence? 406s behaves like enforced styles for format string tokens 406s when enforced style is unannotated 406s #correctable_sequence? 406s when enforced style is template 406s supports dynamic string with interpolation 406s configures the enforced style to template after inspecting "%{a}" 406s detects when the cop must be disabled to avoid offenses 406s #correctable_sequence? 406s does not register offenses for annotated style 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when enforced style is annotated 406s sets the enforced style to annotated after inspecting "%s" 406s #correctable_sequence? 406s detects when the cop must be disabled to avoid offenses 406s supports dynamic string with interpolation 406s registers offenses for template style 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s registers offense for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s behaves like enforced styles for format string tokens 406s when enforced style is template 406s does not register offenses for annotated style 406s detects when the cop must be disabled to avoid offenses 406s configures the enforced style to template after inspecting "%{a}" 406s #correctable_sequence? 406s supports dynamic string with interpolation 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when enforced style is annotated 406s detects when the cop must be disabled to avoid offenses 406s supports dynamic string with interpolation 406s registers offenses for template style 406s sets the enforced style to annotated after inspecting "%s" 406s #correctable_sequence? 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s registers offense for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when enforced style is unannotated 406s #correctable_sequence? 406s behaves like enforced styles for format string tokens 406s when enforced style is unannotated 406s #correctable_sequence? 406s when enforced style is annotated 406s supports dynamic string with interpolation 406s #correctable_sequence? 406s sets the enforced style to annotated after inspecting "%s" 406s detects when the cop must be disabled to avoid offenses 406s registers offenses for template style 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s registers offense for dual unannotated 406s does not register offenses for single unannotated 406s when enforced style is template 406s detects when the cop must be disabled to avoid offenses 406s supports dynamic string with interpolation 406s does not register offenses for annotated style 406s #correctable_sequence? 406s configures the enforced style to template after inspecting "%{a}" 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s behaves like enforced styles for format string tokens 406s when enforced style is template 406s configures the enforced style to template after inspecting "%{a}" 406s #correctable_sequence? 406s detects when the cop must be disabled to avoid offenses 406s does not register offenses for annotated style 406s supports dynamic string with interpolation 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when enforced style is unannotated 406s #correctable_sequence? 406s when enforced style is annotated 406s sets the enforced style to annotated after inspecting "%s" 406s registers offenses for template style 406s #correctable_sequence? 406s supports dynamic string with interpolation 406s detects when the cop must be disabled to avoid offenses 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s registers offense for dual unannotated 406s behaves like enforced styles for format string tokens 406s when enforced style is template 406s supports dynamic string with interpolation 406s does not register offenses for annotated style 406s configures the enforced style to template after inspecting "%{a}" 406s #correctable_sequence? 406s detects when the cop must be disabled to avoid offenses 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when enforced style is unannotated 406s #correctable_sequence? 406s when enforced style is annotated 406s sets the enforced style to annotated after inspecting "%s" 406s #correctable_sequence? 406s detects when the cop must be disabled to avoid offenses 406s registers offenses for template style 406s supports dynamic string with interpolation 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s registers offense for dual unannotated 406s does not register offenses for single unannotated 406s behaves like enforced styles for format string tokens 406s when enforced style is template 406s #correctable_sequence? 406s configures the enforced style to template after inspecting "%{a}" 406s does not register offenses for annotated style 406s detects when the cop must be disabled to avoid offenses 406s supports dynamic string with interpolation 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when enforced style is unannotated 406s #correctable_sequence? 406s when enforced style is annotated 406s detects when the cop must be disabled to avoid offenses 406s #correctable_sequence? 406s supports dynamic string with interpolation 406s sets the enforced style to annotated after inspecting "%s" 406s registers offenses for template style 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s registers offense for dual unannotated 406s does not register offenses for single unannotated 406s behaves like enforced styles for format string tokens 406s when enforced style is unannotated 406s #correctable_sequence? 406s when enforced style is annotated 406s sets the enforced style to annotated after inspecting "%s" 406s #correctable_sequence? 406s detects when the cop must be disabled to avoid offenses 406s supports dynamic string with interpolation 406s registers offenses for template style 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s registers offense for dual unannotated 406s does not register offenses for single unannotated 406s when enforced style is template 406s does not register offenses for annotated style 406s #correctable_sequence? 406s supports dynamic string with interpolation 406s configures the enforced style to template after inspecting "%{a}" 406s detects when the cop must be disabled to avoid offenses 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s behaves like enforced styles for format string tokens 406s when enforced style is annotated 406s registers offenses for template style 406s supports dynamic string with interpolation 406s #correctable_sequence? 406s detects when the cop must be disabled to avoid offenses 406s sets the enforced style to annotated after inspecting "%s" 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s registers offense for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when enforced style is template 406s supports dynamic string with interpolation 406s #correctable_sequence? 406s does not register offenses for annotated style 406s detects when the cop must be disabled to avoid offenses 406s configures the enforced style to template after inspecting "%{a}" 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when enforced style is unannotated 406s #correctable_sequence? 406s behaves like enforced styles for format string tokens 406s when enforced style is unannotated 406s #correctable_sequence? 406s when enforced style is annotated 406s #correctable_sequence? 406s detects when the cop must be disabled to avoid offenses 406s registers offenses for template style 406s supports dynamic string with interpolation 406s sets the enforced style to annotated after inspecting "%s" 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s registers offense for dual unannotated 406s when enforced style is template 406s #correctable_sequence? 406s does not register offenses for annotated style 406s detects when the cop must be disabled to avoid offenses 406s supports dynamic string with interpolation 406s configures the enforced style to template after inspecting "%{a}" 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for single unannotated 406s does not register offenses for dual unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when enforced style is unannotated 406s gives a helpful error message 406s behaves like enforced styles for format string tokens 406s when enforced style is template 406s #correctable_sequence? 406s detects when the cop must be disabled to avoid offenses 406s does not register offenses for annotated style 406s supports dynamic string with interpolation 406s configures the enforced style to template after inspecting "%{a}" 406s behaves like maximum allowed unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 1 406s does not register offenses for dual unannotated 406s does not register offenses for single unannotated 406s when MaxUnannotatedPlaceholdersAllowed is 2 406s does not register offenses for single unannotated 407s does not register offenses for dual unannotated 407s when enforced style is unannotated 407s #correctable_sequence? 407s when enforced style is annotated 407s sets the enforced style to annotated after inspecting "%s" 407s supports dynamic string with interpolation 407s registers offenses for template style 407s #correctable_sequence? 407s detects when the cop must be disabled to avoid offenses 407s behaves like maximum allowed unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 2 407s does not register offenses for single unannotated 407s does not register offenses for dual unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 1 407s registers offense for dual unannotated 407s does not register offenses for single unannotated 407s behaves like enforced styles for format string tokens 407s when enforced style is annotated 407s sets the enforced style to annotated after inspecting "%s" 407s detects when the cop must be disabled to avoid offenses 407s registers offenses for template style 407s supports dynamic string with interpolation 407s #correctable_sequence? 407s behaves like maximum allowed unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 2 407s does not register offenses for dual unannotated 407s does not register offenses for single unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 1 407s registers offense for dual unannotated 407s does not register offenses for single unannotated 407s when enforced style is unannotated 407s #correctable_sequence? 407s when enforced style is template 407s supports dynamic string with interpolation 407s detects when the cop must be disabled to avoid offenses 407s does not register offenses for annotated style 407s #correctable_sequence? 407s configures the enforced style to template after inspecting "%{a}" 407s behaves like maximum allowed unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 2 407s does not register offenses for single unannotated 407s does not register offenses for dual unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 1 407s does not register offenses for single unannotated 407s does not register offenses for dual unannotated 407s behaves like enforced styles for format string tokens 407s when enforced style is unannotated 407s #correctable_sequence? 407s when enforced style is template 407s supports dynamic string with interpolation 407s #correctable_sequence? 407s configures the enforced style to template after inspecting "%{a}" 407s does not register offenses for annotated style 407s detects when the cop must be disabled to avoid offenses 407s behaves like maximum allowed unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 2 407s does not register offenses for dual unannotated 407s does not register offenses for single unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 1 407s does not register offenses for dual unannotated 407s does not register offenses for single unannotated 407s when enforced style is annotated 407s supports dynamic string with interpolation 407s registers offenses for template style 407s #correctable_sequence? 407s detects when the cop must be disabled to avoid offenses 407s sets the enforced style to annotated after inspecting "%s" 407s behaves like maximum allowed unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 2 407s does not register offenses for dual unannotated 407s does not register offenses for single unannotated 407s when MaxUnannotatedPlaceholdersAllowed is 1 407s does not register offenses for single unannotated 407s registers offense for dual unannotated 407s when enforced style is annotated 407s gives a helpful error message 407s when AllowedMethods is enabled 407s registers an offense for different method call within ignored method 407s does not register an offense 407s does not register an offense for value in nested structure 407s when AllowedMethods is disabled 407s registers an offense 407s when AllowedPatterns is enabled 407s registers an offense for different method call within ignored method 407s does not register an offense for value in nested structure 407s does not register an offense 407s when AllowedPatterns is disabled 407s registers an offense 407s 407s RuboCop::Cop::Style::IfInsideElse 407s catches a modifier if nested inside an else after elsif 407s catches an if node nested inside an else 407s handles a nested `if...then...elsif...end` 407s catches an if..else nested inside an else 407s handles a nested `if...then...elsif...else...end` 407s handles a nested `if...then...else...end` 407s handles a nested `if...then...end` 407s catches an if..elsif..else nested inside an else 407s isn't offended by if..elsif..else 407s isn't offended if there is a statement following the if node 407s isn't offended if there is a statement preceding the if node 407s catches an `if..else` nested inside an `else` and nested inside `if` branch code is empty 407s handles a nested multiline `if...then...elsif...else...end` 407s ignores ternary inside if..else 407s ignores unless inside else 407s ignores if inside unless 407s ignores nested ternary expressions 407s when AllowIfModifier is false 407s catches a modifier if nested inside an else 407s when AllowIfModifier is true 407s accepts a modifier if nested inside an else 407s 407s RuboCop::Cop::InternalAffairs::MethodNameEqual 407s registers an offense when using `#method == :do_something` 407s does not register an offense when using `#method?` 407s registers an offense when using `#method == other_node.do_something` 407s 407s RuboCop::Cop::Naming::BinaryOperatorParameterName 407s does not register an offense for [] 407s does not register an offense for non binary operators 407s does not register an offense for multibyte character method name 407s does not register an offense for === 407s does not register an offense for arg named _other 407s does not register an offense for arg named other 407s registers an offense and corrects for `#equal?` when argument is not named other 407s registers an offense and corrects when assigned to argument in method body 407s works properly even if the argument not surrounded with braces 407s does not register an offense for << 407s does not register an offense for the match operator 407s does not register an offense for []= 407s registers an offense and corrects when argument is referenced in method body 407s registers an offense and corrects for `#eql?` when argument is not named other 407s registers an offense and corrects for `#+` when argument is not named other 407s 407s RuboCop::Cop::Layout::AssignmentIndentation 407s ignores comparison operators 407s allows assignments that do not start on a newline 407s registers an offense for incorrectly indented rhs when multiple assignment 407s allows a properly indented rhs 407s allows a properly indented rhs with fullwidth characters 407s registers an offense for incorrectly indented rhs 407s registers an offense for multi-lhs 407s registers an offense for incorrectly indented rhs whenmultiple assignment with line breaks on each line 407s when indentation width is overridden for this cop only 407s autocorrects indentation 407s allows a properly indented rhs 407s 407s RuboCop::Server::CLI 407s when using exclusive `--restart-server` option 407s returns exit status 2 and display an error message 407s when using `--no-server` option 407s returns exit status 0 407s when not using any server options 407s returns exit status 0 407s when using server option with `--cache-root path` option 407s returns exit status 0 and display an error message 407s when not using any server options and specifying `--server` in `RUBOCOP_OPTS` environment variable 408s returns exit status 0 and display an information message 408s when using `--server` option 408s returns exit status 0 and display an information message 408s when using multiple server options 408s returns exit status 2 and display an error message 408s when using server option with `--cache-root=path` option 408s returns exit status 0 and display an information message 408s when using exclusive `--stop-server` option 408s returns exit status 2 and display an error message 408s when using `--server-status` option 408s returns exit status 0 and display an information message 408s when using `--restart-server` option 408s returns exit status 0 and display an information and a warning messages 408s when using exclusive `--server-status` option 408s returns exit status 2 and display an error message 408s when using `--stop-server` option 408s returns exit status 0 and display a warning message 408s when not using any server options and specifying `--server` in .rubocop file 409s returns exit status 0 and display an information message 409s when using exclusive `--start-server` option 409s returns exit status 2 and display an error message 409s when using `--start-server` option 409s returns exit status 0 and display an information message 409s 409s RuboCop::Cop::Layout::SpaceInsideStringInterpolation 409s when EnforcedStyle is space 409s accepts empty interpolation 409s for ill-formatted string interpolations 409s registers offenses and autocorrects 409s for well-formatted string interpolations 409s does not register an offense for excess literal spacing 409s for "no_space" style formatted string interpolations 409s registers offenses and autocorrects 409s when EnforcedStyle is no_space 409s accepts empty interpolation 409s does not touch spaces inside the interpolated expression 409s for well-formatted string interpolations 409s accepts excess literal spacing 409s for "space" style formatted string interpolations 409s registers offenses and autocorrects 409s when interpolation starts or ends with a line break 409s does not register an offense 409s ignores comments and whitespace when looking for line breaks 409s for ill-formatted string interpolations 409s finds interpolations in string-like contexts 409s registers offenses and autocorrects 409s 409s RuboCop::Cop::Style::EmptyMethod 409s when configured with expanded style 409s with a non-empty instance method definition 409s allows multi line method with a comment 409s allows single line method 409s allows multi line method 409s when method is nested in class scope 409s registers an offense for single line method 409s with a non-empty class method definition 409s allows single line method 409s allows multi line method 409s allows multi line method with comment 409s with an empty instance method definition 409s allows multi line method 409s registers an offense for single line method 409s allows multi line method with blank line 409s relation with Layout/LineLength 409s still corrects even if the method is longer than the configured Max 409s with an empty class method definition 409s allows multi line method with a blank line 409s registers an offense for single line method 409s allows empty multi line method 409s when configured with compact style 409s with an empty class method definition 409s registers an offense for method with blank line 409s allows single line method 409s registers an offense for empty method with arguments 409s registers an offense for empty method 409s with an empty instance method definition 409s allows single line method 409s registers an offense for method with closing paren on following line 409s registers an offense for method with blank line 409s registers an offense for method with arguments 409s registers an offense for empty method 409s registers an offense for method with arguments without parens 409s with a non-empty instance method definition 409s allows multi line method with comment 409s allows multi line method 409s allows single line method 409s relation with Layout/LineLength 409s when that cop is disabled 409s corrects to long lines 409s when the correction would exceed the configured maximum 409s reports an offense but does not correct 409s with a non-empty class method definition 409s allows single line method 409s allows multi line method 409s allows multi line method with comment 409s 409s RuboCop::Cop::Layout::IndentationStyle 409s when EnforcedStyle is spaces 409s accepts a line which begins with tab in a multiline heredoc 409s registers and corrects an offense for a line indented with multiple tabs 409s accepts a line with tab in a string 409s accepts a line with a tab other than indentation 409s registers offenses before __END__ but not after 409s registers and corrects an offense for a line indented with mixed whitespaces 409s registers and corrects an offense for a line indented with tab 409s accepts a line which begins with tab in a heredoc 409s accepts a line which begins with tab in a string 409s registers and corrects an offense for a line with tab in a string indented with tab 409s accepts a line with a tab between string literals 409s custom indentation width 409s uses the configured number of spaces to replace a tab 409s when EnforcedStyle is tabs 409s registers and corrects an offense for a line indented with fractional number ofindentation groups by rounding down 409s accepts a line which begins with tab in a heredoc 409s accepts a line with tabs between string literals 409s registers offenses before __END__ but not after 409s registers and corrects an offense for a line indented with space 409s registers and corrects an offense for a line indented with multiple spaces 409s registers an offense for a line indented with mixed whitespace 409s accepts a line a tab other than indentation 409s accepts a line with tab in a string 409s registers and corrects an offense for a line with tab in a string indented with space 409s accepts a line which begins with tab in a string 409s accepts a line which begins with tab in a multiline heredoc 409s custom indentation width 409s uses the configured number of spaces to replace with a tab 409s 409s RuboCop::Cop::Style::RescueStandardError 409s implicit 409s accepts rescue modifier 409s when rescuing in a begin block 409s accepts rescuing StandardError with other errors 409s accepts rescuing a single error class other than StandardError, assigned to a variable 409s accepts rescuing no error class 409s accepts rescuing no error class, assigned to a variable 409s accepts rescuing ::StandardError with other errors 409s accepts rescuing a single error class other than StandardError 409s accepts rescuing StandardError with other errors, assigned to a variable 409s when rescuing StandardError by itself 409s registers an offense 409s with ::StandardError 409s registers an offense 409s when the error is assigned to a variable 409s registers an offense 409s with ::StandardError 409s registers an offense 409s when rescuing in a method definition 409s accepts rescuing no error class, assigned to a variable 409s accepts rescuing no error class 409s accepts rescuing a single error other than StandardError, assigned to a variable 409s accepts rescuing StandardError with other errors 409s accepts rescuing a single error other than StandardError 409s accepts rescuing StandardError with other errors, assigned to a variable 409s when rescuing StandardError by itself 409s registers an offense 409s when the error is assigned to a variable 409s registers an offense 409s explicit 409s accepts rescue modifier 409s when rescuing in a begin block 409s accepts rescuing StandardError with other errors, assigned to a variable 409s accepts rescuing StandardError by itself 409s accepts rescuing StandardError with other errors 410s accepts rescuing StandardError by itself, assigned to a variable 410s accepts rescuing a single error other than StandardErrorassigned to a variable 410s accepts rescuing a single error other than StandardError 410s when calling rescue without an error class 410s registers an offense 410s when the error is assigned to a variable 410s registers an offense 410s when rescuing in a method definition 410s accepts rescuing StandardError by itself 410s accepts rescuing StandardError with other errors 410s accepts rescuing StandardError by itself, assigned to a variable 410s accepts rescuing StandardError with other errors, assigned to a variable 410s accepts rescuing a single error other than StandardError, assigned to a variable 410s accepts rescuing a single error other than StandardError 410s when the error is assigned to a variable 410s registers an offense 410s when rescue is called without an error class 410s registers an offense 410s 410s RuboCop::Cop::InternalAffairs::UselessMessageAssertion 410s registers an offense for specs that assert using the MSG 410s registers an offense for described_class::MSG in let 410s does not register an offense for an assertion about the message 410s registers an offense for specs that expect offense using the MSG 410s 410s RuboCop::Cop::Layout::HeredocIndentation 410s quoted by ' 410s displays message to use `<<~` instead of `<<` 410s registers an offense for not indented enough with whitespace line 410s registers an offense for not indented enough with empty line 410s accepts for include empty lines 410s registers an offense for too deep indented with empty line 410s registers an offense for too deep indented 410s displays message to use `<<~` instead of `<<-` 410s registers an offense for not indented, with `~` 410s registers an offense for not indented, without `~` 410s registers an offense for too deep indented with whitespace line 410s registers an offense for first line minus-level indented, with `-` 410s accepts for indented, but without `~` 410s registers an offense for not indented 410s accepts for indented, with `~` 410s registers an offense for minus level indented 410s accepts for not indented but with whitespace 410s does not register an offense when not indented but with whitespace, with `-` 410s accepts for an empty line 410s accepts for indented, but with `-` 410s when Layout/LineLength is configured 410s accepts for long heredoc 410s quoted by ` 410s registers an offense for not indented 410s registers an offense for not indented enough with empty line 410s accepts for indented, but without `~` 410s registers an offense for not indented enough with whitespace line 410s accepts for an empty line 410s accepts for not indented but with whitespace 410s accepts for include empty lines 410s displays message to use `<<~` instead of `<<` 410s registers an offense for too deep indented with whitespace line 410s registers an offense for not indented, without `~` 410s registers an offense for first line minus-level indented, with `-` 410s accepts for indented, but with `-` 410s accepts for indented, with `~` 410s registers an offense for too deep indented 410s registers an offense for not indented, with `~` 410s registers an offense for minus level indented 410s registers an offense for too deep indented with empty line 410s does not register an offense when not indented but with whitespace, with `-` 410s displays message to use `<<~` instead of `<<-` 410s when Layout/LineLength is configured 410s accepts for long heredoc 410s quoted by " 410s accepts for not indented but with whitespace 410s registers an offense for not indented enough with empty line 411s accepts for indented, but without `~` 411s registers an offense for minus level indented 411s registers an offense for not indented enough with whitespace line 411s does not register an offense when not indented but with whitespace, with `-` 411s registers an offense for too deep indented 411s registers an offense for too deep indented with empty line 411s registers an offense for not indented, with `~` 411s registers an offense for too deep indented with whitespace line 411s accepts for include empty lines 411s accepts for an empty line 411s displays message to use `<<~` instead of `<<-` 411s registers an offense for first line minus-level indented, with `-` 411s accepts for indented, with `~` 411s registers an offense for not indented, without `~` 411s accepts for indented, but with `-` 411s displays message to use `<<~` instead of `<<` 411s registers an offense for not indented 411s when Layout/LineLength is configured 411s accepts for long heredoc 411s quoted by 411s accepts for indented, but with `-` 411s registers an offense for not indented enough with whitespace line 411s accepts for include empty lines 411s displays message to use `<<~` instead of `<<-` 411s registers an offense for not indented enough with empty line 411s registers an offense for too deep indented 411s accepts for not indented but with whitespace 411s does not register an offense when not indented but with whitespace, with `-` 411s registers an offense for too deep indented with empty line 411s accepts for an empty line 411s registers an offense for not indented, without `~` 411s registers an offense for first line minus-level indented, with `-` 411s accepts for indented, but without `~` 411s accepts for indented, with `~` 411s displays message to use `<<~` instead of `<<` 411s registers an offense for too deep indented with whitespace line 411s registers an offense for not indented, with `~` 411s registers an offense for not indented 411s registers an offense for minus level indented 411s when Layout/LineLength is configured 411s accepts for long heredoc 411s 411s RuboCop::Cop::VariableForce::Variable 411s #referenced? 411s when the variable has an assignment 411s and the variable is referenced 411s is expected to be truthy 411s and the variable is not yet referenced 411s is expected to be falsey 411s when the variable is not assigned 411s is expected to be falsey 411s and the variable is referenced 411s is expected to be truthy 411s .new 411s when non variable declaration node is passed 411s raises error 411s 411s RuboCop::Cop::Lint::ParenthesesAsGroupedExpression 411s does not register an offesne when heredoc has a space between the same string as the method name and `(` 411s does not register an offense for math expression with `to_i` 411s does not register an offense for expression followed by chained expression 411s registers an offense and corrects for predicate method call with space before the parenthesis 411s accepts an operator call with argument in parentheses 411s does not register an offense for a call with multiple arguments 411s does not register an offense for expression followed by an operator 411s does not register an offense when method argument parentheses are omitted and hash argument key is enclosed in parentheses 411s accepts method with parens as arg to method without 411s accepts a method call without arguments 411s does not register an offense for expression followed by chained expression with safe navigation operator 411s accepts a method call with arguments but no parentheses 411s accepts a chain of method calls 411s does not register an offense for math expression 411s does not register an offense for ternary operator 411s registers an offense and corrects for method call with space before the parenthesis 411s accepts a space inside opening paren followed by left paren 411s when using safe navigation operator 411s registers an offense and corrects for method call with space before the parenthesis 411s 411s RuboCop::Cop::Style::FrozenStringLiteralComment 411s never 411s registers an offense for having a frozen string literal comment after other comments 411s registers an offense for a disabled frozen string literal comment below shebang above an encoding comments 411s allows not having a frozen string literal comment under an encoding comment 411s registers an offense for a frozen string literal comment below a shebang comment 411s registers an offense for a frozen string literal comment below shebang above an encoding comments 411s registers an offense for a disabled frozen string literal comment below shebang and encoding comments 411s registers an offense for a frozen string literal comment on the top line 411s registers an offense for a disabled frozen string literal below a shebang comment 411s registers an offense for a frozen string literal comment below shebang and encoding comments 411s accepts not having not having a frozen string literal comment under a shebang 411s registers an offense for a disabled frozen string literal comment on the top line 411s registers an offense for a disabled frozen string literal below an encoding comment 411s allows not having a frozen string literal comment under a shebang and an encoding comment 411s accepts not having a frozen string literal comment on the top line 411s accepts a frozen string literal comment under ruby code 411s registers an offense for a frozen string literal comment below an encoding comment 411s accepts an empty source 411s accepts a source with no tokens 411s always 411s registers an offense for not having a frozen string literal comment on the top line 411s registers an offense for not having a frozen string literal comment when there is only a shebang 411s accepts a frozen string literal on the top line 411s accepts a disabled frozen string literal below a shebang comment 411s registers an offense for not having a frozen string literal comment under a shebang and an encoding comment 411s registers an offense for arbitrary tokens 411s registers an offense for not having a frozen string literal comment under a shebang 411s accepts a frozen string literal comment below newline-separated magic comments 411s registers an offense with an empty line between magic comments and the code 411s accepts a disabled frozen string literal comment below shebang and encoding comments 411s accepts a disabled frozen string literal below an encoding comment 411s registers an offense for not having a frozen string literal comment under an encoding comment 411s registers an offense for having a frozen string literal comment under ruby code 411s accepts a frozen string literal comment below shebang above an encoding comments 412s registers an offense for an extra first empty line 412s accepts an empty source 412s accepts a frozen string literal comment after other comments 412s accepts a frozen string literal comment below shebang and encoding comments 412s accepts a disabled frozen string literal comment below shebang above an encoding comments 412s accepts an emacs style combined magic comment 412s accepts a frozen string literal below a shebang comment 412s accepts a frozen string literal below an encoding comment 412s accepts a disabled frozen string literal on the top line 412s registers an offense for not having a frozen string literal comment under an encoding comment separated by a newline 412s accepts a source with no tokens 412s target_ruby_version < 2.3 412s accepts calling << on a string 412s accepts freezing a string with interpolation 412s accepts freezing a string 412s accepts calling << on a string with interpolation 412s always_true 412s registers an offense for a disabled frozen string literal comment below shebang, an encoding comment, and extra space 412s accepts a frozen string literal comment below shebang, an encoding comment, and extra space 412s registers an offense for a disabled frozen string literal comment under shebang with no other code 412s accepts an emacs style combined magic comment 412s registers an offense for not having a frozen string literal comment under a shebang and an encoding comment 412s accepts a frozen string literal comment below shebang and encoding comments 412s accepts a frozen string literal on the top line 412s registers an offense for a disabled frozen string literal comment below shebang and encoding comments 412s registers an offense for a disabled frozen string literal comment after other comments 412s registers an offense for a disabled frozen string literal below a shebang comment 412s registers an offense for arbitrary tokens 412s registers an offense for arbitrary tokens above an empty line 412s accepts a source with no tokens 412s registers an offense for arbitrary tokens below an encoding comment and extra space 412s registers an offense for arbitrary tokens below shebang, an encoding comment, and extra space 412s accepts a frozen string literal comment below shebang above an encoding comments 412s registers an offense for arbitrary tokens below an encoding comment 412s registers an offense for arbitrary tokens under shebang with no other code 412s registers an offense for a disabled frozen string literal comment below an encoding comment and extra space 412s registers an offense for not having a frozen string literal comment under a shebang, an encoding comment, and extra space 412s registers an offense for a disabled frozen string literal 412s accepts a frozen string literal below a shebang comment 412s registers an offense for not having a frozen string literal comment under shebang with no other code 412s accepts a frozen string literal comment below an encoding comment and extra space 412s registers an offense for a disabled frozen string literal comment below shebang above an encoding comments 412s registers an offense for not having a frozen string literal comment under an encoding comment and extra space 412s accepts a frozen string literal below an encoding comment 412s registers an offense for not having a frozen string literal comment under an encoding comment 412s registers an offense for arbitrary tokens below shebang and encoding comments 412s registers an offense for arbitrary tokens below shebang above an encoding comments 412s registers an offense for an extra first empty line 412s registers an offense for a disabled frozen string literal on the top line 412s registers an offense for a disabled frozen string literal above an empty line 412s registers an offense for arbitrary tokens below a shebang comment 412s registers an offense for not having a frozen string literal comment on the top line 412s accepts an empty source 412s accepts a frozen string literal comment after other comments 412s registers an offense for a disabled frozen string literal below an encoding comment 412s accepts a frozen string literal comment under shebang with no other code 412s registers an offense for having a frozen string literal comment under ruby code 412s 412s RuboCop::Cop::InternalAffairs::RedundantLetRuboCopConfigNew 412s registers an offense when using `let(:config)` and `:config` is not specified in `describe` 412s registers an offense when using `let(:config)` and `:config` is already specified in `describe` 412s does not register an offense when using `let(:config)` with arguments to `RuboCop::Config.new` 412s registers an offense when using `let(:config)` with no argument `RuboCop::Config.new` and `:config` is specified 412s 412s RuboCop::Cop::Lint::TripleQuotes 412s does not register an offense for implicit concatenation 412s quintuple quotes 412s registers an offense and corrects 412s heredocs 412s does not register an offense 412s triple quotes 412s with only whitespace 412s does not register 412s on one line 412s registers an offense and corrects 412s on multiple lines 412s registers an offense and corrects 412s when only quotes 412s registers an offense and corrects to a single empty quote 412s string interpolation 412s does not register an offense 412s with nested extra quotes 412s registers an offense and corrects 412s 412s RuboCop::Options 412s option 412s --regenerate-todo 412s when todo options are overridden after --regenerate-todo 412s is expected to eq {:auto_gen_config=>true, :exclude_limit=>"50", :offense_counts=>false, :regenerate_todo=>true} 412s when no other options are given 412s is expected to eq {:auto_gen_config=>true, :exclude_limit=>"100", :offense_counts=>false, :regenerate_todo=>true} 412s when disabled options are overridden to be enabled 412s is expected to eq {:auto_gen_config=>true, :exclude_limit=>"100", :offense_counts=>true, :regenerate_todo=>true} 412s when todo options are overridden before --regenerate-todo 412s is expected to eq {:auto_gen_config=>true, :exclude_limit=>"50", :offense_counts=>false, :regenerate_todo=>true} 412s --auto-gen-config 412s accepts other options 412s --cache 412s accepts true as argument 412s accepts false as argument 412s fails if unrecognized argument is given 412s fails if no argument is given 412s --require 412s requires the passed path 412s --fix-layout 412s sets some autocorrect options 412s --parallel 412s combined with --cache false 412s ignores --parallel 412s combined with two incompatible arguments 412s ignores --parallel and lists both incompatible arguments 412s combined with --auto-gen-config 412s ignores --parallel 412s combined with --fail-fast 412s ignores --parallel 412s combined with an autocorrect argument 412s combined with --fix-layout 412s allows --parallel 412s combined with --autocorrect-all 412s allows --parallel 412s combined with --autocorrect 412s allows --parallel 412s --autocorrect-all 412s sets some autocorrect options 412s -h/--help 412s exits cleanly 412s lists all builtin formatters 412s shows help text 412s --auto-gen-only-exclude 412s fails if given without --auto-gen-config 412s --display-only-fail-level-offenses 412s fails if given with an autocorrect argument 412s --display-only-correctable 412s fails if given with --display-only-failed 412s fails if given with an autocorrect argument 412s --autocorrect 412s Specify --autocorrect and --autocorrect-all 412s emits a warning and sets some autocorrect options 412s Specify only --autocorrect 412s sets some autocorrect options 412s --cache-root 412s accepts a path as argument 412s fails if no argument is given 412s fails if also `--cache false` is given 412s incompatible cli options 412s rejects using -v with -V 412s rejects using -v with --show-cops 412s mentions all incompatible options when more than two are used 412s rejects using -V with --show-cops 412s deprecated options 412s --safe-auto-correct 412s emits a warning and sets the correct options instead 412s --auto-correct 412s emits a warning and sets the correct options instead 412s --auto-correct-all 413s emits a warning and sets the correct options instead 413s --exclude-limit 413s fails if given first without argument 413s fails if given alone without argument 413s fails if given without --auto-gen-config 413s fails if given last without argument 413s --fail-level 413s accepts full severity names 413s accepts the "fake" severities A/autocorrect 413s accepts severity initial letters 413s -s/--stdin 413s succeeds with exactly one path 413s fails if more than one path is given 413s fails if no paths are given 413s --no-parallel 413s disables parallel from file 413s --display-only-failed 413s fails if given without --format junit 413s works if given with --format junit 413s --raise-cop-error 413s raises cop errors 413s --disable-uncorrectable 413s accepts together with an unsafe autocorrect argument 413s fails if given without an autocorrect argument 413s accepts together with a safe autocorrect argument 413s options precedence 413s .rubocop directory 413s is ignored and command line options are used 413s RUBOCOP_OPTS environment variable 413s has lower precedence then command line options 413s has higher precedence then options from .rubocop file 413s .rubocop file 413s has lower precedence then command line options 413s has lower precedence then options from RUBOCOP_OPTS env variable 413s 413s RuboCop::Cop::Style::UnlessLogicalOperators 413s EnforcedStyle is `forbid_mixed_logical_operators` 413s does not register an offense when using `&&` operator and invoked method name includes "and" in the conditional branch 413s registers an offense when using `&&` and `||` 413s does not register an offense when using only `||`s 413s registers an offense when using `&&` and `and` 413s registers an offense when using `||` and `and` 413s does not register an offense when not used in unless 413s does not register an offense when using `||` operator and invoked method name includes "or" in the conditional branch 413s does not register an offense when using if 413s does not register an offense when using only `&&`s 413s does not register an offense when using only `and`s 413s does not register an offense when not using logical operator 413s registers an offense when using `||` and `or` 413s registers an offense when using `&&` and `or` 413s registers an offense when using parentheses 413s does not register an offense when using only `or`s 413s EnforcedStyle is `forbid_logical_operators` 413s registers an offense when using only `and` 413s registers an offense when using only `&&` 413s registers an offense when using only `||` 413s registers an offense when using `&&` followed by || 413s does not register an offense when not using logical operator 413s does not register an offense when not used in unless 413s registers an offense when using only `or` 413s does not register an offense when using if 413s 413s RuboCop::Cop::Lint::OrderedMagicComments 413s does not register an offense when using `encoding` magic comment is next of shebang 413s registers an offense and corrects when `-*- encoding : ascii-8bit -*-` magic comment does not precede all other magic comments 413s does not register an offense when using `frozen_string_literal` magic comment only 413s does not register an offense when using `encoding: Encoding::SJIS` Hash notation after`frozen_string_literal` magic comment 413s registers an offense and corrects when `coding` magic comment does not precede all other magic comments 413s does not register an offense when using `encoding` magic comment only 413s does not register an offense when using `encoding` magic comment is first line 413s registers an offense and corrects when using `frozen_string_literal` magic comment is next of shebang 413s registers an offense and corrects when an `encoding` magic comment does not precede all other magic comments 413s 413s RuboCop::Cop::Bundler::GemComment 413s when investigating Ruby files 413s does not register any offenses 413s when investigating Gemfiles 413s when the "OnlyFor" option is set 413s including "version_specifiers" 413s when a gem is uncommented and has no version specified 413s does not register an offense 413s when a gem is uncommented and has multiple version specifiers 413s registers an offense 413s when a gem is uncommented and has options but no version specifiers 413s does not register an offense 413s when a gem is uncommented and has a version specifier 413s registers an offense 413s when a gem is uncommented and has a version specifier along with other options 413s registers an offense 413s when a gem is commented 413s does not register an offense 413s including one or more option names but not "version_specifiers" 413s when a gem is uncommented and has a version specifier but none of the specified options 413s does not register an offense 413s when a gem is uncommented and has one of the specified options 413s registers an offense 413s when a gem is uncommented and contains only options not specified 413s does not register an offense 413s including "restrictive_version_specifiers" 413s when a gem is uncommented and has a non-minimum version specifier with a leading space 413s registers an offense 413s when a gem is commented 413s does not register an offense 413s when a gem is uncommented and has a pessimistic version specifier 413s registers an offense 413s when a gem is uncommented and has only a minimum version specifier 413s does not register an offense 413s when a gem is uncommented and has no version specified 413s does not register an offense 413s when a gem is uncommented and has both minimum and non-minimum version specifier 413s registers an offense 413s when a gem is uncommented and has a version specifier without operator 413s registers an offense 413s when a gem is uncommented and has a version specifier along with other options 413s registers an offense 413s when a gem is uncommented and has options but no version specifiers 413s does not register an offense 413s when a gem is uncommented and has a frozen version specifier 413s registers an offense 413s and the file is empty 413s does not register any offenses 413s and a gem has no comment 413s registers an offense 413s and the file contains source and group 413s does not register any offenses 413s and the gem is permitted 413s does not register any offenses 413s and the gem is commented 413s does not register any offenses 413s and the gem is commented on the same line 413s does not register any offenses 413s 413s RuboCop::Cop::Style::StructInheritance 413s registers an offense when extending instance of `Struct` when there is a comment before class declaration 413s registers an offense when extending instance of Struct 413s registers an offense when extending instance of ::Struct 413s registers an offense when extending instance of ::Struct with do ... end 413s accepts plain class 413s accepts assignment to block form of Struct.new 413s accepts extending DelegateClass 413s accepts assignment to Struct.new 413s registers an offense when extending instance of Struct without `do` ... `end` and class body is empty 413s accepts assignment to ::Struct.new 413s registers an offense when extending instance of Struct without `do` ... `end` and class body is empty and single line definition 413s registers an offense when extending instance of Struct with do ... end 413s 413s RuboCop::Cop::Layout::MultilineBlockLayout 413s registers an offense and corrects a line-break within arguments 413s registers offenses when there are not too many parameters to fit on one line 413s registers an offense and corrects for missing newline in {} block w/o params 413s does not remove a trailing comma when only one argument is present 413s registers an offense for missing newline in do/end block w/o params 413s registers an offense and corrects for missing newline in {} block with params 413s registers an offense and corrects line-break before arguments 413s doesn't move end keyword in a way which causes infinite loop in combination with Style/BlockEndNewLine 413s does not register offenses when there is a newline for {} block 413s registers an offense and corrects for missing newline in do/end block with params 413s autocorrects nested parens correctly 413s registers an offense and corrects a line break within destructured arguments 413s autocorrects in more complex case with lambda and assignment, and aligns the next line two spaces out from the start of the block 413s registers an offense and corrects line-break before arguments with empty block 413s registers an offense and corrects for missing newline before opening parenthesis `(` for block body 413s does not error out when the block is empty 413s registers offenses and corrects for lambdas 413s registers an offense and corrects line-break within arguments 413s considers the extra space required to join the lines together 413s does not register an offense for one-line do/end blocks 413s registers offenses and corrects for new lambda literal syntax 413s does not register an offense for one-line {} blocks 413s registers an offense and corrects a do/end block with a mult-line body 413s does not register offenses when there is a newline for do/end block 413s does not register offenses when there are too many parameters to fit on one line 413s Ruby 2.7 413s registers an offense and corrects for missing newline in {} block w/o params 413s registers an offense and corrects for missing newline in do/end block with params 413s 413s RuboCop::Cop::Lint::EmptyClass 413s does not register an offense when metaclass is not empty 413s does not register an offense when class is not empty 413s registers an offense for empty object metaclass 413s registers an offense for empty class 413s registers an offense when empty metaclass contains only comments 413s does not register an offense when empty has a parent 413s registers an offense for empty class metaclass 413s when AllowComments is true 413s does not register an offense when empty class contains only comments 413s does not register an offense when empty metaclass contains only comments 413s 413s RuboCop::Cop::VariableForce::Reference 414s .new 414s when non variable reference node is passed 414s raises error 414s 414s RuboCop::Cop::Layout::EmptyComment 414s does not register an offense when using comment text 414s register offenses and correct multiple aligned empty comments next to code 414s does not register an offense when using comment text with leading and trailing blank lines 414s register offenses and correct multiple empty comments next to code 414s registers an offense and corrects using multiline empty comments 414s registers an offense and corrects an empty comment without space next to code 414s registers an offense and corrects using an empty comment next to code 414s registers an offense and corrects using single line empty comment 414s disallow margin comment 414s registers an offense and corrects using margin comment 414s disallow border comment 414s registers an offense and corrects using border comment 414s registers an offense and corrects using single line empty comment 414s allow border comment (default) 414s does not register an offense when using border comment 414s allow margin comment (default) 414s does not register an offense when using margin comment 414s 414s RuboCop::Cop::Style::ModuleFunction 414s when enforced style is `forbidden` 414s accepts `extend self` in a class 414s registers an offense for `module_function` without an argument 414s registers an offense for `extend self` 414s in a module with private methods 414s in a module with declarative private 414s in a module 414s when enforced style is `module_function` 414s registers an offense for `extend self` in a module 414s accepts for `extend self` in a module with private methods 414s accepts `extend self` in a class 414s accepts for `extend self` in a module with declarative private 414s when enforced style is `extend_self` 414s registers an offense for `module_function` without an argument 414s accepts module_function with an argument 414s 414s RuboCop::Cop::Layout::InitialIndentation 414s accepts unindented comment + assignment 414s registers an offense for indented method definition 414s registers an offense and corrects indented assignment disregarding comment 414s accepts unindented method definition 414s accepts empty file 414s for a file with byte order mark 414s registers an offense and corrects indented method call after comment 414s accepts unindented method call 414s registers an offense and corrects indented method call 414s 414s RuboCop::Formatter::WorstOffendersFormatter 414s #finished 414s when there are many offenses 414s sorts by offense count first and then by cop name 414s 414s RuboCop::Formatter::MarkdownFormatter 414s outputs the result in Markdown 415s outputs the cached result in Markdown 415s 415s RuboCop::Cop::InternalAffairs::NodeMatcherDirective 415s does not register an offense if the node matcher already has a directive 415s retains indentation properly when correcting 415s registers an offense if the matcher does not have a directive but has preceding comments 415s autocorrects with the right arguments if the pattern includes arguments 415s does not insert a blank line if one already exists 415s inserts a blank line between multiple pattern matchers 415s registers an offense if the directive name does not match the actual name 415s registers an offense if the matcher does not have a directive and a method call is used for a pattern argument 415s does not register an offense if called with a dynamic method name 415s does not register an offense if the node matcher already has a directive 415s retains indentation properly when correcting 415s inserts a blank line between multiple multi-line pattern matchers 415s registers an offense if the matcher does not have a directive 415s registers an offense if the matcher does not have a directive but has preceding comments 415s registers an offense if the matcher has multiple directives 415s retains indentation properly when inserting 415s does not register an offense if called with a dynamic method name 415s registers an offense if the matcher does not have a directive 415s inserts a blank line between multiple pattern matchers 415s inserts a blank line between multiple multi-line pattern matchers 415s registers an offense if the matcher has multiple directives 415s autocorrects with the right arguments if the pattern references a non-contiguous argument 415s does not insert a blank line if one already exists 415s autocorrects with the right arguments if the pattern references a non-contiguous argument 415s autocorrects with the right arguments if the pattern includes arguments 415s does not register an offense if the directive is in a comment block 415s does not register an offense if the directive is in a comment block 415s retains indentation properly when inserting 415s registers an offense if the matcher does not have a directive and a method call is used for a pattern argument 415s registers an offense if the directive name does not match the actual name 415s 415s RuboCop::Cop::Layout::SpaceBeforeBlockBraces 415s with space before empty braces not allowed 415s accepts empty braces without outer space 415s registers an offense and corrects empty braces 415s when EnforcedStyle is space 415s registers an offense and corrects left brace without outer space 415s registers an offense and corrects multiline block where the left brace has no outer space 415s registers an offense and corrects opposite + correct style 415s accepts braces surrounded by spaces 415s Ruby 2.7 415s registers an offense and corrects multiline block where the left brace has no outer space 415s registers an offense and corrects opposite + correct style 415s with space before empty braces allowed 415s registers an offense and corrects empty braces 415s accepts empty braces with outer space 415s with invalid value for EnforcedStyleForEmptyBraces 415s fails with an error 415s when EnforcedStyle is no_space 415s accepts left brace without outer space 415s registers an offense and corrects braces surrounded by spaces 415s registers an offense and corrects correct + opposite style 415s Ruby 2.7 415s registers an offense and corrects correct + opposite style 415s with `EnforcedStyle` of `Style/BlockDelimiters` 415s accepts left brace without outer space 415s 415s RuboCop::Cop::Style::CollectionMethods 415s registers an offense for find_all with proc param 415s registers an offense for member? with proc param 415s registers an offense for find_all with block 415s accepts find_all without a block 415s registers an offense for member? with an argument and proc param 415s registers an offense for detect with proc param 415s registers an offense for inject with block 415s accepts detect without a block 415s registers an offense for collect with an argument and proc param 415s registers an offense for member? with block 415s registers an offense for collect with block 415s registers an offense for collect with proc param 415s registers an offense for find_all with an argument and proc param 415s accepts member? without a block 415s registers an offense for detect with block 415s registers an offense for detect with an argument and proc param 415s registers an offense for inject with proc param 415s registers an offense for inject with an argument and proc param 415s accepts inject without a block 415s accepts collect without a block 415s Ruby 2.7 415s registers an offense for find_all with numblock 415s for methods that do not accept a symbol as implicit block 415s does not register an offense for a final symbol param 415s does not register an offense for a final symbol param with extra args 415s for methods that accept a symbol as implicit block 415s registers an offense with an argument and final symbol param 415s registers an offense with a final symbol param 415s Ruby 2.7 415s registers an offense for inject with numblock 415s Ruby 2.7 415s registers an offense for collect with numblock 415s Ruby 2.7 415s registers an offense for detect with numblock 415s Ruby 2.7 415s registers an offense for member? with numblock 415s 415s RuboCop::Cop::Style::SymbolProc 415s registers an offense when receiver is some value and using `reject` with a block 415s registers an offense for a block when method in body is unary -/+ 415s autocorrects multiple aliases with symbols as proc 415s accepts Proc.new with 1 argument 415s registers an offense for safe navigation operator 415s does not register an offense when receiver is a hash literal and using `select` with a block 415s accepts block with more than 1 expression in body 415s does not register an offense when receiver is a array literal and using `min` with a block 415s registers an offense when receiver is an array literal and using `select` with a block 415s accepts block with more than 1 arguments 415s accepts block with a block argument 415s accepts block with no arguments 415s autocorrects correctly when args have a trailing comma 415s registers an offense for a block with parameterless method call on param 415s does not register an offense when receiver is a array literal and using `max` with a block 415s accepts a block with an unused argument with an method call 415s accepts ::Proc.new with 1 argument 415s does not crash with a bare method call 415s does not register an offense when receiver is a hash literal and using `reject` with a block 415s registers an offense when receiver is some value and using `select` with a block 415s autocorrects correctly when there are no arguments in parentheses 415s accepts block when method in body is not called on block arg 415s registers an offense when receiver is a hash literal and using `max` with a block 415s accepts lambda with 1 argument 415s accepts a block with an unused argument with an lvar 415s registers an offense when receiver is a hash literal and using `min` with a block 415s accepts block with splat params 415s registers an offense when receiver is an array literal and using `reject` with a block 415s accepts proc with 1 argument 415s accepts block with adding a comma after the sole argument 415s accepts empty block body 415s when AllowedPatterns is enabled 415s accepts ignored method 415s when `super` has no arguments 415s registers an offense 415s when `AllowMethodsWithArguments: false` 415s when method has arguments 416s registers an offense 416s when `super` has arguments 416s registers an offense 416s when `AllowMethodsWithArguments: true` 416s when `super` has arguments 416s does not register an offense 416s when method has arguments 416s does not register an offense 416s when method has no arguments 416s registers an offense 416s when the method has arguments 416s registers an offense 416s numblocks 416s accepts lambda with 1 numbered parameter 416s registers an offense for a block with a numbered parameter 416s does not register an offense when receiver is a hash literal and using `select` with a numblock 416s does not register an offense when receiver is a array literal and using `max` with a numblock 416s accepts block with multiple numbered parameters 416s registers an offense when receiver is an hash literal and using `max` with a numblock 416s registers an offense when receiver is an array literal and using `select` with a numblock 416s accepts Proc.new with 1 numbered parameter 416s does not register an offense when receiver is a array literal and using `min` with a numblock 416s registers an offense when receiver is some value and using `select` with a numblock 416s does not register an offense when receiver is a hash literal and using `reject` with a numblock 416s registers an offense when receiver is an hash literal and using `min` with a numblock 416s accepts proc with 1 numbered parameter 416s accepts block with only second numbered parameter 416s accepts ::Proc.new with 1 numbered parameter 416s registers an offense when receiver is some value and using `reject` with a numblock 416s registers an offense when receiver is an array literal and using `reject` with a numblock 416s when AllowedMethods is enabled 416s accepts ignored method 416s AllowComments: true 416s registers an offense for a block with parameterless method call on paramand not contains a comment 416s accepts block with parameterless method call on param and contains a comment 416s 416s RuboCop::Cop::Lint::PercentStringArray 416s with invalid byte sequence in UTF-8 416s add an offense and corrects when tokens contain quotes 416s accepts if tokens contain invalid byte sequence only 416s detecting quotes or commas in a %w/%W string 416s adds an offense and corrects when tokens contain quotes and are comma separated 416s adds an offense and corrects when there are no quotes but one comma 416s accepts likely false positive %W(' " ! = # ,) 416s accepts likely false positive %w(#{a} b) 416s adds an offense and corrects when tokens contain both types of quotes 416s adds an offense and corrects when one token is quoted but there are no commas 416s adds an offense and corrects when tokens contain both types of quotes 416s accepts likely false positive %w(' ") 416s accepts likely false positive :"#{a}" 416s accepts likely false positive :"#{a}" 416s accepts likely false positive %W(#{a} b) 416s adds an offense and corrects when tokens contain quotes and are comma separated 416s accepts likely false positive %W(' ") 416s adds an offense and corrects when there are no quotes but one comma 416s accepts likely false positive %w(' " ! = # ,) 416s accepts tokens without quotes or commas 416s adds an offense and corrects when one token is quoted but there are no commas 416s accepts tokens without quotes or commas 416s with binary encoded source 416s accepts if tokens contain no quotes 416s adds an offense and corrects when tokens contain quotes 416s 416s RuboCop::Cop::Style::Copyright 416s does not register an offense when the notice is present 416s does not register an offense when the notice is not the first comment 416s does not register an offense when the notice is in a block comment 416s when the copyright notice is missing and the source code file starts with shebang and an encoding comment 416s adds an offense 416s when the source code file is empty 416s adds an offense 416s when the copyright notice is missing and the source code file starts with a shebang 416s adds an offense 416s when the copyright notice is missing 416s fails to autocorrect when the AutocorrectNotice does not match the Notice pattern 416s fails to autocorrect if no AutocorrectNotice is given 416s adds an offense 416s when the copyright notice comes after any code 416s adds an offense 416s when the copyright notice is missing and the source code file starts with an encoding comment 416s adds an offense 416s 416s RuboCop::Cop::Style::StaticClass 416s does not register an offense when class has `class << self` with macro calls 416s does not register an offense for modules 416s does not register an offense when class has macro-like method 416s registers an offense when class has `class << self` with class methods 416s does not register an offense when class has a parent 416s registers an offense when class has assignments along with class methods 416s does not register an offense when class has instance method 416s registers an offense when class extends a module 416s registers an offense when class has only class method 416s does not register an offense when class is empty 416s does not register an offense when class includes/prepends a module 416s 416s RuboCop::Cop::Style::NumberedParameters 416s >= Ruby 2.7 416s EnforcedStyle: disallow 416s does an offense when using numbered parameters even with single-line blocks 416s EnforcedStyle: allow_single_line 416s does not register an offense when using numbered parameters with single-line blocks 416s registers an offense when using numbered parameters with multi-line blocks 416s 416s RuboCop::StringInterpreter 416s .interpret 416s handles hex 416s handles extended unicode 416s handles unicode 416s handles octal 416s behaves like simple escape 416s handles \\n 416s behaves like simple escape 416s handles \\v 416s behaves like simple escape 416s handles \\a 416s behaves like simple escape 416s handles \\e 416s behaves like simple escape 416s handles \\s 416s behaves like simple escape 416s handles \\f 416s behaves like simple escape 416s handles \\t 416s behaves like simple escape 416s handles \\r 416s behaves like simple escape 416s handles \\b 416s 416s RuboCop::Cop::Style::EmptyElse 416s configured to warn on empty else and nil in else 416s given an if-statement 416s with no else-clause 416s doesn't register an offense 416s with an else-clause containing only the literal nil 416s with one elsif 416s behaves like autocorrect 416s MissingElse is case 416s does autocorrection 416s MissingElse is if 416s does not autocorrect 416s MissingElse is disabled 416s does autocorrection 416s MissingElse is both 416s does not autocorrect 416s with multiple elsifs 416s behaves like autocorrect 416s MissingElse is if 416s does not autocorrect 416s MissingElse is case 416s does autocorrection 416s MissingElse is both 416s does not autocorrect 416s MissingElse is disabled 416s does autocorrection 416s with an else-clause with side-effects 416s doesn't register an offense 416s with a completely empty else-clause 416s behaves like autocorrect 416s MissingElse is both 416s does not autocorrect 416s MissingElse is case 416s does autocorrection 416s MissingElse is if 416s does not autocorrect 416s MissingElse is disabled 416s does autocorrection 416s given an unless-statement 416s with an else-clause with side-effects 416s doesn't register an offense 416s with no else-clause 416s doesn't register an offense 416s with a completely empty else-clause 416s behaves like autocorrect 416s MissingElse is disabled 416s does autocorrection 416s MissingElse is both 416s does not autocorrect 416s MissingElse is case 416s does autocorrection 416s MissingElse is if 416s does not autocorrect 416s with an else-clause containing only the literal nil 416s behaves like autocorrect 416s MissingElse is if 416s does not autocorrect 416s MissingElse is case 416s does autocorrection 416s MissingElse is disabled 416s does autocorrection 416s MissingElse is both 416s does not autocorrect 416s given a case statement 416s with a completely empty else-clause 416s behaves like autocorrect 416s MissingElse is disabled 416s does autocorrection 416s MissingElse is case 416s does not autocorrect 416s MissingElse is if 416s does autocorrection 416s MissingElse is both 416s does not autocorrect 416s with no else-clause 416s doesn't register an offense 416s with an else-clause containing only the literal nil 416s behaves like autocorrect 416s MissingElse is case 416s does not autocorrect 416s MissingElse is both 416s does not autocorrect 416s MissingElse is if 416s does autocorrection 416s MissingElse is disabled 416s does autocorrection 416s with an else-clause with side-effects 416s doesn't register an offense 416s configured to warn on nil in else 416s given a case statement 416s with an else-clause with side-effects 416s doesn't register an offense 416s with a completely empty else-clause 416s doesn't register an offense 416s with an else-clause containing only the literal nil 416s using semicolons 416s behaves like autocorrect 416s MissingElse is both 416s does not autocorrect 416s MissingElse is disabled 416s does autocorrection 416s MissingElse is if 416s does autocorrection 416s MissingElse is case 416s does not autocorrect 416s when the result is assigned to a variable 416s behaves like autocorrect 416s MissingElse is case 416s does not autocorrect 416s MissingElse is if 416s does autocorrection 416s MissingElse is disabled 416s does autocorrection 416s MissingElse is both 416s does not autocorrect 416s with no else-clause 417s doesn't register an offense 417s given an unless-statement 417s with no else-clause 417s doesn't register an offense 417s with an else-clause with side-effects 417s doesn't register an offense 417s with an else-clause containing only the literal nil 417s behaves like autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is both 417s does not autocorrect 417s MissingElse is case 417s does autocorrection 417s MissingElse is if 417s does not autocorrect 417s with a completely empty else-clause 417s doesn't register an offense 417s given an if-statement 417s with an else-clause containing only the literal nil using semicolons 417s with multiple elsifs 417s behaves like autocorrect 417s MissingElse is both 417s does not autocorrect 417s MissingElse is if 417s does not autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is case 417s does autocorrection 417s with one elsif 417s behaves like autocorrect 417s MissingElse is if 417s does not autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is case 417s does autocorrection 417s MissingElse is both 417s does not autocorrect 417s with no else-clause 417s doesn't register an offense 417s with an else-clause containing only the literal nil 417s when the result is assigned to a variable 417s behaves like autocorrect 417s MissingElse is case 417s does autocorrection 417s MissingElse is if 417s does not autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is both 417s does not autocorrect 417s when standalone 417s behaves like autocorrect 417s MissingElse is if 417s does not autocorrect 417s MissingElse is case 417s does autocorrection 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is both 417s does not autocorrect 417s with an else-clause with side-effects 417s doesn't register an offense 417s with a completely empty else-clause 417s doesn't register an offense 417s configured to warn on empty else 417s given an unless-statement 417s with an else-clause containing only the literal nil 417s doesn't register an offense 417s with no else-clause 417s doesn't register an offense 417s with an else-clause with side-effects 417s doesn't register an offense 417s with a completely empty else-clause 417s behaves like autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is if 417s does not autocorrect 417s MissingElse is both 417s does not autocorrect 417s MissingElse is case 417s does autocorrection 417s given a case statement 417s with a completely empty else-clause 417s behaves like autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is if 417s does autocorrection 417s MissingElse is case 417s does not autocorrect 417s MissingElse is both 417s does not autocorrect 417s with an else-clause with side-effects 417s doesn't register an offense 417s with no else-clause 417s doesn't register an offense 417s with an else-clause containing only the literal nil 417s doesn't register an offense 417s given an if-statement 417s with an else-clause with side-effects 417s doesn't register an offense 417s in an if-statement 417s behaves like autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is case 417s does autocorrection 417s MissingElse is both 417s does not autocorrect 417s MissingElse is if 417s does not autocorrect 417s with no else-clause 417s doesn't register an offense 417s with an else-clause containing only the literal nil 417s doesn't register an offense 417s with a completely empty else-clause 417s using semicolons 417s behaves like autocorrect 417s MissingElse is case 417s does autocorrection 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is if 417s does not autocorrect 417s MissingElse is both 417s does not autocorrect 417s not using semicolons 417s behaves like autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is both 417s does not autocorrect 417s MissingElse is if 417s does not autocorrect 417s MissingElse is case 417s does autocorrection 417s with an empty comment 417s does not autocorrect 417s when `AllowComments: true` 417s given an if-statement 417s with not comment and nil else-clause 417s registers an offense 417s with comment and empty else-clause 417s doesn't register an offense 417s with comment and nil else-clause 417s doesn't register an offense 417s with not comment and empty else-clause 417s registers an offense 417s given a case statement 417s with comment and nil else-clause 417s doesn't register an offense 417s with comment and empty else-clause 417s doesn't register an offense 417s with not comment and empty else-clause 417s registers an offense 417s with not comment and nil else-clause 417s registers an offense 417s given an unless-statement 417s with comment and nil else-clause 417s doesn't register an offense 417s with not comment and nil else-clause 417s registers an offense 417s with not comment and empty else-clause 417s registers an offense 417s with comment and empty else-clause 417s doesn't register an offense 417s with nested if and case statement 417s behaves like autocorrect 417s MissingElse is both 417s does not autocorrect 417s MissingElse is disabled 417s does autocorrection 417s MissingElse is if 417s does autocorrection 417s MissingElse is case 417s does not autocorrect 417s 417s RuboCop::Cop::Lint::ShadowedException 417s modifier rescue 417s accepts rescue in its modifier form 417s multiple rescues 417s accepts rescuing exceptions in order of level with multiple exceptions in a group with custom exceptions 417s accepts many (>= 7) rescue groups 417s accepts rescuing exceptions in order of level with multiple exceptions in a group 417s registers an offense rescuing Exception before an unknown exceptions 417s accepts rescuing a known exception before an unknown exceptions 417s accepts rescuing exceptions in order of level 417s registers an offense for two exceptions when there are multiple levels of exceptions in the same rescue 417s registers an offense rescuing out of order exceptions when there is an ensure 417s accepts rescuing a known exception after an unknown exceptions 417s registers an offense when a higher level exception is rescued before a lower level exception when there are multiple exceptions rescued in a group 417s accepts rescuing a known exception between unknown exceptions 417s ignores expressions of non-const 417s registers an offense when a higher level exception is rescued before a lower level exception 417s accepts rescuing custom exceptions in multiple rescue groups 417s splat arguments 417s accepts splat arguments passed to multiple rescues 417s registers an offense for splat arguments rescued after rescuing Exception 417s does not register an offense for splat arguments rescued after rescuing a known exception 417s exceptions from different ancestry chains 417s accepts rescuing exceptions in one order 417s accepts rescuing exceptions in another order 417s last rescue does not specify exception class 417s highlights range ending at rescue keyword 417s single rescue 417s accepts rescuing a custom exception and a standard exception 417s registers an offense rescuing exceptions that are ancestors of each other 417s accepts rescuing a single custom exception 417s accepts rescuing multiple custom exceptions 417s registers an offense for the same exception multiple times 417s accepts rescuing a multiple exceptions that are not ancestors that have an else 417s accepts an empty rescue 417s registers an offense rescuing Exception with any other error or exception 417s accepts rescuing a single exception that has an else 417s accepts rescuing a single exception 417s rescue a exception without causing constant name deprecation warning 417s accepts rescuing a single exception that has an ensure 417s accepts splat arguments passed to rescue 417s accepts rescuing a single exception that is assigned to a variable 417s accepts rescue containing multiple same error code exceptions 417s when there are multiple levels of exceptions in the same rescue 417s registers an offense for more than two exceptions 417s registers an offense for two exceptions 417s 417s RuboCop::Cop::Style::NestedParenthesizedCalls 417s on a permitted method 417s doesn't register an offense 417s on a deeply nested argument 417s doesn't register an offense 417s on an aref, nested in a parenthesized method call 417s doesn't register an offense 417s on a non-parenthesized method call 417s doesn't register an offense 417s on a non-parenthesized call nested in a parenthesized one 417s with multiple arguments to the nested call 417s registers an offense 417s with a single argument to the nested call 417s registers an offense 417s when using safe navigation operator 417s registers an offense 417s on a nested, parenthesized method call 417s doesn't register an offense 417s on a call to a setter method 417s doesn't register an offense 417s backslash newline in method call 417s registers an offense 417s on a call with no arguments, nested in a parenthesized one 417s doesn't register an offense 417s on a method call with no arguments 417s doesn't register an offense 417s 417s RuboCop::Cop::Style::FileRead 417s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'r+') 417s registers an offense for and corrects the `File.open` with inline read block (mode 'r+t') 417s registers an offense for and corrects `File.open(filename, 'r+b').read` 417s registers an offense for and corrects `File.open(filename, 'rt').read` 417s registers an offense for and corrects the `File.open` with inline read block (mode 'r+') 417s does not register an offense when not reading from the block variable 417s registers an offense for and corrects the `File.open` with multiline read block (mode 'r+t') 417s registers an offense for and corrects `File.open(filename, 'rb').read` 417s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'r') 417s registers an offense for and corrects the `File.open` with multiline read block (mode 'rt') 417s registers an offense for and corrects the `File.open` with symbolic read proc (implicit text mode) 417s registers an offense for and corrects `File.open(filename, 'r+').read` 417s registers an offense for and corrects the `File.open` with inline read block (mode 'rt') 417s registers an offense for and corrects the `File.open` with multiline read block (mode 'r+') 417s registers an offense for and corrects `File.open(filename, 'r').read` 417s registers an offense for and corrects `File.open(filename, 'r+t').read` 418s registers an offense for and corrects the `File.open` with multiline read block (mode 'r') 418s registers an offense for and corrects the `File.open` with inline read block (implicit text mode) 418s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'r+t') 418s registers an offense for and corrects the `File.open` with inline read block (mode 'r+b') 418s registers an offense for and corrects the `File.open` with multiline read block (mode 'rb') 418s registers an offense for and corrects `::File.open(filename).read` 418s registers an offense for and corrects the `File.open` with multiline read block (mode 'r+b') 418s registers an offense for and corrects `File.open(filename).read` 418s registers an offense for and corrects the `File.open` with multiline read block (implicit text mode) 418s registers an offense for and corrects the `File.open` with inline read block (mode 'r') 418s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'r+b') 418s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'rb') 418s registers an offense for and corrects the `File.open` with symbolic read proc (mode 'rt') 418s registers an offense for and corrects the `File.open` with inline read block (mode 'rb') 418s 418s RuboCop::Cop::RangeHelp 418s source indicated by #range_by_whole_lines 418s with a whole line except newline selected 418s without include_final_newline 418s is expected to eq "puts 'example'" 418s with include_final_newline 418s is expected to eq "puts 'example'\n" 418s with end of one line 418s with include_final_newline 418s is expected to eq "puts 'example'\n" 418s without include_final_newline 418s is expected to eq "puts 'example'" 418s with a whole line plus beginning of next line 418s without include_final_newline 418s is expected to eq "puts 'example'\nputs 'another example'" 418s with include_final_newline 418s is expected to eq "puts 'example'\nputs 'another example'\n" 418s with parts of two lines 418s with include_final_newline 418s is expected to eq "puts 'example'\nputs 'another example'\n" 418s without include_final_newline 418s is expected to eq "puts 'example'\nputs 'another example'" 418s with parts of four lines 418s without include_final_newline 418s is expected to eq "puts 'example'\nputs 'another example'\n\nsomething_else" 418s with include_final_newline 418s is expected to eq "puts 'example'\nputs 'another example'\n\nsomething_else\n" 418s with beginning of one line 418s with include_final_newline 418s is expected to eq "puts 'another example'\n" 418s without include_final_newline 418s is expected to eq "puts 'another example'" 418s when source doesn't end with a newline 418s without include_final_newline 418s is expected to eq "newline_at_end" 418s with include_final_newline 418s is expected to eq 30 418s is expected to eq "newline_at_end" 418s when part of a single line is selected 418s without include_final_newline 418s is expected to eq "puts 'example'" 418s with include_final_newline 418s is expected to eq "puts 'example'\n" 418s #range_with_comments_and_lines 418s returns a range that includes related comments and whole lines 418s source indicated by #range_with_surrounding_comma 418s when side is :right 418s is expected to eq "Error," 418s when side is :both 418s is expected to eq ",Error," 418s when side is :left 418s is expected to eq ",Error" 418s source indicated by #range_with_surrounding_space 418s when passing range as a kwarg 418s behaves like works with various `side`s 418s when side is :left 418s is expected to eq " a(2)" 418s when side is :both 418s is expected to eq " a(2) " 418s when side is :right 418s is expected to eq "a(2) " 418s when passing range as a positional argument 418s behaves like works with various `side`s 418s when side is :both 418s is expected to eq " a(2) " 418s when side is :right 418s is expected to eq "a(2) " 418s when side is :left 418s is expected to eq " a(2)" 418s 418s RuboCop::Cop::Style::SoleNestedConditional 418s registers an offense and corrects when `if` foo && bar do_something end `if` baz 418s registers an offense and corrects when using nested `unless` within `unless` 418s does not register an offense when no nested conditionals 418s registers an offense and corrects when `if` foo do_something end `if` bar && baz 418s registers an offense and corrects when using `||` in the outer condition and nested modifier condition 418s does not register an offense when using nested conditional is not the whole body 418s registers an offense and corrects when `if` foo do_something end `unless` bar 418s registers an offense and corrects for multiple nested conditionals with using method call outer condition by omitting parentheses 418s registers an offense and corrects when using guard conditional with outer comment 418s registers an offense and corrects when using nested conditional and branch contains a comment 418s registers an offense and corrects when using `unless` and method arguments without parentheses in the outer condition and nested modifier condition 418s registers an offense and corrects for multiple nested conditionals 418s registers an offense and corrects when `if` foo && bar do_something end `unless` baz 418s registers an offense and corrects when using `unless` and `&&` without parens in the outer condition and nested modifier condition 418s registers an offense and corrects when using nested `unless` modifier multiple conditional 418s registers an offense and corrects when using nested `unless` modifier conditional 418s registers an offense and corrects when using nested `if` within `if foo = bar` 418s registers an offense and corrects when using nested `if` within `unless foo == bar` 418s registers an offense and corrects when using nested `unless` modifier with a single expression condition 418s registers an offense and corrects when using `unless` and `||` without parens in the outer condition and nested modifier condition 418s registers an offense and corrects when `unless` foo do_something end `if` bar 418s does not register an offense when nested conditional has an `else` branch 418s registers an offense and corrects when nested `||` operator condition 418s does not register an offense for nested conditionals when outer conditional has an `else` branch 418s registers an offense and corrects when using `unless` and multiple method arguments with parenthesesin the outer condition and nested modifier condition 418s registers an offense and corrects when using nested `if` within `if` 418s registers an offense and corrects when there are outer and inline comments 418s registers an offense and corrects when using nested `if` within `unless` 418s registers an offense and corrects when using `||` in the outer condition 418s registers an offense and corrects when using `unless` and `||` and parens in the outer condition and nested modifier condition 418s registers an offense and corrects when using nested `if` modifier conditional 418s registers an offense and corrects when using nested `unless` within `if` 418s does not register an offense when using nested modifier on value assigned in multiple conditions 418s registers an offense and corrects when `if` foo do_something end `if` bar 418s does not register an offense when using nested modifier on value assigned in single condition 418s does not register an offense when using nested conditional within `elsif` 418s registers an offense and corrects when `if` foo do_something end `unless` bar && baz 418s registers an offense and corrects when using `unless` and method arguments with parentheses in the outer condition and nested modifier condition 418s registers an offense and corrects when nested `||` operator modifier condition 418s registers an offense and corrects when `unless` foo && bar do_something end `if` baz 418s does not register an offense when using nested ternary within conditional 418s when AllowModifier is true 418s does not register an offense when using nested modifier conditional 418s when the inner condition has a send node with parens 418s in guard style 418s registers an offense and corrects 418s in modifier style 418s registers an offense and corrects 418s when the inner condition has a send node without parens 418s in guard style 418s registers an offense and corrects 418s in modifier style 418s registers an offense and corrects 418s with a `csend` node 418s registers an offense and corrects 418s with a block 418s registers an offense and corrects 418s when disabling `Style/IfUnlessModifier` 418s registers an offense and corrects when there are outer and inline comments 418s registers an offense and corrects when using nested conditional and branch contains a comment 418s 418s RuboCop::Cop::Style::AccessorGrouping 418s when EnforcedStyle is grouped 418s registers an offense and corrects when using separated accessors 418s registers an offense and corrects when using separated accessors with different access modifiers 418s registers an offense and corrects when using separated accessors within eigenclass 418s registers offense and corrects if at least two separate accessors without comments 418s does not register an offense when the same accessor is given more than once in the same statement 418s registers an offense and correct if the same accessor is listed twice 418s does not register an offense when using grouped accessors 418s does not register offense for accessors with comments 418s when EnforcedStyle is separated 418s does not register an offense for grouped accessors with comments 418s does not register an offense when using separated accessors 418s registers an offense and corrects when using grouped accessors with different access modifiers 418s registers an offense and corrects when the same accessor is given more than once in the same statement 418s registers an offense and corrects when using grouped accessors within eigenclass 418s registers an offense and corrects when using grouped accessors 418s does not register an offense if the same accessor is listed twice 418s when there are comments for attributes 418s registers and corrects an offense 418s 418s RuboCop::Cop::Lint::UselessRuby2Keywords 418s when `ruby2_keywords` is given a `def` node 418s registers an offense for a method with only keyword args 419s does not register an offense for a method with a `restarg` and `blockarg` 419s registers an offense for a method with a `restarg` and keyword args 419s registers an offense for a method with only `kwrestarg` 419s does not register an offense for a method with a `restarg` and no `kwrestarg` 419s registers an offense for a method with a `restarg` and `kwrestarg` 419s registers an offense for a method without arguments 419s does not register an offense for a method with a `restarg` other optional args 419s registers an offense for a method with only positional args 419s registers an offense for a method with a `restarg` and `kwoptarg` 419s does not register an offense for a method with a `restarg` other positional args 419s with a dynamically defined method 419s does not register an offense when the method has a `restarg` and a `shadowarg` 419s does not register an offense for an allowed `ruby2_keywords` 419s registers an offense for an unnecessary `ruby2_keywords` 419s registers an offense when the method has a `shadowarg` 419s registers an offense for a numblock 419s when `ruby2_keywords` is given a symbol 419s registers an offense for an unnecessary `ruby2_keywords` 419s does not register an offense when the `def` is at a different depth 419s does not register an offense for an allowed def 419s does not register an offense when there is no `def` 419s 419s RuboCop::ConfigStore 419s .for 419s always uses config specified in command line 419s when no config specified in command line 419s searches for config path if not available in cache 419s gets config path and config from cache if available 419s when --force-default-config option is specified 419s uses default config without searching for config path 419s 419s RuboCop::Cop::Lint::BinaryOperatorWithIdenticalOperands 419s registers an offense for `<=>` with duplicate operands 419s registers an offense for `>=` with duplicate operands 419s does not register an offense for `*` with duplicate operands 419s registers an offense for `==` with duplicate operands 419s registers an offense for `===` with duplicate operands 419s registers an offense for `>` with duplicate operands 419s does not register an offense for `>>` with duplicate operands 419s does not register an offense when using arithmetic operator with numerics 419s registers an offense for `<` with duplicate operands 419s registers an offense for `/` with duplicate operands 419s does not register an offense when using binary operator with different operands 419s registers an offense for `&&` with duplicate operands 419s registers an offense for `!=` with duplicate operands 419s registers an offense for `|` with duplicate operands 419s does not crash on operator without any argument 419s registers an offense for `=~` with duplicate operands 419s does not register an offense for `<<` with duplicate operands 419s does not register an offense for `+` with duplicate operands 419s registers an offense for `%` with duplicate operands 419s does not register an offense for `**` with duplicate operands 419s registers an offense for `-` with duplicate operands 419s registers an offense for `||` with duplicate operands 419s registers an offense for `^` with duplicate operands 419s registers an offense for `<=` with duplicate operands 419s 419s RuboCop::Cop::VariableForce 419s #process_node 419s when processing lvar node 419s when the variable is not yet declared 419s does not raise error 419s when processing a regexp with a line break at the start of capture parenthesis 419s does not raise an error 419s when processing a regex with regopt 419s does not raise an error 419s when processing an empty regex 419s does not raise an error 419s 419s RuboCop::Cop::Layout::SpaceBeforeSemicolon 419s registers an offense and corrects more than one space before a semicolon 419s registers an offense and corrects space before semicolon 419s does not register an offense for no space before semicolons 419s heredocs 419s registers an offense and corrects 419s inside block braces 419s when EnforcedStyle for SpaceInsideBlockBraces is no_space 419s registers an offense and corrects a space between an opening brace and a semicolon 419s behaves like common behavior 419s accepts no space between an opening brace and a semicolon 419s when EnforcedStyle for SpaceInsideBlockBraces is space 419s accepts a space between an opening brace and a semicolon 419s behaves like common behavior 419s accepts no space between an opening brace and a semicolon 419s 419s RuboCop::Cop::Style::ConditionalAssignment 419s allows assignment using different operators in if elsif else 419s registers an offense for assignment in if then elsif then else 419s registers an offense for assignment in ternary operation using strings 419s allows assignment of different variables in if else 419s allows modifier if inside of if else 419s allows if elsif else with the same assignment only in if else 419s allows aref assignment with different indices in if..else 419s allows if elsif else with the same assignment only in if elsif 419s allows method calls in if else 419s registers an offense for assignment in if elsif elsif else 419s allows assignment to the result of a ternary operation 419s allows if elsif else with the same assignment only in elsif else 419s allows assignment of different variables in case when else 419s registers an offense for assignment in case when then else 419s allows if else without variable assignment 419s doesn't crash when assignment statement uses chars which have special meaning in a regex 419s allows method calls in conditionals 419s autocorrects assignment in if else when the assignment spans multiple lines 419s allows assignment using different (method) operators in if..else 419s registers an offense in an if else if the assignment is already at the line length limit 419s allows assignment in multiple branches when it is wrapped in a modifier 419s counts array assignment when determining multiple assignment 419s doesn't crash with empty braces 419s allows assignment using different operators in if else 419s registers an offense for assignment in unless else 419s registers an offense for assignment in case with when else 419s allows modifier if 419s registers an offense for assignment in if elsif else 419s allows different assignment types in case with when else 419s behaves like all variable types 419s allows assignment to the return of case when 419s allows assignment to the return of if else 419s allows assignment to the return of a ternary 419s registers an offense assigning any variable type in case when 419s registers an offense assigning any variable type in if else 419s registers an offense assigning any variable type in ternary 419s for if elsif else if else 419s autocorrects the inner offense first 419s autocorrects the outer offense later 419s behaves like comparison methods 419s registers an offense for comparison methods in ternary operations 419s with end alignment to start_of_line 420s corrects comparison methods in case when 420s corrects comparison methods in if elsif else 420s corrects comparison methods in unless else 420s >= Ruby 2.7 420s corrects comparison methods in case in 420s with end alignment to keyword 420s corrects comparison methods in unless else 420s corrects comparison methods in case when 420s corrects comparison methods in if elsif else 420s >= Ruby 2.7 420s corrects comparison methods in case in 420s behaves like all assignment types 420s for a global variable lval 420s registers an offense for assignment using >>= in ternary 420s for a instance variable lval 420s registers an offense for assignment using >>= in ternary 420s for a class variable lval 420s registers an offense for assignment using >>= in ternary 420s with end alignment to keyword 420s for a constant lval 420s registers an offense for assignment using >>= in if else 420s registers an offense for assignment using >>= in case when 420s for a class variable lval 420s registers an offense for assignment using >>= in case when 420s registers an offense for assignment using >>= in if else 420s for a instance variable lval 420s registers an offense for assignment using >>= in case when 420s registers an offense for assignment using >>= in if else 420s for a global variable lval 420s registers an offense for assignment using >>= in if else 420s registers an offense for assignment using >>= in case when 420s for a local variable lval 420s registers an offense for assignment using >>= in case when 420s registers an offense for assignment using >>= in if else 420s for a constant lval 420s registers an offense for assignment using >>= in ternary 420s for a local variable lval 420s registers an offense for assignment using >>= in ternary 420s with end alignment to start_of_line 420s for a constant lval 420s registers an offense for assignment using >>= in if else 420s registers an offense for assignment using >>= in case when 420s for a local variable lval 420s registers an offense for assignment using >>= in if else 420s registers an offense for assignment using >>= in case when 420s for a instance variable lval 420s registers an offense for assignment using >>= in if else 420s registers an offense for assignment using >>= in case when 420s for a global variable lval 420s registers an offense for assignment using >>= in if else 420s registers an offense for assignment using >>= in case when 420s for a class variable lval 420s registers an offense for assignment using >>= in if else 420s registers an offense for assignment using >>= in case when 420s behaves like comparison methods 420s registers an offense for comparison methods in ternary operations 420s with end alignment to start_of_line 420s corrects comparison methods in unless else 420s corrects comparison methods in case when 420s corrects comparison methods in if elsif else 420s >= Ruby 2.7 420s corrects comparison methods in case in 420s with end alignment to keyword 420s corrects comparison methods in case when 420s corrects comparison methods in if elsif else 420s corrects comparison methods in unless else 420s >= Ruby 2.7 420s corrects comparison methods in case in 420s behaves like comparison methods 420s registers an offense for comparison methods in ternary operations 420s with end alignment to keyword 420s corrects comparison methods in case when 420s corrects comparison methods in if elsif else 420s corrects comparison methods in unless else 420s >= Ruby 2.7 420s corrects comparison methods in case in 420s with end alignment to start_of_line 420s corrects comparison methods in unless else 420s corrects comparison methods in case when 420s corrects comparison methods in if elsif else 420s >= Ruby 2.7 420s corrects comparison methods in case in 420s behaves like all variable types 420s allows assignment to the return of if else 420s registers an offense assigning any variable type in if else 420s registers an offense assigning any variable type in case when 420s registers an offense assigning any variable type in ternary 420s allows assignment to the return of case when 420s allows assignment to the return of a ternary 420s behaves like all assignment types 420s for a local variable lval 420s registers an offense for assignment using **= in ternary 420s for a instance variable lval 420s registers an offense for assignment using **= in ternary 420s for a class variable lval 420s registers an offense for assignment using **= in ternary 420s for a global variable lval 420s registers an offense for assignment using **= in ternary 420s with end alignment to start_of_line 420s for a constant lval 420s registers an offense for assignment using **= in if else 420s registers an offense for assignment using **= in case when 420s for a instance variable lval 420s registers an offense for assignment using **= in if else 420s registers an offense for assignment using **= in case when 420s for a global variable lval 420s registers an offense for assignment using **= in case when 420s registers an offense for assignment using **= in if else 420s for a local variable lval 420s registers an offense for assignment using **= in if else 420s registers an offense for assignment using **= in case when 420s for a class variable lval 420s registers an offense for assignment using **= in case when 420s registers an offense for assignment using **= in if else 420s for a constant lval 420s registers an offense for assignment using **= in ternary 420s with end alignment to keyword 420s for a local variable lval 420s registers an offense for assignment using **= in if else 420s registers an offense for assignment using **= in case when 420s for a global variable lval 420s registers an offense for assignment using **= in if else 420s registers an offense for assignment using **= in case when 420s for a constant lval 420s registers an offense for assignment using **= in if else 420s registers an offense for assignment using **= in case when 420s for a class variable lval 420s registers an offense for assignment using **= in if else 420s registers an offense for assignment using **= in case when 420s for a instance variable lval 420s registers an offense for assignment using **= in case when 420s registers an offense for assignment using **= in if else 420s behaves like comparison methods 420s registers an offense for comparison methods in ternary operations 420s with end alignment to start_of_line 420s corrects comparison methods in unless else 420s corrects comparison methods in if elsif else 420s corrects comparison methods in case when 420s >= Ruby 2.7 420s corrects comparison methods in case in 420s with end alignment to keyword 420s corrects comparison methods in if elsif else 420s corrects comparison methods in case when 420s corrects comparison methods in unless else 420s >= Ruby 2.7 420s corrects comparison methods in case in 420s behaves like else followed by new conditional without else 420s allows if elsif else unless 420s behaves like all assignment types 420s for a global variable lval 420s registers an offense for assignment using << in ternary 420s for a instance variable lval 420s registers an offense for assignment using << in ternary 420s for a constant lval 420s registers an offense for assignment using << in ternary 420s for a local variable lval 420s registers an offense for assignment using << in ternary 420s with end alignment to start_of_line 420s for a local variable lval 420s registers an offense for assignment using << in case when 420s registers an offense for assignment using << in if else 420s for a instance variable lval 420s registers an offense for assignment using << in case when 420s registers an offense for assignment using << in if else 420s for a class variable lval 420s registers an offense for assignment using << in case when 420s registers an offense for assignment using << in if else 420s for a constant lval 420s registers an offense for assignment using << in if else 420s registers an offense for assignment using << in case when 420s for a global variable lval 420s registers an offense for assignment using << in if else 420s registers an offense for assignment using << in case when 420s with end alignment to keyword 420s for a instance variable lval 421s registers an offense for assignment using << in case when 421s registers an offense for assignment using << in if else 421s for a local variable lval 421s registers an offense for assignment using << in case when 421s registers an offense for assignment using << in if else 421s for a constant lval 421s registers an offense for assignment using << in if else 421s registers an offense for assignment using << in case when 421s for a global variable lval 421s registers an offense for assignment using << in if else 421s registers an offense for assignment using << in case when 421s for a class variable lval 421s registers an offense for assignment using << in if else 421s registers an offense for assignment using << in case when 421s for a class variable lval 421s registers an offense for assignment using << in ternary 421s behaves like comparison methods 421s registers an offense for comparison methods in ternary operations 421s with end alignment to keyword 421s corrects comparison methods in if elsif else 421s corrects comparison methods in case when 421s corrects comparison methods in unless else 421s >= Ruby 2.7 421s corrects comparison methods in case in 421s with end alignment to start_of_line 421s corrects comparison methods in case when 421s corrects comparison methods in if elsif else 421s corrects comparison methods in unless else 421s >= Ruby 2.7 421s corrects comparison methods in case in 421s behaves like all assignment types 421s with end alignment to start_of_line 421s for a instance variable lval 421s registers an offense for assignment using ^= in if else 421s registers an offense for assignment using ^= in case when 421s for a constant lval 421s registers an offense for assignment using ^= in case when 421s registers an offense for assignment using ^= in if else 421s for a class variable lval 421s registers an offense for assignment using ^= in if else 421s registers an offense for assignment using ^= in case when 421s for a local variable lval 421s registers an offense for assignment using ^= in case when 421s registers an offense for assignment using ^= in if else 421s for a global variable lval 421s registers an offense for assignment using ^= in if else 421s registers an offense for assignment using ^= in case when 421s for a local variable lval 421s registers an offense for assignment using ^= in ternary 421s with end alignment to keyword 421s for a local variable lval 421s registers an offense for assignment using ^= in case when 421s registers an offense for assignment using ^= in if else 421s for a class variable lval 421s registers an offense for assignment using ^= in case when 421s registers an offense for assignment using ^= in if else 421s for a constant lval 421s registers an offense for assignment using ^= in case when 421s registers an offense for assignment using ^= in if else 421s for a instance variable lval 421s registers an offense for assignment using ^= in case when 421s registers an offense for assignment using ^= in if else 421s for a global variable lval 421s registers an offense for assignment using ^= in case when 421s registers an offense for assignment using ^= in if else 421s for a global variable lval 421s registers an offense for assignment using ^= in ternary 421s for a constant lval 421s registers an offense for assignment using ^= in ternary 421s for a instance variable lval 421s registers an offense for assignment using ^= in ternary 421s for a class variable lval 421s registers an offense for assignment using ^= in ternary 421s behaves like all variable types 421s registers an offense assigning any variable type in case when 421s allows assignment to the return of a ternary 421s allows assignment to the return of if else 421s allows assignment to the return of case when 421s registers an offense assigning any variable type in ternary 421s registers an offense assigning any variable type in if else 421s behaves like all assignment types 421s for a local variable lval 421s registers an offense for assignment using += in ternary 421s for a constant lval 421s registers an offense for assignment using += in ternary 421s for a instance variable lval 421s registers an offense for assignment using += in ternary 421s for a class variable lval 421s registers an offense for assignment using += in ternary 421s with end alignment to keyword 421s for a class variable lval 421s registers an offense for assignment using += in if else 421s registers an offense for assignment using += in case when 421s for a global variable lval 421s registers an offense for assignment using += in if else 421s registers an offense for assignment using += in case when 421s for a instance variable lval 421s registers an offense for assignment using += in case when 421s registers an offense for assignment using += in if else 421s for a constant lval 421s registers an offense for assignment using += in if else 421s registers an offense for assignment using += in case when 421s for a local variable lval 421s registers an offense for assignment using += in case when 421s registers an offense for assignment using += in if else 421s with end alignment to start_of_line 421s for a local variable lval 421s registers an offense for assignment using += in if else 421s registers an offense for assignment using += in case when 421s for a constant lval 421s registers an offense for assignment using += in case when 421s registers an offense for assignment using += in if else 421s for a class variable lval 421s registers an offense for assignment using += in case when 421s registers an offense for assignment using += in if else 421s for a instance variable lval 421s registers an offense for assignment using += in if else 421s registers an offense for assignment using += in case when 421s for a global variable lval 421s registers an offense for assignment using += in case when 421s registers an offense for assignment using += in if else 421s for a global variable lval 421s registers an offense for assignment using += in ternary 421s behaves like comparison methods 421s registers an offense for comparison methods in ternary operations 421s with end alignment to start_of_line 421s corrects comparison methods in if elsif else 421s corrects comparison methods in unless else 421s corrects comparison methods in case when 421s >= Ruby 2.7 421s corrects comparison methods in case in 421s with end alignment to keyword 421s corrects comparison methods in if elsif else 421s corrects comparison methods in unless else 421s corrects comparison methods in case when 421s >= Ruby 2.7 421s corrects comparison methods in case in 421s behaves like all variable types 421s registers an offense assigning any variable type in case when 421s registers an offense assigning any variable type in ternary 421s allows assignment to the return of a ternary 421s registers an offense assigning any variable type in if else 421s allows assignment to the return of if else 421s allows assignment to the return of case when 421s behaves like all variable types 421s registers an offense assigning any variable type in ternary 421s registers an offense assigning any variable type in case when 421s registers an offense assigning any variable type in if else 421s allows assignment to the return of if else 421s allows assignment to the return of case when 421s allows assignment to the return of a ternary 421s behaves like all assignment types 421s for a global variable lval 421s registers an offense for assignment using = in ternary 421s for a class variable lval 421s registers an offense for assignment using = in ternary 421s with end alignment to keyword 421s for a class variable lval 421s registers an offense for assignment using = in if else 421s registers an offense for assignment using = in case when 421s for a constant lval 421s registers an offense for assignment using = in case when 421s registers an offense for assignment using = in if else 421s for a global variable lval 421s registers an offense for assignment using = in case when 421s registers an offense for assignment using = in if else 421s for a local variable lval 421s registers an offense for assignment using = in if else 421s registers an offense for assignment using = in case when 421s for a instance variable lval 421s registers an offense for assignment using = in if else 421s registers an offense for assignment using = in case when 421s for a instance variable lval 421s registers an offense for assignment using = in ternary 421s with end alignment to start_of_line 421s for a instance variable lval 421s registers an offense for assignment using = in case when 421s registers an offense for assignment using = in if else 421s for a constant lval 421s registers an offense for assignment using = in case when 421s registers an offense for assignment using = in if else 421s for a local variable lval 421s registers an offense for assignment using = in if else 421s registers an offense for assignment using = in case when 421s for a class variable lval 421s registers an offense for assignment using = in case when 421s registers an offense for assignment using = in if else 421s for a global variable lval 421s registers an offense for assignment using = in case when 421s registers an offense for assignment using = in if else 421s for a local variable lval 421s registers an offense for assignment using = in ternary 421s for a constant lval 421s registers an offense for assignment using = in ternary 421s behaves like all assignment types 421s for a global variable lval 421s registers an offense for assignment using /= in ternary 421s for a constant lval 421s registers an offense for assignment using /= in ternary 421s for a class variable lval 421s registers an offense for assignment using /= in ternary 421s with end alignment to start_of_line 421s for a local variable lval 421s registers an offense for assignment using /= in case when 421s registers an offense for assignment using /= in if else 421s for a instance variable lval 421s registers an offense for assignment using /= in if else 421s registers an offense for assignment using /= in case when 421s for a constant lval 421s registers an offense for assignment using /= in case when 421s registers an offense for assignment using /= in if else 421s for a global variable lval 421s registers an offense for assignment using /= in if else 421s registers an offense for assignment using /= in case when 421s for a class variable lval 421s registers an offense for assignment using /= in case when 421s registers an offense for assignment using /= in if else 421s for a local variable lval 421s registers an offense for assignment using /= in ternary 421s with end alignment to keyword 421s for a local variable lval 421s registers an offense for assignment using /= in if else 421s registers an offense for assignment using /= in case when 421s for a instance variable lval 421s registers an offense for assignment using /= in case when 421s registers an offense for assignment using /= in if else 421s for a class variable lval 421s registers an offense for assignment using /= in case when 421s registers an offense for assignment using /= in if else 421s for a global variable lval 421s registers an offense for assignment using /= in if else 421s registers an offense for assignment using /= in case when 421s for a constant lval 421s registers an offense for assignment using /= in case when 421s registers an offense for assignment using /= in if else 421s for a instance variable lval 421s registers an offense for assignment using /= in ternary 421s configured to check conditions with multiple statements 421s allows assignment in multiple branches when it is wrapped in a modifier 421s registers an offense for multiple assignment when an earlier assignment is is protected by a modifier 421s assignment as the last statement 421s registers an offense in if else with more than variable assignment 421s registers offense for multiple assignment in unless else 421s registers offense for multiple assignment in if elsif elsif else 421s registers an offense in unless else with more than variable assignment 421s registers offense for multiple assignments in case when with multiple whens 421s register an offense for multiple assignment in if else 421s registers offense for multiple assignments in case when with only one when 421s registers an offense in if elsif else with some branches only containing variable assignment and others containing more than variable assignment 421s registers an offense in if elsif else with more than variable assignment 421s registers an offense for multiple assignment in if elsif else 421s registers an offense in case when else with more than variable assignment 421s behaves like allows out of order multiple assignment in if elsif else 421s allows out of order multiple assignment in if elsif else 421s multiple assignment in only one branch 422s registers an offense when multiple assignment is in if 422s registers an offense when multiple assignment is in else 422s registers an offense when multiple assignment is in elsif 422s autocorrect 422s corrects multiple assignment in case when 422s corrects multiple assignment in if else 422s corrects multiple assignment in case when with multiple whens 422s corrects multiple assignment in unless else 422s corrects assignment in an if statement that is nested in unless else 422s corrects multiple assignment in if elsif else 422s corrects multiple assignment in if elsif else with multiple elsifs 422s correction would exceed max line length 422s allows assignment to the same variable in if else if the correction would create a line longer than the configured LineLength 422s allows assignment to the same variable in case when else if the correction would create a line longer than the configured LineLength 422s allows assignment to the same variable in if else if the correction would cause the condition to exceed the configured LineLength 422s behaves like all assignment types 422s with end alignment to start_of_line 422s for a class variable lval 422s registers an offense for assignment using &&= in case when 422s registers an offense for assignment using &&= in if else 422s for a local variable lval 422s registers an offense for assignment using &&= in if else 422s registers an offense for assignment using &&= in case when 422s for a constant lval 422s registers an offense for assignment using &&= in case when 422s registers an offense for assignment using &&= in if else 422s for a instance variable lval 422s registers an offense for assignment using &&= in if else 422s registers an offense for assignment using &&= in case when 422s for a global variable lval 422s registers an offense for assignment using &&= in if else 422s registers an offense for assignment using &&= in case when 422s for a instance variable lval 422s registers an offense for assignment using &&= in ternary 422s with end alignment to keyword 422s for a local variable lval 422s registers an offense for assignment using &&= in if else 422s registers an offense for assignment using &&= in case when 422s for a constant lval 422s registers an offense for assignment using &&= in case when 422s registers an offense for assignment using &&= in if else 422s for a class variable lval 422s registers an offense for assignment using &&= in if else 422s registers an offense for assignment using &&= in case when 422s for a global variable lval 422s registers an offense for assignment using &&= in if else 422s registers an offense for assignment using &&= in case when 422s for a instance variable lval 422s registers an offense for assignment using &&= in case when 422s registers an offense for assignment using &&= in if else 422s for a local variable lval 422s registers an offense for assignment using &&= in ternary 422s for a constant lval 422s registers an offense for assignment using &&= in ternary 422s for a class variable lval 422s registers an offense for assignment using &&= in ternary 422s for a global variable lval 422s registers an offense for assignment using &&= in ternary 422s behaves like comparison methods 422s registers an offense for comparison methods in ternary operations 422s with end alignment to start_of_line 422s corrects comparison methods in if elsif else 422s corrects comparison methods in unless else 422s corrects comparison methods in case when 422s >= Ruby 2.7 422s corrects comparison methods in case in 422s with end alignment to keyword 422s corrects comparison methods in case when 422s corrects comparison methods in if elsif else 422s corrects comparison methods in unless else 422s >= Ruby 2.7 422s corrects comparison methods in case in 422s behaves like comparison methods 422s registers an offense for comparison methods in ternary operations 422s with end alignment to start_of_line 422s corrects comparison methods in if elsif else 422s corrects comparison methods in case when 422s corrects comparison methods in unless else 422s >= Ruby 2.7 422s corrects comparison methods in case in 422s with end alignment to keyword 422s corrects comparison methods in unless else 422s corrects comparison methods in case when 422s corrects comparison methods in if elsif else 422s >= Ruby 2.7 422s corrects comparison methods in case in 422s empty branch 422s allows assignment in case when without an else 422s allows assignment in unless without an else 422s allows case with an empty else 422s allows an empty when branch with an else 422s allows an empty elsif statement 422s allows assignment in if without an else 422s allows an empty if statement 422s allows if elsif without else 422s behaves like all assignment types 422s for a global variable lval 422s registers an offense for assignment using ||= in ternary 422s for a class variable lval 422s registers an offense for assignment using ||= in ternary 422s for a instance variable lval 422s registers an offense for assignment using ||= in ternary 422s with end alignment to keyword 422s for a local variable lval 422s registers an offense for assignment using ||= in case when 422s registers an offense for assignment using ||= in if else 422s for a instance variable lval 422s registers an offense for assignment using ||= in if else 422s registers an offense for assignment using ||= in case when 422s for a class variable lval 422s registers an offense for assignment using ||= in case when 422s registers an offense for assignment using ||= in if else 422s for a global variable lval 422s registers an offense for assignment using ||= in case when 422s registers an offense for assignment using ||= in if else 422s for a constant lval 422s registers an offense for assignment using ||= in if else 422s registers an offense for assignment using ||= in case when 422s for a constant lval 422s registers an offense for assignment using ||= in ternary 422s for a local variable lval 422s registers an offense for assignment using ||= in ternary 422s with end alignment to start_of_line 422s for a class variable lval 422s registers an offense for assignment using ||= in if else 422s registers an offense for assignment using ||= in case when 422s for a instance variable lval 422s registers an offense for assignment using ||= in if else 422s registers an offense for assignment using ||= in case when 422s for a global variable lval 422s registers an offense for assignment using ||= in case when 422s registers an offense for assignment using ||= in if else 422s for a constant lval 422s registers an offense for assignment using ||= in case when 422s registers an offense for assignment using ||= in if else 422s for a local variable lval 422s registers an offense for assignment using ||= in case when 422s registers an offense for assignment using ||= in if else 422s behaves like else followed by new conditional without else 422s allows if elsif else if 422s behaves like all assignment types 422s for a local variable lval 422s registers an offense for assignment using %= in ternary 422s for a class variable lval 422s registers an offense for assignment using %= in ternary 422s with end alignment to keyword 422s for a constant lval 422s registers an offense for assignment using %= in case when 422s registers an offense for assignment using %= in if else 422s for a class variable lval 422s registers an offense for assignment using %= in if else 422s registers an offense for assignment using %= in case when 422s for a local variable lval 422s registers an offense for assignment using %= in if else 422s registers an offense for assignment using %= in case when 422s for a global variable lval 422s registers an offense for assignment using %= in case when 422s registers an offense for assignment using %= in if else 422s for a instance variable lval 422s registers an offense for assignment using %= in case when 422s registers an offense for assignment using %= in if else 422s with end alignment to start_of_line 422s for a local variable lval 422s registers an offense for assignment using %= in if else 422s registers an offense for assignment using %= in case when 422s for a instance variable lval 422s registers an offense for assignment using %= in case when 422s registers an offense for assignment using %= in if else 422s for a class variable lval 422s registers an offense for assignment using %= in case when 422s registers an offense for assignment using %= in if else 422s for a global variable lval 422s registers an offense for assignment using %= in case when 422s registers an offense for assignment using %= in if else 422s for a constant lval 422s registers an offense for assignment using %= in if else 422s registers an offense for assignment using %= in case when 422s for a constant lval 422s registers an offense for assignment using %= in ternary 422s for a global variable lval 422s registers an offense for assignment using %= in ternary 422s for a instance variable lval 422s registers an offense for assignment using %= in ternary 422s behaves like all variable types 422s allows assignment to the return of a ternary 422s registers an offense assigning any variable type in if else 422s registers an offense assigning any variable type in case when 422s allows assignment to the return of case when 422s allows assignment to the return of if else 422s registers an offense assigning any variable type in ternary 422s IncludeTernaryExpressions false 422s allows assignment in ternary operation 422s assignment as the last statement 422s allows multiple assignment in if elsif else 422s allows multiple assignment in unless else 422s allows multiple assignment in case when else when the last assignment is the same and the earlier assignments do not appear in all branches 422s allows multiple assignments in case when with multiple whens 422s allows more than variable assignment in if else 422s allows variable assignment in unless else with more than variable assignment 422s allows multiple assignment in case statements when the last assignment is the same and the earlier assignments do not appear in all branches 422s allows multiple assignment in if else 422s allows multiple assignments in case when if there are uniq variables in the when branches 422s allows variable assignment in case when else with more than variable assignment 422s allows multiple assignment in if elsif elsif else 422s allows assignment in if elsif else with some branches only containing variable assignment and others containing more than variable assignment 422s allows multiple assignments in case when with only one when 422s allows multiple assignment in if elsif else when the last assignment is the same and the earlier assignments do not appear in all branches 422s allows more than variable assignment in if elsif else 422s multiple assignment in only one branch 422s allows multiple assignment is in elsif 422s does not register an offense when multiple assignment is in else 422s allows multiple assignment is in if 422s behaves like allows out of order multiple assignment in if elsif else 422s allows out of order multiple assignment in if elsif else 422s behaves like comparison methods 422s registers an offense for comparison methods in ternary operations 422s with end alignment to keyword 422s corrects comparison methods in if elsif else 422s corrects comparison methods in case when 422s corrects comparison methods in unless else 422s >= Ruby 2.7 422s corrects comparison methods in case in 422s with end alignment to start_of_line 422s corrects comparison methods in if elsif else 422s corrects comparison methods in case when 422s corrects comparison methods in unless else 422s >= Ruby 2.7 422s corrects comparison methods in case in 422s behaves like all assignment types 422s for a constant lval 422s registers an offense for assignment using &= in ternary 422s with end alignment to start_of_line 422s for a instance variable lval 422s registers an offense for assignment using &= in case when 422s registers an offense for assignment using &= in if else 422s for a local variable lval 422s registers an offense for assignment using &= in case when 422s registers an offense for assignment using &= in if else 422s for a constant lval 422s registers an offense for assignment using &= in case when 422s registers an offense for assignment using &= in if else 422s for a class variable lval 422s registers an offense for assignment using &= in if else 422s registers an offense for assignment using &= in case when 422s for a global variable lval 422s registers an offense for assignment using &= in case when 422s registers an offense for assignment using &= in if else 422s for a instance variable lval 422s registers an offense for assignment using &= in ternary 422s for a local variable lval 422s registers an offense for assignment using &= in ternary 422s for a class variable lval 422s registers an offense for assignment using &= in ternary 422s for a global variable lval 422s registers an offense for assignment using &= in ternary 422s with end alignment to keyword 422s for a constant lval 422s registers an offense for assignment using &= in case when 422s registers an offense for assignment using &= in if else 422s for a instance variable lval 422s registers an offense for assignment using &= in if else 422s registers an offense for assignment using &= in case when 422s for a class variable lval 422s registers an offense for assignment using &= in case when 422s registers an offense for assignment using &= in if else 422s for a local variable lval 422s registers an offense for assignment using &= in if else 423s registers an offense for assignment using &= in case when 423s for a global variable lval 423s registers an offense for assignment using &= in case when 423s registers an offense for assignment using &= in if else 423s EndAlignment configured to start_of_line 423s autocorrect 423s uses proper end alignment in if 423s uses proper end alignment in case 423s uses proper end alignment in unless 423s behaves like all variable types 423s registers an offense assigning any variable type in if else 423s registers an offense assigning any variable type in ternary 423s registers an offense assigning any variable type in case when 423s allows assignment to the return of a ternary 423s allows assignment to the return of case when 423s allows assignment to the return of if else 423s behaves like all assignment types 423s for a global variable lval 423s registers an offense for assignment using |= in ternary 423s for a local variable lval 423s registers an offense for assignment using |= in ternary 423s for a class variable lval 423s registers an offense for assignment using |= in ternary 423s for a constant lval 423s registers an offense for assignment using |= in ternary 423s with end alignment to keyword 423s for a global variable lval 423s registers an offense for assignment using |= in case when 423s registers an offense for assignment using |= in if else 423s for a instance variable lval 423s registers an offense for assignment using |= in if else 423s registers an offense for assignment using |= in case when 423s for a class variable lval 423s registers an offense for assignment using |= in case when 423s registers an offense for assignment using |= in if else 423s for a constant lval 423s registers an offense for assignment using |= in case when 423s registers an offense for assignment using |= in if else 423s for a local variable lval 423s registers an offense for assignment using |= in if else 423s registers an offense for assignment using |= in case when 423s with end alignment to start_of_line 423s for a instance variable lval 423s registers an offense for assignment using |= in case when 423s registers an offense for assignment using |= in if else 423s for a class variable lval 423s registers an offense for assignment using |= in case when 423s registers an offense for assignment using |= in if else 423s for a local variable lval 423s registers an offense for assignment using |= in if else 423s registers an offense for assignment using |= in case when 423s for a constant lval 423s registers an offense for assignment using |= in case when 423s registers an offense for assignment using |= in if else 423s for a global variable lval 423s registers an offense for assignment using |= in case when 423s registers an offense for assignment using |= in if else 423s for a instance variable lval 423s registers an offense for assignment using |= in ternary 423s with nested conditionals 423s does not consider branches of nested ifs 423s eventually autocorrects all branches 423s behaves like all assignment types 423s for a class variable lval 423s registers an offense for assignment using -= in ternary 423s with end alignment to start_of_line 423s for a constant lval 423s registers an offense for assignment using -= in case when 423s registers an offense for assignment using -= in if else 423s for a class variable lval 423s registers an offense for assignment using -= in case when 423s registers an offense for assignment using -= in if else 423s for a instance variable lval 423s registers an offense for assignment using -= in case when 423s registers an offense for assignment using -= in if else 423s for a global variable lval 423s registers an offense for assignment using -= in if else 423s registers an offense for assignment using -= in case when 423s for a local variable lval 423s registers an offense for assignment using -= in case when 423s registers an offense for assignment using -= in if else 423s for a instance variable lval 423s registers an offense for assignment using -= in ternary 423s for a local variable lval 423s registers an offense for assignment using -= in ternary 423s with end alignment to keyword 423s for a class variable lval 423s registers an offense for assignment using -= in case when 423s registers an offense for assignment using -= in if else 423s for a instance variable lval 423s registers an offense for assignment using -= in case when 423s registers an offense for assignment using -= in if else 423s for a constant lval 423s registers an offense for assignment using -= in if else 423s registers an offense for assignment using -= in case when 423s for a global variable lval 423s registers an offense for assignment using -= in case when 423s registers an offense for assignment using -= in if else 423s for a local variable lval 423s registers an offense for assignment using -= in if else 423s registers an offense for assignment using -= in case when 423s for a global variable lval 423s registers an offense for assignment using -= in ternary 423s for a constant lval 423s registers an offense for assignment using -= in ternary 423s behaves like all assignment types 423s for a class variable lval 423s registers an offense for assignment using *= in ternary 423s for a global variable lval 423s registers an offense for assignment using *= in ternary 423s with end alignment to start_of_line 423s for a local variable lval 423s registers an offense for assignment using *= in if else 423s registers an offense for assignment using *= in case when 423s for a global variable lval 423s registers an offense for assignment using *= in case when 423s registers an offense for assignment using *= in if else 423s for a instance variable lval 423s registers an offense for assignment using *= in case when 423s registers an offense for assignment using *= in if else 423s for a constant lval 423s registers an offense for assignment using *= in case when 423s registers an offense for assignment using *= in if else 423s for a class variable lval 423s registers an offense for assignment using *= in if else 423s registers an offense for assignment using *= in case when 423s for a instance variable lval 423s registers an offense for assignment using *= in ternary 423s for a constant lval 423s registers an offense for assignment using *= in ternary 423s for a local variable lval 423s registers an offense for assignment using *= in ternary 423s with end alignment to keyword 423s for a local variable lval 423s registers an offense for assignment using *= in case when 423s registers an offense for assignment using *= in if else 423s for a class variable lval 423s registers an offense for assignment using *= in case when 423s registers an offense for assignment using *= in if else 423s for a constant lval 423s registers an offense for assignment using *= in if else 423s registers an offense for assignment using *= in case when 423s for a instance variable lval 423s registers an offense for assignment using *= in if else 423s registers an offense for assignment using *= in case when 423s for a global variable lval 423s registers an offense for assignment using *= in if else 423s registers an offense for assignment using *= in case when 423s behaves like comparison methods 423s registers an offense for comparison methods in ternary operations 423s with end alignment to keyword 423s corrects comparison methods in if elsif else 423s corrects comparison methods in case when 423s corrects comparison methods in unless else 423s >= Ruby 2.7 423s corrects comparison methods in case in 423s with end alignment to start_of_line 423s corrects comparison methods in case when 423s corrects comparison methods in unless else 423s corrects comparison methods in if elsif else 423s >= Ruby 2.7 423s corrects comparison methods in case in 423s autocorrect 423s preserves comments during correction in case when else 423s preserves comments during correction in if else 423s corrects =~ in ternary operations 423s corrects assignment to unbracketed array in if else 423s constant assignment 423s corrects if..else with top-level constant 423s corrects if..else with namespaced constant 423s multiple assignment 423s does not register an offense in case when 423s does not register an offense in if else 423s aref assignment 423s corrects if..else 423s with different indices 423s doesn't register an offense 423s assignment from a method 423s corrects if else 423s corrects case when 423s corrects unless else 423s self.attribute= assignment 423s corrects if..else 423s with different receivers 423s doesn't register an offense 423s behaves like all assignment types 423s for a constant lval 423s registers an offense for assignment using <<= in ternary 423s for a class variable lval 423s registers an offense for assignment using <<= in ternary 423s with end alignment to start_of_line 423s for a class variable lval 423s registers an offense for assignment using <<= in if else 423s registers an offense for assignment using <<= in case when 423s for a constant lval 423s registers an offense for assignment using <<= in if else 423s registers an offense for assignment using <<= in case when 423s for a local variable lval 423s registers an offense for assignment using <<= in case when 423s registers an offense for assignment using <<= in if else 423s for a global variable lval 423s registers an offense for assignment using <<= in if else 423s registers an offense for assignment using <<= in case when 423s for a instance variable lval 423s registers an offense for assignment using <<= in case when 423s registers an offense for assignment using <<= in if else 423s for a local variable lval 423s registers an offense for assignment using <<= in ternary 423s for a global variable lval 423s registers an offense for assignment using <<= in ternary 423s for a instance variable lval 423s registers an offense for assignment using <<= in ternary 423s with end alignment to keyword 423s for a constant lval 423s registers an offense for assignment using <<= in case when 423s registers an offense for assignment using <<= in if else 423s for a class variable lval 423s registers an offense for assignment using <<= in case when 423s registers an offense for assignment using <<= in if else 423s for a instance variable lval 423s registers an offense for assignment using <<= in case when 423s registers an offense for assignment using <<= in if else 423s for a global variable lval 423s registers an offense for assignment using <<= in case when 423s registers an offense for assignment using <<= in if else 423s for a local variable lval 423s registers an offense for assignment using <<= in case when 423s registers an offense for assignment using <<= in if else 423s 423s RuboCop::Cop::VariableForce::Assignment 423s #name 423s returns the variable name 423s #operator 423s when it is multiple assignment 423s returns = 423s when it is normal assignment 423s returns = 423s when it is &&= operator assignment 423s returns &&= 423s when it is ||= operator assignment 423s returns ||= 423s when it is += operator assignment 423s returns += 423s #meta_assignment_node 423s when it is multiple assignment 423s returns masgn node 423s when it is += operator assignment 423s returns op_asgn node 423s when it is ||= operator assignment 423s returns or_asgn node 423s when it is &&= operator assignment 423s returns and_asgn node 423s .new 423s when an argument declaration node is passed 423s raises error 423s when an assignment node is passed 423s does not raise error 423s when any other type node is passed 423s raises error 423s 423s RuboCop::Cop::Style::WhileUntilDo 423s accepts do in single-line until 423s accepts do in single-line while 423s registers an offense for do in multiline while 423s registers an offense for do in multiline until 423s accepts multi-line until without do 423s accepts multi-line while without do 423s 423s RuboCop::Cop::Style::SymbolLiteral 423s accepts string syntax when symbol start with a digit 423s registers an offense for word-line symbols using string syntax 423s accepts string syntax when symbols have whitespaces in them 423s accepts string syntax when symbols have special chars in them 423s 423s RuboCop::Cop::Lint::TopLevelReturnWithArgument 423s Code segment with method-level return statements 423s expects offense when method-level & top-level return co-exist 423s Code segment with block level returns other than the top-level return 423s expects no offense from the return without arguments 423s expects offense from the return with arguments 423s Code segment with only top-level return statement 423s expects multiple offenses from the return with arguments statements 423s expects no offense from the return without arguments 423s expects offense from the return with arguments 423s Code segment containing semi-colon separated statements 423s expects no offense from the return with arguments and multi-line code 423s expects an offense from the return with arguments and multi-line code 423s Code segment with inline if along with top-level return 423s expects multiple offense from the return with arguments 423s expects no offense from the return without arguments 423s 423s RuboCop::Formatter::FormatterSet 423s responds to all formatter API methods 423s add_formatter 423s adds a formatter with specified formatter type 423s adds a formatter to itself 423s can add multiple formatters by being invoked multiple times 423s when output path is specified 423s adds a formatter outputs to the specified file 423s when parent directories don't exist 423s creates them 423s when output path is omitted 423s adds a formatter outputs to $stdout 423s #close_output_files 423s closes all output files 423s does not close non file output 423s #custom_formatter_class 423s returns constant represented by the passed string 423s can handle namespaced constant name 423s can handle top level namespaced constant name 423s when non-existent constant name is passed 423s raises error 423s #builtin_formatter_class 423s returns class which matches single character alias name 423s returns class which matches double character alias name 423s returns class which matches passed alias name exactly 423s formatter API method 423s invokes the same method of all containing formatters 423s 423s RuboCop::Cop::Style::SignalException 423s when enforced style is `fail` 423s registers an offense for `raise` with `Kernel` as explicit receiver 424s registers an offense for raise in begin section 424s accepts `raise` with explicit receiver 424s registers an offense for raise in rescue section 424s registers an offense for raise in def body 424s when enforced style is `raise` 424s accepts `fail` if a custom `fail` instance method is defined 424s registers an offense for fail in rescue section 424s registers an offense for `fail` with `Kernel` as explicit receiver 424s registers an offense for fail in def body 424s registers an offense for fail in begin section 424s accepts `fail` with explicit receiver 424s accepts `fail` if a custom `fail` singleton method is defined 424s when enforced style is `semantic` 424s registers an offense for fail in rescue section 424s registers an offense for fail in second rescue 424s accepts raise in rescue section 424s registers an offense for `raise` and `fail` with `Kernel` as explicit receiver 424s accepts `raise` and `fail` with explicit receiver 424s accepts raise in def with multiple rescues 424s registers an offense for raise in begin section 424s registers only offense for one raise that should be fail 424s registers an offense for `raise` and `fail` with `::Kernel` as explicit receiver 424s accepts raise in def rescue section 424s registers an offense for raise in def body 424s registers an offense for raise not in a begin/rescue/end 424s is not confused by nested begin/rescue 424s registers one offense for each raise 424s registers an offense for fail in def rescue section 424s 424s RuboCop::Cop::Style::DocumentDynamicEvalDefinition 424s registers an offense when using eval-type method with string interpolation without comment docs 424s does not register an offense when using eval-type method with string interpolation with comment docs 424s does not register an offense when using eval-type method with interpolated string that is not heredoc with comment doc 424s does not register an offense when using eval-type method without string interpolation 424s registers an offense when using eval-type method with interpolated string that is not heredoc without comment doc 424s block comment outside heredoc 424s registers an offense if the comment does not match the method 424s does not register an offense for a matching block comment before the heredoc 424s does not register an offense when using other text 424s does not register an offense for a matching block comment after the heredoc 424s does not register an offense when using inline comments 424s does not register an offense when using multiple methods 424s block comment in heredoc 424s does not register an offense when using inline comments 424s does not register an offense when using other text 424s registers an offense if the comment does not match the method 424s does not register an offense for a matching block comment 424s does not evaluate comments if there is no interpolation 424s does not register an offense when using multiple methods 424s does not register an offense when using multiple methods with split comments 424s 424s RuboCop::Cop::Style::RescueModifier 424s does not register an offense for normal rescue 424s registers an offense for modifier rescue around parallel assignment 424s registers an offense for modifier rescue 424s handles modifier rescue in a method 424s handles modifier rescue in normal rescue 424s does not register an offense for normal rescue with ensure 424s does not register an offense for nested normal rescue 424s handles parentheses around a rescue modifier 424s handles more complex expression with modifier rescue 424s when a singleton method has implicit begin 424s handles modifier rescue in body of implicit begin 424s accepts normal rescue 424s when an instance method has implicit begin 424s handles modifier rescue in body of implicit begin 424s accepts normal rescue 424s excluded file 424s processes excluded files with issue 424s autocorrect 424s corrects doubled rescue modifiers 424s corrects complex rescue modifier 424s 424s RuboCop::Cop::Force 424s #run_hook 424s invokes a hook in all cops 424s .force_name 424s returns the class name without namespace 424s 424s RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets 424s does not register offense for any kind of reference brackets 424s when EnforcedStyle is no_space 424s does not register offense when bottom bracket gets its own line indented with tabs 424s does not register offense when contains an array literal as an argument after a heredoc is started 424s does not register offense when 2 arrays on one line 424s registers an offense and corrects multiline array on end bracket with trailing method 424s registers an offense and corrects multiline array on end bracket 424s registers an offense and corrects an array when two on one line 424s does not register offense when bottom bracket gets its own line & has trailing method 424s registers an offense and corrects 2 arrays on one line 424s registers an offense and corrects array brackets with leading whitespace 424s does not register offense for indented array when bottom bracket gets its own line & is misaligned 424s accepts square brackets called with method call syntax 424s accepts a multiline array with whitespace before end bracket 424s does not register offense for valid multiline array 424s does not register offense for arrays with no spaces 424s does not register offense for arrays using ref brackets 424s accepts square brackets as method name 424s registers an offense and corrects array brackets with trailing whitespace 424s does not register offense for array when brackets get own line 424s does not register offense for valid 2-dimensional array 424s registers an offense and corrects an array literal as an argument with trailing whitespace after a heredoc is started 424s accepts space inside array brackets if with comment 424s when EnforcedStyle is compact 424s does not register offense for valid 4-dimensional array 424s registers an offense and corrects 2-dimensional array with extra spaces 424s does not register offense for valid 2-dimensional array 424s registers an offense and corrects space between 2 closing brackets 424s accepts multiline array 424s registers an offense and corrects 3-dimensional array with extra spaces 424s registers an offense and corrects space between 2 opening brackets 424s does not register offense for valid 3-dimensional array 424s multiline, 2-dimensional array with spaces 424s registers an offense and corrects at the end of array 424s registers an offense and corrects at the beginning of array 424s multiline, 2-dimensional array with newlines 424s registers an offense and corrects at the beginning of array 424s registers an offense and corrects at the end of array 424s behaves like space inside arrays 424s registers an offense and corrects multiline array on end bracket 424s does not register offense for indented array when bottom bracket gets its own line & is misaligned 424s registers an offense and corrects array brackets with no leading whitespace 424s registers an offense and corrects multiline array on end bracket with trailing method 424s does not register offense for arrays with spaces 424s accepts space inside array brackets with comment 424s accepts square brackets as method name 424s does not register offense for arrays using ref brackets 424s does not register offense when bottom bracket gets its own line & has trailing method 424s does not register offense when 2 arrays on one line 424s accepts square brackets called with method call syntax 424s does not register offense for valid multiline array 424s register an offense and corrects when 2 arrays are on one line 424s registers an offense and corrects array brackets with no trailing whitespace 424s registers an offense and corrects an array missing whitespace when there is more than one array on a line 424s does not register offense for array when brackets get their own line 424s with space inside empty braces allowed 424s registers an offense and corrects empty brackets with no space inside 424s accepts empty brackets with space inside 424s registers an offense and corrects empty brackets with more than one space inside 424s when EnforcedStyle is space 424s does not register offense for valid 2-dimensional array 424s behaves like space inside arrays 424s register an offense and corrects when 2 arrays are on one line 424s accepts space inside array brackets with comment 424s registers an offense and corrects multiline array on end bracket 424s does not register offense for arrays with spaces 424s registers an offense and corrects an array missing whitespace when there is more than one array on a line 424s accepts square brackets called with method call syntax 424s does not register offense when 2 arrays on one line 424s registers an offense and corrects multiline array on end bracket with trailing method 424s does not register offense for array when brackets get their own line 424s accepts square brackets as method name 424s does not register offense for valid multiline array 424s does not register offense for indented array when bottom bracket gets its own line & is misaligned 424s registers an offense and corrects array brackets with no leading whitespace 424s registers an offense and corrects array brackets with no trailing whitespace 424s does not register offense when bottom bracket gets its own line & has trailing method 424s does not register offense for arrays using ref brackets 424s with space inside empty brackets not allowed 424s registers an offense and corrects multiline spaces 424s registers an offense and corrects empty brackets with 1 space inside 424s registers an offense and corrects empty brackets with multiple spaces inside 424s accepts empty brackets with no space inside 424s 424s RuboCop::Cop::Lint::BigDecimalNew 424s does not register an offense when using `BigDecimal()` 424s registers an offense and corrects using `::BigDecimal.new()` 424s registers an offense and corrects using `BigDecimal.new()` 424s 424s RuboCop::Cop::Style::WhenThen 424s registers an offense for when b; 424s accepts ; separating statements in the body of when 424s registers an offense for when b, c; 424s when inspecting a case statement with an empty branch 424s does not register an offense 424s 424s RuboCop::Cop::Layout::LeadingEmptyLines 424s registers an offense and corrects a new line before code 424s allows an empty input 424s accepts not having a blank line before a class 424s accepts not having a blank line before code 424s registers an offense and corrects a new line before a comment 424s registers an offense and corrects a new line before a class 424s accepts not having a blank line before a comment 424s registers an offense and corrects multiple new lines before a class 424s allows blank lines without any comments or code 424s autocorrect 424s in collaboration 424s does not invoke conflicts with other cops 424s 424s RuboCop::Formatter::JSONFormatter 424s #started 424s sets target file count in summary 424s #finished 424s sets inspected file count in summary 424s outputs #output_hash as JSON 424s #hash_for_file 424s sets an array of #hash_for_offense values for :offenses key 424s sets relative file path for :path key 424s #hash_for_offense 424s sets Offense#corrected? value for :corrected key 424s sets Offense#correctable? value for :correctable key 424s sets Offense#severity value for :severity key 424s sets Offense#cop_name value for :cop_name key 424s sets Offense#message value for :message key 424s sets value of #hash_for_location for :location key 424s #file_finished 424s adds detected offense count in summary 424s adds value of #hash_for_file to #output_hash[:files] 424s #hash_for_location 424s sets line value for :line key 424s sets length value for :length key 424s sets column value for :column key 424s when the location is pseudo 424s returns a valid hash 424s 424s RuboCop::Cop::Style::InlineComment 424s does not register an offense for a standalone comment 424s does not register an offense for special rubocop inline comments 424s registers an offense for a trailing inline comment 424s 424s RuboCop::Cop::Layout::SpaceAfterMethodName 424s accepts an assignment def with arguments but no parentheses 424s accepts class method def with arguments but no parentheses 424s accepts a def without arguments 424s registers offense and corrects assignment def with space before parenthesis 424s registers offense and corrects class def with space before parenthesis 424s accepts a def with arguments but no parentheses 424s registers an offense and corrects def with space before the parenthesis 424s accepts a defs without arguments 424s 424s RuboCop::Cop::Layout::EmptyLineAfterGuardClause 424s accepts a guard clause that is after a multiline heredoc with chained calls 424s registers and corrects when using guard clause is after `rubocop:enable` comment 424s accepts a guard clause followed by empty line when guard clause including heredoc 424s registers an offense and corrects a guard clause that is a ternary operator 424s registers an offense and corrects a guard clause is before `begin` 424s registers and corrects when using guard clause is after `rubocop:disable` comment 424s registers an offense and corrects using heredoc with `and return` before guard condition 424s accepts modifier if 424s registers an offense and corrects when using `or return` before guard condition 424s registers an offense and corrects a `raise` guard clause not followed by empty line when guard clause is after method call with argument 424s accepts a guard clause inside oneliner block 424s registers no offenses using heredoc with `and return` before guard condition with empty line 424s accepts a `raise` guard clause not followed by empty line when guard clause is after condition without method invocation 424s accepts a modifier if when the next line is `end` 424s registers an offense and corrects `next` guard clause not followed by empty line 424s accepts a guard clause when the next line is `rescue`-`else` 424s accepts a guard clause that is after multiline heredoc 424s accepts using guard clause is after `rubocop:enable` comment 424s registers an offense and corrects a guard clause not followed by empty line 424s registers an offense when the clause ends with a semicolon but the next clause is on the next line 424s registers an offense and corrects a `raise` guard clause not followed by empty line when `unless` condition is after heredoc 424s does not register an offense when there are multiple clauses on the same line 424s registers an offense and corrects a `raise` guard clause not followed by empty line when `if` condition is after heredoc 424s accepts a guard clause when the next line is `ensure` 424s accepts a guard clause when the next line is `elsif` 424s does not register an offense when the clause is not followed by other code 424s accepts a guard clause that is after a multiline heredoc nested argument call 424s accepts a guard clause after a single line heredoc 424s registers an offense and corrects a guard clause not followed by empty line when guard clause including heredoc 424s does not register an offense when the clause ends with a semicolon but is followed by a newline 424s registers an offense and corrects a next guard clause not followed by empty line when guard clause is after heredoc including string interpolation 424s accepts a guard clause followed by end 425s accepts using guard clause is after `raise` 425s accepts a guard clause when the next line is `rescue` 425s registers an offense and corrects when using `and return` before guard condition 425s accepts multiple guard clauses 425s accepts a guard clause when the next line is `else` 425s registers an offense and corrects only the last guard clause 425s registers an offense and corrects a method starting with end_ 425s 425s RuboCop::Cop::Style::AndOr 425s when style is conditionals 425s accepts "and" outside of conditional 425s registers an offense for "or" in until condition 425s accepts || inside of conditional 425s registers an offense for "and" in post-while condition 425s registers an offense for "and" in while condition 425s registers an offense for "and" in until condition 425s registers an offense for "or" in if condition 425s accepts "and" in post-while body 425s accepts "or" outside of conditional 425s accepts "and" in if body 425s registers an offense for "and" in post-until condition 425s accepts "or" in if body 425s registers an offense for "or" in while condition 425s accepts "and" in post-until body 425s accepts "and" in while body 425s accepts && outside of conditional 425s registers an offense for "or" in post-until condition 425s accepts "or" in while body 425s registers an offense for "and" in if condition 425s accepts && inside of conditional 425s accepts "or" in post-until body 425s accepts "or" in post-while body 425s accepts || outside of conditional 425s accepts "or" in until body 425s accepts "and" in until body 425s registers an offense for "or" in post-while condition 425s when style is always 425s autocorrects "and" with && in method calls (2) 425s also warns on until (or) 425s autocorrects "or" with || and doesn't add extra parentheses 425s also warns on while (and) 425s registers an offense for "or" 425s autocorrects "and" with && in method calls (4) 425s warns on short-circuit (or) 425s also warns on while (or) 425s autocorrects "or" with || in method calls (2) 425s autocorrects "or" with an assignment on the right 425s also warns on non short-circuit (or) 425s autocorrects "or" inside def 425s also warns on until (and) 425s autocorrects "and" inside def 425s autocorrects "or" with an assignment on the left 425s warns on short-circuit (and) 425s autocorrects "and" with && in method calls (3) 425s autocorrects "or" with || in method calls (4) 425s autocorrects "and" with && and adds parentheses to expr 425s autocorrects "or" with || in method calls 425s also warns on non short-circuit (or) (unless) 425s also warns on non short-circuit (and) 425s autocorrects "and" with && in method calls 425s also warns on non short-circuit (and) (unless) 425s registers an offense for "and" 425s autocorrects "or" with || in method calls (3) 425s autocorrects "and" with an Enumerable accessor on either side 425s autocorrects "or" with || and adds parentheses to expr 425s autocorrects "and" with && and doesn't add extra parentheses 425s with !obj.method arg on left 425s autocorrects "and" with && and adds parens 425s with obj.method= arg on left 425s autocorrects "and" with && and adds parens 425s with `not` expression on right 425s autocorrects "and" with && and adds parens 425s within a nested begin node 425s autocorrects "and" with && and adds parens 425s when left hand side is a comparison method 425s autocorrects "and" with && and adds parens 425s with `not` expression on left 425s autocorrects "and" with && and adds parens 425s when `or` precedes `and` 425s registers an offense and corrects 425s with !obj.method arg on right 425s autocorrects "and" with && and adds parens 425s when `or` precedes `&&` 425s registers an offense and corrects 425s with a file which contains __FILE__ 425s autocorrects "or" with || 425s with two predicate methods with args without spaces on right 425s autocorrects "and" with && and adds parens 425s autocorrects "or" with || and adds parens 425s when `and` precedes `||` 425s registers an offense and corrects 425s when `and` precedes `or` 425s registers an offense and corrects 425s with one predicate method without space on right and another method 425s autocorrects "and" with && and adds parens 425s autocorrects "or" with || and adds parens 425s with !variable on left 425s doesn't crash and burn 425s with predicate method with arg without space on right 425s autocorrects "or" with || and adds parens 425s autocorrects "and" with && and adds parens 425s within a nested begin node with one child only 425s autocorrects "and" with && and adds parens 425s with obj.method = arg on left 425s autocorrects "and" with && and adds parens 425s 425s RuboCop::Cop::Layout::SpaceBeforeFirstArg 425s for method calls without parentheses 425s registers an offense for method call with no spaces before the first arg 425s registers an offense and corrects method call with two spaces before the first arg 425s accepts setter call 425s accepts + operator 425s accepts multiple space containing line break 425s accepts a method call with one space before the first arg 425s when a vertical argument positions are aligned 425s registers an offense 425s when using safe navigation operator 425s registers an offense and corrects method call with two spaces before the first arg 425s when AllowForAlignment is true 425s accepts method calls with aligned first arguments 425s when AllowForAlignment is false 425s registers an offense and corrects method calls with aligned first arguments 425s for method calls with parentheses 425s accepts a method call with space after the left parenthesis 425s accepts a method call without space 425s 425s RuboCop::Cop::Layout::ArgumentAlignment 425s aligned with fixed indentation 425s autocorrects by outdenting when indented too far 425s autocorrects when first line is indented 425s autocorrects by indenting when not indented 425s does not register an offense when using aligned braced hash as a argument 425s corrects indentation for kwargs starting on same line as other args 425s registers an offense and corrects when missed indentation kwargs 425s assigned methods 425s with ArgumentAlignment:IndentationWidth set to 4 425s accepts the first parameter being on method row 425s accepts the first parameter being on a new row 425s with IndentationWidth:Width set to 4 425s accepts the first parameter being on method row 425s autocorrects even when first argument is in wrong position 425s accepts the first parameter being on a new row 425s multi-line method calls 425s does not err on method call without a method name 425s autocorrects relative to position of relevant method call 425s registers offenses and corrects double indentation from relevant method 425s can handle existing indentation from multi-line method calls 425s aligned with first argument 425s doesn't get confused by a line break inside a parameter 425s can handle a multiline hash as second parameter 425s does not crash in autocorrect on dynamic string in parameter value 425s accepts the first parameter being on a new row 425s accepts calls that only span one line 425s can handle a string literal as other argument 425s accepts multiline []= method call 425s can handle other method calls without parentheses 425s can handle a method call within a method call 425s registers an offense and corrects arguments with double indent 425s doesn't get confused by extra comma at the end 425s can handle method calls without parentheses 425s can handle a correctly aligned string literal as first argument 425s registers an offense and corrects multiline missed indentation 425s accepts braceless hashes 425s can handle a ternary condition with a block reference 425s doesn't crash and burn when there are nested issues 425s can handle parentheses used with no arguments 425s registers an offense and corrects multi-line outdented parameters 425s registers an offense and corrects splat operator 425s can handle heredoc strings 425s can handle a call with a block inside another call 425s doesn't get confused by regexen with embedded expressions 425s doesn't get confused by symbols with embedded expressions 425s can handle do-end 425s doesn't get confused by a symbol argument 425s registers an offense and corrects when missed indentation kwargs 425s registers an offense and correct multi-line parametersindented too far 425s accepts correctly aligned arguments with fullwidth characters 425s can handle a call embedded in a string 425s accepts correctly aligned arguments 425s registers an offense and corrects arguments with single indent 425s assigned methods 425s accepts the first parameter being on a new row 425s accepts the first parameter being on method row 425s when using safe navigation operator 425s registers an offense and corrects arguments with single indent 425s 425s RuboCop::Cop::InternalAffairs::CreateEmptyFile 425s registers an offense when using `create_file(path, "") 425s does not register an offense when using `create_file(path)` 425s registers an offense when using `create_file(path, '') 425s does not register an offense when using `create_file(path, 'hello')` 425s does not register an offense when using `create_file(path, ['foo', 'bar'])` 425s does not register an offense when using `receiver.create_file(path, '')` 425s 425s RuboCop::Cop::VariableForce::VariableTable 425s #find_variable with an empty scope stack 425s returns nil 425s #pop_scope 425s returns popped scope object 425s #push_scope 425s returns pushed scope object 425s #current_scope_level 425s increases by pushing scope 425s decreases by popping scope 425s #declare_variable 425s returns the added variable 425s adds variable to current scope with its name as key 425s #find_variable 425s when current scope is block 425s when a variable with the target name does not exist in current scope 425s but exists in the direct outer scope 425s returns the direct outer scope variable 425s but exists in a indirect outer scope 425s when the direct outer scope is not block 425s returns nil 425s when the direct outer scope is block 425s returns the indirect outer scope variable 425s and does not exist in all outer scopes 425s returns nil 425s when a variable with the target name exists in current scope 425s and does not exist in outer scope 425s returns the current scope variable 425s and also exists in outer scope 425s returns the current scope variable 425s when current scope is not block 425s when a variable with the target name does not exist in current scope 425s and does not exist in all outer scopes 425s returns nil 425s but exists in the direct outer scope 425s returns nil 425s when a variable with the target name exists in current scope 425s and does not exist in outer scope 425s returns the current scope variable 425s and also exists in outer scope 425s returns the current scope variable 425s #accessible_variables 425s when the current scope has some variables 425s returns all the variables 425s when the direct outer scope has some variables 425s and the current scope is block 425s returns the current and direct outer scope variables 425s and the current scope is not block 425s returns only the current scope variables 425s when there are no variables 425s returns empty array 425s 425s RuboCop::Cop::Layout::MultilineArrayLineBreaks 425s when on same line, separate line from brackets 425s does not add any offenses 425s when two elements on same line 425s registers an offense and corrects 425s when nested arrays 425s registers an offense and corrects 425s when on same line 425s does not add any offenses 425s 425s Pending: (Failures listed here are expected and do not affect your suite's status) 425s 425s 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 425s # Requires an advanced logic that checks whether the return value of an operator assignment is used or not. 425s Failure/Error: 425s expect_offense(<<~RUBY) 425s def some_method 425s total = 0 425s foo = 0 425s 425s while total < 100 425s total += 1 425s foo += 1 425s ^^^ Useless assignment to variable - `foo`. 425s end 425s 425s Diff: 425s @@ -5,7 +5,6 @@ 425s while total < 100 425s total += 1 425s foo += 1 425s - ^^^ Useless assignment to variable - `foo`. 425s end 425s 425s total 425s # /usr/share/rubygems-integration/all/gems/rubocop-1.39.0/lib/rubocop/rspec/expect_offense.rb:123:in `expect_offense' 425s # ./spec/rubocop/cop/lint/useless_assignment_spec.rb:341:in `block (3 levels) in ' 425s # /usr/share/rubygems-integration/all/gems/webmock-3.18.1/lib/webmock/rspec.rb:37:in `block (2 levels) in ' 425s 425s Finished in 2 minutes 33.6 seconds (files took 4.95 seconds to load) 425s 19119 examples, 0 failures, 1 pending 425s 425s Randomized with seed 25797 425s 427s mv ./.gem2deb.lib lib 428s autopkgtest [08:12:54]: test gem2deb-test-runner: -----------------------] 432s autopkgtest [08:12:58]: test gem2deb-test-runner: - - - - - - - - - - results - - - - - - - - - - 432s gem2deb-test-runner PASS 436s autopkgtest [08:13:02]: @@@@@@@@@@@@@@@@@@@@ summary 436s gem2deb-test-runner PASS