Sha256: dce0d895fe59bf41db3d304b0cce108314c6b89bfd97a0b89a22262015d5b322
Contents?: true
Size: 1.58 KB
Versions: 7
Compression:
Stored size: 1.58 KB
Contents
# frozen_string_literal: true # # Copyright (c) 2006-2023 Hal Brodigan (postmodern.mod3 at gmail.com) # # ronin-support is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # ronin-support is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with ronin-support. If not, see <https://www.gnu.org/licenses/>. # module Enumerable # # Maps the elements to a Hash. # # @yield [element] # The given block will be passed each element. # The return value from the block will be stored in the hash. # # @yieldparam [Object] element # An element. # # @return [Hash{Object => Object}] # The hash of elements and their mappings. # # @example # host_names = %w[www.wired.com www.google.com] # host_names.map_hash { |name| Resolv.getaddresses(name) } # # {"www.wired.com"=>["184.84.183.17", "184.84.183.91"], # # "www.google.com"=>["173.194.33.18", "173.194.33.17", "173.194.33.19", "173.194.33.20", "173.194.33.16"]} # # @since 0.3.0 # # @api public # def map_hash new_hash = Hash.new do |hash,key| hash[key] = yield(key) end each { |element| new_hash[element] } return new_hash end end
Version data entries
7 entries across 7 versions & 1 rubygems