Sha256: 613a059516f7983681414b1290a067f8a045aadaefea181344f96bcebc5525e8

Contents?: true

Size: 890 Bytes

Versions: 18

Compression:

Stored size: 890 Bytes

Contents

# encoding: utf-8

module Nanoc3::ArrayExtensions

  # Returns a new array where all items' keys are recursively converted to
  # symbols by calling {Nanoc3::ArrayExtensions#symbolize_keys} or
  # {Nanoc3::HashExtensions#symbolize_keys}.
  #
  # @return [Array] The converted array
  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 {Nanoc3::ArrayExtensions#stringify_keys} or
  # {Nanoc3::HashExtensions#stringify_keys}.
  #
  # @return [Array] The converted array
  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

18 entries across 18 versions & 1 rubygems

Version Path
nanoc3-3.1.9 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.8 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.7 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.6 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.2.0a3 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.5 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.4 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.2.0a2 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.3 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.2.0a1 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.2 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.1 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.0 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.0rc1 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.0b2 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.0b1 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.0a3 lib/nanoc3/base/core_ext/array.rb
nanoc3-3.1.0a2 lib/nanoc3/base/core_ext/array.rb