Thanks Matt, your analysis is spot on. So the root cause actually a core
behavior of Ruby. I found this pretty good explanation too on StackOverflow:
http://stackoverflow.com/questions/19033909/why-isnt-method-treated-the-same-as-any-other-method
So, it looks like this cannot be fixed, huh
I am seeing this with Rails 4.2.4.
On Wednesday, 2 September 2015 05:29:56 UTC+9, James Coleman wrote:
>
> The []= operator should still return whatever it sets, though, which would
> mean the two different accesses should return the same thing. And I believe
> this is the case currently. To no
The []= operator should still return whatever it sets, though, which would
mean the two different accesses should return the same thing. And I believe
this is the case currently. To not do so would be a legitimate bug.
What version of Rails is the example using?
On Tue, Sep 1, 2015 at 4:21 PM, Ma
On Sep 1, 2015, at 6:29 AM, Yves-Eric wrote:
> Hi all,
>
>
> I think I have stumbled upon a bug in HashWithIndifferentAccess.
> I cannot pinpoint it exactly, but I have written a small test case that
> exhibits the buggy behavior:
>
> https://gist.github.com/yemartin/54db7476aa41b85e7eb8
>
Mohamed,
I don't believe that's correct. And testing it out by replacing the
HashWithIndifferentAccess with a regular Ruby Hash gives the expected
result, so it's definitely different behavior than expected.
That being said, I just tested it on Rails 4.2.3 and it works as expected,
so I'm not sur
You are not storing waldo where you think you are storing it. On first
access `@store[:foo]` is already initialized, so it does away with your
waldo assignment, then on second and third access you are populating it.
`my_hash[:baz]` is `@store[:foo][:baz]`.
On Tue, Sep 1, 2015 at 12:29 PM, Yves-Eri
Hi all,
I think I have stumbled upon a bug in HashWithIndifferentAccess.
I cannot pinpoint it exactly, but I have written a small test case that
exhibits the buggy behavior:
https://gist.github.com/yemartin/54db7476aa41b85e7eb8
The same code works fine if we use a regular Hash for `@store` ins