Suppress an integer unification warning for Ruby 2.4.0+

This PR suppresss the following integer unification warning
for Ruby 2.4.0+

```console
% ruby -v
ruby 2.4.9p362 (2019-10-02 revision 67824) [x86_64-darwin17]
% bundle exec rspec spec/hashie/extensions/deep_merge_spec.rb

Hashie::Extensions::DeepMerge
/Users/koic/src/github.com/hahie/hashie/lib/hashie/utils.rb:38: warning:
constant ::Fixnum is deprecated
/Users/koic/src/github.com/hahie/hashie/lib/hashie/utils.rb:38: warning:
constant ::Bignum is deprecated
```
This commit is contained in:
Koichi ITO 2020-01-15 13:12:09 +09:00
parent ac15574582
commit 4d3d062680
4 changed files with 7 additions and 6 deletions

View File

@ -37,6 +37,7 @@ scheme are considered to be bugs.
* [#500](https://github.com/hashie/hashie/pull/500): Do not warn when setting Mash keys that look like underbang, bang, and query methods - [@michaelherold](https://github.com/michaelherold).
* [#510](https://github.com/hashie/hashie/pull/510): Ensure that `Hashie::Mash#compact` is only defined on Ruby version >= 2.4.0 - [@bobbymcwho](https://github.com/bobbymcwho).
* [#511](https://github.com/hashie/hashie/pull/511): Suppress keyword arguments warning for Ruby 2.7.0 - [@koic](https://github.com/koic).
* [#512](https://github.com/hashie/hashie/pull/512): Suppress an integer unification warning for using Ruby 2.4.0+ - [@koic](https://github.com/koic).
* Your contribution here.
### Security

View File

@ -897,7 +897,7 @@ class DataModelHash < Hashie::Dash
end
model = DataModelHash.new(id: '123', created: '2014-04-25 22:35:28')
model.id.class #=> Fixnum
model.id.class #=> Integer (Fixnum if you are using Ruby 2.3 or lower)
model.created_at.class #=> Time
```
@ -966,7 +966,7 @@ this will produce the following
```ruby
result = Result.new(id: '123', creation_date: '2012-03-30 17:23:28')
result.id.class # => Fixnum
result.id.class # => Integer (Fixnum if you are using Ruby 2.3 or lower)
result.created_at.class # => Time
```

View File

@ -35,7 +35,7 @@ module Hashie
# end
#
# model = DataModelHash.new(id: '123', created: '2014-04-25 22:35:28')
# model.id.class #=> Fixnum
# model.id.class #=> Integer (Fixnum if you are using Ruby 2.3 or lower)
# model.created_at.class #=> Time
module PropertyTranslation
def self.included(base)

View File

@ -34,10 +34,10 @@ module Hashie
# @return [Array<Class>]
def self.integer_classes
@integer_classes ||=
if const_defined?(:Fixnum)
[Fixnum, Bignum] # rubocop:disable Lint/UnifiedInteger
else
if 0.class == Integer
[Integer]
else
[Fixnum, Bignum] # rubocop:disable Lint/UnifiedInteger
end
end
end