Sha256: b90592c0ee0720dd7f9445858618951d97f63061daf56193d55678d7c8798cc7

Contents?: true

Size: 479 Bytes

Versions: 35

Compression:

Stored size: 479 Bytes

Contents

# require "eitil_core/array/map_strings"

require "eitil_core/hash/transform_string_values"

class Array

  def map_strings!(&block)
    map! do |item|

      if item.class == String
        yield item

      elsif item.class == Hash
        item.transform_string_values!(&block)

      elsif item.class == Array
        item.map_strings!(&block)

      else
        item

      end
    end

    self
  end

  def map_strings(&block)
    deep_dup.map_strings!(&block)
  end

end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
eitil-2.0.8 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-2.0.7 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-2.0.6 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-2.0.5 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-2.0.4 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-2.0.3 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-2.0.2 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-2.0.1 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-2.0.0 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.4.1 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.4.0 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.12 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.11 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.10 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.9 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.8 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.7 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.6 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.5 eitil_core/lib/eitil_core/array/map_strings.rb
eitil-1.3.4 eitil_core/lib/eitil_core/array/map_strings.rb