<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ruby-gems/hashie.git/lib, branch master</title>
<subtitle>github.com: intridea/hashie
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/'/>
<entry>
<title>Add Ruby 3.1 to CI (#558)</title>
<updated>2022-01-28T02:59:24+00:00</updated>
<author>
<name>Peter Goldstein</name>
<email>peter.m.goldstein@gmail.com</email>
</author>
<published>2022-01-28T02:59:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=3e57eb531f2d028cb56cd1ddab9bb07c70b93abf'/>
<id>3e57eb531f2d028cb56cd1ddab9bb07c70b93abf</id>
<content type='text'>
* Add Ruby 3.1 to CI

Update Rubocop for recent Rubies
Disable Rubocop run for Rubies before Ruby 2.4
Quote '3.0' in the CI configuration to ensure it loads a 3.0.x Ruby
Set RUBYOPT="--disable_error_highlight" so Ruby 3.1 error matchers pass

* Add CHANGELOG.md entry

* Re-add deleted line from CHANGELOG.md

* Set minimum supported Ruby version to 2.4.

Remove a number of code bits designed to support Rubies below version 2.4

* Bump version.  Remove unneeded require from Gemfile.  Add require to spec/support file</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add Ruby 3.1 to CI

Update Rubocop for recent Rubies
Disable Rubocop run for Rubies before Ruby 2.4
Quote '3.0' in the CI configuration to ensure it loads a 3.0.x Ruby
Set RUBYOPT="--disable_error_highlight" so Ruby 3.1 error matchers pass

* Add CHANGELOG.md entry

* Re-add deleted line from CHANGELOG.md

* Set minimum supported Ruby version to 2.4.

Remove a number of code bits designed to support Rubies below version 2.4

* Bump version.  Remove unneeded require from Gemfile.  Add require to spec/support file</pre>
</div>
</content>
</entry>
<entry>
<title>Preparing for next development iteration, 5.0.1.</title>
<updated>2021-11-08T19:47:35+00:00</updated>
<author>
<name>dblock</name>
<email>dblock@dblock.org</email>
</author>
<published>2021-11-08T19:47:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=e201d4006d6b4b1146930707a388254e80e8675e'/>
<id>e201d4006d6b4b1146930707a388254e80e8675e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'dash-nil-keys' of https://github.com/michaelherold/hashie into michaelherold-dash-nil-keys</title>
<updated>2021-11-08T03:21:45+00:00</updated>
<author>
<name>dblock</name>
<email>dblock@dblock.org</email>
</author>
<published>2021-11-08T03:21:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=25a3ff6e0498234d25de6a02bdbd3e508ade5898'/>
<id>25a3ff6e0498234d25de6a02bdbd3e508ade5898</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #545 from jackjennings/master</title>
<updated>2021-11-08T03:20:14+00:00</updated>
<author>
<name>Daniel Doubrovkine (dB.)</name>
<email>dblock@dblock.org</email>
</author>
<published>2021-11-08T03:20:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=796f9446fe3313685fe1a5c74052e1e942d170a2'/>
<id>796f9446fe3313685fe1a5c74052e1e942d170a2</id>
<content type='text'>
Add #except under Ruby 3</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add #except under Ruby 3</pre>
</div>
</content>
</entry>
<entry>
<title>Add #except under Ruby 3</title>
<updated>2021-11-02T19:57:54+00:00</updated>
<author>
<name>Jack Jennings</name>
<email>jack.jennings@leafly.com</email>
</author>
<published>2021-04-07T00:45:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=9ba96e03a8b5baa098c7ac6841e4c021b02f1910'/>
<id>9ba96e03a8b5baa098c7ac6841e4c021b02f1910</id>
<content type='text'>
Ruby 3 adds the Hash#except method, which should return the correct
Hashie object instance when called on a Mash or object using the
Hashie::Extensions::IndifferentAccess mixin.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ruby 3 adds the Hash#except method, which should return the correct
Hashie object instance when called on a Mash or object using the
Hashie::Extensions::IndifferentAccess mixin.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed issue where a source hash key can be used in translating multiple properties</title>
<updated>2021-06-17T21:17:43+00:00</updated>
<author>
<name>Daniel Lee</name>
<email>danwa5@gmail.com</email>
</author>
<published>2021-06-17T21:05:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=e295a0df579525ab1574a8ff6539a6c5a109fb2c'/>
<id>e295a0df579525ab1574a8ff6539a6c5a109fb2c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Hashie::Mash already includes Hashie::Extensions::PrettyInspect via Hashie::Hash</title>
<updated>2020-11-04T13:15:34+00:00</updated>
<author>
<name>Akira Matsuda</name>
<email>ronnie@dio.jp</email>
</author>
<published>2020-11-04T13:13:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=564f020cce8c782d943ddfc554c7b4ea7bee5fcf'/>
<id>564f020cce8c782d943ddfc554c7b4ea7bee5fcf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix inconsistencies with Dash defaults</title>
<updated>2020-10-24T02:57:10+00:00</updated>
<author>
<name>Michael Herold</name>
<email>opensource@michaeljherold.com</email>
</author>
<published>2020-10-24T02:57:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=f152e25912d0b93ff08b8964eb757200ad4b6f32'/>
<id>f152e25912d0b93ff08b8964eb757200ad4b6f32</id>
<content type='text'>
The normal behavior of Dash with respect to property defaults differed
from the behavior of a Dash/Trash with IgnoreUndeclared mixed in. This
is because some situations called the defaults and some did not.

This change normalizes the behavior so that all situations where the
defaults should be used to override unset values behave consistently,
as well as all situations where the default should not override a `nil`
value.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The normal behavior of Dash with respect to property defaults differed
from the behavior of a Dash/Trash with IgnoreUndeclared mixed in. This
is because some situations called the defaults and some did not.

This change normalizes the behavior so that all situations where the
defaults should be used to override unset values behave consistently,
as well as all situations where the default should not override a `nil`
value.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow exporting a normal, not-indifferent Hash</title>
<updated>2020-10-23T03:11:34+00:00</updated>
<author>
<name>Michael Herold</name>
<email>opensource@michaeljherold.com</email>
</author>
<published>2020-10-23T03:11:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=a7d57c921dd9a3e99aff95bcae685f831cade7f9'/>
<id>a7d57c921dd9a3e99aff95bcae685f831cade7f9</id>
<content type='text'>
Following the conventions in `activesupport` and the semantics of the
`#to_hash` method in Ruby's standard library, the `#to_hash` method for
a hash that has mixed in `IndifferentAccess` will now export the hash as
a normal, not-indifferent hash.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following the conventions in `activesupport` and the semantics of the
`#to_hash` method in Ruby's standard library, the `#to_hash` method for
a hash that has mixed in `IndifferentAccess` will now export the hash as
a normal, not-indifferent hash.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure all properties are set on exported Dash</title>
<updated>2020-10-23T02:07:14+00:00</updated>
<author>
<name>Michael Herold</name>
<email>opensource@michaeljherold.com</email>
</author>
<published>2020-10-23T02:07:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/ruby-gems/hashie.git/commit/?id=98df995e2f0433d3d1abe46efd732bc8e20e31cc'/>
<id>98df995e2f0433d3d1abe46efd732bc8e20e31cc</id>
<content type='text'>
When exporting a Dash via `#to_h` or `#to_hash`, we expect all
properties to be exported whether or not they are set. However, in the
change that allows codependent properties to be nilified, we regressed
the behavior of exporting all properties.

There is a gotcha here, which I note in the tests for the specs. For
posterity, MRI does not send the `#to_hash` method to anything that
subclasses `Hash` when you double-splat it. Thus, we cannot override the
behavior within MRI. For more information, see [this comment][1] where I
detail the behavior of double-splat within MRI.

Currently, JRuby also follows this behavior, but it's not guaranteed
that other Rubies will.

[1]: https://github.com/hashie/hashie/issues/353#issuecomment-363294886
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When exporting a Dash via `#to_h` or `#to_hash`, we expect all
properties to be exported whether or not they are set. However, in the
change that allows codependent properties to be nilified, we regressed
the behavior of exporting all properties.

There is a gotcha here, which I note in the tests for the specs. For
posterity, MRI does not send the `#to_hash` method to anything that
subclasses `Hash` when you double-splat it. Thus, we cannot override the
behavior within MRI. For more information, see [this comment][1] where I
detail the behavior of double-splat within MRI.

Currently, JRuby also follows this behavior, but it's not guaranteed
that other Rubies will.

[1]: https://github.com/hashie/hashie/issues/353#issuecomment-363294886
</pre>
</div>
</content>
</entry>
</feed>
