Instead of requiring the consumer to provide a list of all events which they wish to handle, we can give them to option of dynamically detecting them, by scanning the listener's public methods. This approach is similar to that used by M...sambostock (Sam Bostock)
Currently, the instructions and placeholder contradict each other. The commit that introduced this placeholder (42bc4715d920e836c8499883d) makes it clear that the placeholder should be replaced AFTER publishing (i.e. once the author suc...sambostock (Sam Bostock)
I found some _interesting_ implementations while working on the Rubocop Cop, including some in Ruby itself. For example: - [`rgeo/rgeo`](https://github.com/rubocop/rubocop/pull/10441/files#r835693586) - [Ruby's `IPAddr#hash`](https:/...sambostock (Sam Bostock)
> `attr_predicate :cat` would define a method named `:cat?` that returned the value for ivar `@cat`. I think it would make sense for the predicate method to convert the value to `true` or `false` before returning it, to make a clear d...sambostock (Sam Bostock)
While continuing to add edge cases to [`Range#minmax` specs](https://github.com/ruby/spec/pull/777), I discovered the following bug: ```ruby (1..3.1).to_a == [1, 2, 3] # As expected (1..3.1).to_a.max == 3 # As ex...sambostock (Sam Bostock)
The implementation of `Range#minmax` added in [d5c60214c45](https://github.com/ruby/ruby/commit/d5c60214c45bafc1cf2a516f852394986f9c84bb) causes the following incorrect behaviour: ```ruby ('a'...'c').minmax # => ["a", ["a", "b"]] ``...sambostock (Sam Bostock)
The implementation of Range#minmax added in d5c60214c45 causes the following incorrect behaviour: ('a'...'c').minmax => ["a", ["a", "b"]] instead of ('a'...'c').minmax => ["a", "b"] This is because the C implementation of Range#m...sambostock (Sam Bostock)