-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support ruby 2.6 Hash#merge with multiple arguments #1572
Conversation
test failing from this changes rack/rack#1391 👀 I cannot find out why Apart from that, we using rack with latest revision, but I think there are no need to use latest revision. https://github.com/sinatra/sinatra/blob/c174325/Gemfile#L14 maybe we can specify rack 2.x release version and avoid test failures? 🤔 abc0883 |
@iguchi1124 thanks for spotting the rack issue. I reported the bug and it was fixed there. |
thanks! |
lib/sinatra/indifferent_hash.rb
Outdated
def merge!(*other_hashes) | ||
other_hashes.each do |other_hash| | ||
if other_hash.is_a?(self.class) | ||
super |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wouldn't this call super with other_hashes, and thus merge all the arguments multiple times? So maybe super(other_hash)
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
test/indifferent_hash_test.rb
Outdated
assert_equal 1, hash[?a] | ||
assert_equal 2, hash[?b] | ||
assert_equal 3, hash[?c] | ||
assert_equal 3, hash[?c] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line appears to be a duplicate.
LGTM 👍 @namusyaka what do you think? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, lemme check this in my local.
Unfortunately, I can't see the push log because of the permission issue. Based on the above assumption, I'm checking if there is other commit that was missing, but it's not found except this. I'm sorry for my mistake on the release operation. |
Support ruby 2.6 Hash#merge with multiple arguments
Merge pull request #1572 from iguchi1124/support-ruby26-merge
Released: https://rubygems.org/gems/sinatra/versions/2.0.8.1 Again, I was making a completely crazy mistake. Thanks so much for letting me know. And I'm really sorry. |
Update ruby-sinatra to 2.0.8.1. ## 2.0.8.1 / 2020-01-02 * Allow multiple hashes to be passed in `merge` and `merge!` for `Sinatra::IndifferentHash` [#1572](sinatra/sinatra#1572) by Shota Iguchi ## 2.0.8 / 2020-01-01 * Lookup Tilt class for template engine without loading files [#1558](sinatra/sinatra#1558). Fixes [#1172](sinatra/sinatra#1172) by Jordan Owens * Add request info in NotFound exception [#1566](sinatra/sinatra#1566) by Stefan Sundin * Add `.yaml` support in `Sinatra::Contrib::ConfigFile` [#1564](sinatra/sinatra#1564). Fixes [#1563](sinatra/sinatra#1563) by Emerson Manabu Araki * Remove only routing parameters from @params hash [#1569](sinatra/sinatra#1569). Fixes [#1567](sinatra/sinatra#1567) by Jordan Owens, Horacio * Support `capture` and `content_for` with Hamlit [#1580](sinatra/sinatra#1580) by Takashi Kokubun * Eliminate warnings of keyword parameter for Ruby 2.7.0 [#1581](sinatra/sinatra#1581) by Osamtimizer ## 2.0.7 / 2019-08-22 * Fix a regression [#1560](sinatra/sinatra#1560) by Kunpei Sakai ## 2.0.6 / 2019-08-21 * Fix an issue setting environment from command line option [#1547](sinatra/sinatra#1547), [#1554](sinatra/sinatra#1554) by Jordan Owens, Kunpei Sakai * Support pandoc as a new markdown renderer [#1533](sinatra/sinatra#1533) by Vasiliy * Remove outdated code for tilt 1.x [#1532](sinatra/sinatra#1532) by Vasiliy * Remove an extra logic for `force_encoding` [#1527](sinatra/sinatra#1527) by Jordan Owens * Avoid multiple errors even if `params` contains special values [#1526](sinatra/sinatra#1527) by Kunpei Sakai * Support `bundler/inline` with `require 'sinatra'` integration [#1520](sinatra/sinatra#1520) by Kunpei Sakai * Avoid `TypeError` when params contain a key without a value on Ruby < 2.4 [#1516](sinatra/sinatra#1516) by Samuel Giddins * Improve development support and documentation and source code by Olle Jonsson, Basavanagowda Kanur, Yuki MINAMIYA
close #1571
I tested locally: