From: nobu@... Date: 2017-11-29T06:52:09+00:00 Subject: [ruby-core:83945] [Ruby trunk Feature#14136] Implement #empty? on more classes Issue #14136 has been updated by nobu (Nobuyoshi Nakada). mikegee (Michael Gee) wrote: > The discussion began because a user reported Rubocop complaining about this code: > > `File.stat(manifest_file).size == 0` > > Rubocop would prefer that written as `File.stat(manifest_file).empty?` (Because Rubocop assumes objects with `#size` and `#length` also have `#empty?`, like `String`, `Array`, and `Hash` do.) But, `File::Stat` does not have an `#empty?` method, so the suggestion raises `NoMethodError`. It's a Rubocop's issue. I'd suggest `File.empty?` instead. ---------------------------------------- Feature #14136: Implement #empty? on more classes https://bugs.ruby-lang.org/issues/14136#change-68006 * Author: mikegee (Michael Gee) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Hi Ruby Friends! Rubocop prefers `#empty?` over `length == 0` and `size == 0`, which is great for `String`, `Array`, `Hash`, etc. It would be nice if more classes implemented `#empty?` for consistency. See related discussion at https://github.com/bbatsov/rubocop/issues/2841. I started this work at https://github.com/ruby/ruby/pull/1759 Thanks! -- https://bugs.ruby-lang.org/ Unsubscribe: