iostreams 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39e8db61b0e6f258822125da6f8dc00a8cbd3f4bda52ccd03d38ba1adc6e9176
4
- data.tar.gz: 962ff677f70e411e1fc0a59f8e080c5ca43e066d1b1d71edaf1663d933098e6c
3
+ metadata.gz: 5b743c145f120e461d09eed5b9c7476bacbdaa18453200e1ccc57ec9eef2239c
4
+ data.tar.gz: 7c54a49f344e454ef64a1e19e47f2c665b46e675eda34c03e1604668a6543de4
5
5
  SHA512:
6
- metadata.gz: 9b6d30a60c024cfeadd06180e240a89a29ef2b7999ef45b5b50d19e467c98626196c105eac45cec2013a5807cfc5f996377dc41ef1439bf4c55e49619a37a9a6
7
- data.tar.gz: f9c1f0db6f77a848a6e2f6370c51a95e78083bb6f8abe30f4d1a6946c7a1d4d2d10deaffa7c6a61e3237f69d36fba1da4a65aa4db94f7e30f8b0ac11b740ad87
6
+ metadata.gz: 27d4a3875009d1902285a9e01b67032e74e1eac6d295de3400096b01c663de8b14cb594e4ffd8f04154d23cf7cfd4a696dbc33b9651fd200808ff087c00c0dc2
7
+ data.tar.gz: 92656ad55f37e5ffb3b4588cc93d6d9c988ce31705f888d4e045d86ffcf5047f4185a8de30bc6c262a48ae7f048433edd00f827d155939db7caa858e5e495bf0
@@ -129,18 +129,17 @@ module IOStreams
129
129
  # Perform cleansing on returned Hash keys during the narrowing process.
130
130
  # For example, avoids issues with case etc.
131
131
  def cleanse_hash(hash)
132
- h = {}
133
- hash.each_pair do |key, value|
134
- cleansed_key =
135
- if columns.include?(key)
136
- key
137
- else
138
- key = cleanse_column(key)
139
- key if columns.include?(key)
140
- end
141
- h[cleansed_key] = value if cleansed_key
132
+ unmatched = columns - hash.keys
133
+ unless unmatched.empty?
134
+ hash = hash.dup
135
+ unmatched.each { |name| hash[cleanse_column(name)] = hash.delete(name) }
136
+ end
137
+ # Hash#slice as of Ruby 2.5
138
+ if hash.respond_to?(:slice)
139
+ hash.slice(*columns)
140
+ else
141
+ columns.each_with_object({}) { |column, new_hash| new_hash[column] = hash[column] }
142
142
  end
143
- h
144
143
  end
145
144
 
146
145
  def cleanse_column(name)
@@ -1,3 +1,3 @@
1
1
  module IOStreams
2
- VERSION = "1.3.1".freeze
2
+ VERSION = "1.3.2".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iostreams
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reid Morrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-16 00:00:00.000000000 Z
11
+ date: 2020-08-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  requirements: []
133
- rubygems_version: 3.0.8
133
+ rubygems_version: 3.1.2
134
134
  signing_key:
135
135
  specification_version: 4
136
136
  summary: Input and Output streaming for Ruby.