Sha256: c135b990f4785483b8eec65964625a0aab2cbf5eebd8f71ddca8d85e838e4f2d

Contents?: true

Size: 650 Bytes

Versions: 7

Compression:

Stored size: 650 Bytes

Contents

# encoding: utf-8

module Nanoc3::ArrayExtensions

  # Returns a new array where all items' keys are recursively converted to symbols by calling #symbolize_keys.
  def symbolize_keys
    inject([]) do |array, element|
      array + [ element.respond_to?(:symbolize_keys) ? element.symbolize_keys : element ]
    end
  end

  # Returns a new array where all items' keys are recursively converted to strings by calling #stringify_keys.
  def stringify_keys
    inject([]) do |array, element|
      array + [ element.respond_to?(:stringify_keys) ? element.stringify_keys : element ]
    end
  end

end

class Array
  include Nanoc3::ArrayExtensions
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
nanoc3-3.0.9 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.0.8 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.0.7 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.0.6 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.0.5 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.0.4 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.0.3 lib/nanoc3/base/core_ext/array.rb