Sha256: 51044465668c1793745ef8ec7c1b895b07eed5e5b9489530a2e9439c3c8074b4

Contents?: true

Size: 548 Bytes

Versions: 35

Compression:

Stored size: 548 Bytes

Contents

# require "eitil_core/hash/transform_string_values"

require "eitil_core/array/map_strings"

class Hash

  def transform_string_values!(&block)
    transform_values! do |value|

      if value.class == String
        yield value

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

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

      else
        value
        
      end
    end
    
    self
  end

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

end

Version data entries

35 entries across 35 versions & 1 rubygems

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