Sha256: b2b663e61a02409d2e2b0af277d35d94126f3355bf233d1b3573bfdacebcf0f3

Contents?: true

Size: 564 Bytes

Versions: 142

Compression:

Stored size: 564 Bytes

Contents

# frozen_string_literal: true

# Responsible for decorating a collection which responds to `to_a` which will
# stringify all of the elements.
#
# Example
#
#     ArrayStringifier.new({a: 1, b: 2}).to_a # => [["a", "1"], ["b", "2"]]
#
class ArrayStringifier < SimpleDelegator
  alias_method :collection, :__getobj__

  def to_a
    stringify_items(collection.to_a)
  end

  private

  def stringify_items(collection)
    collection.map do |item|
      if item.respond_to?(:map)
        stringify_items(item)
      else
        item.to_s
      end
    end
  end
end

Version data entries

142 entries across 142 versions & 1 rubygems

Version Path
renalware-core-2.0.84 lib/array_stringifier.rb
renalware-core-2.0.83 lib/array_stringifier.rb
renalware-core-2.0.82 lib/array_stringifier.rb
renalware-core-2.0.81 lib/array_stringifier.rb
renalware-core-2.0.80 lib/array_stringifier.rb
renalware-core-2.0.79 lib/array_stringifier.rb
renalware-core-2.0.78 lib/array_stringifier.rb
renalware-core-2.0.77 lib/array_stringifier.rb
renalware-core-2.0.76 lib/array_stringifier.rb
renalware-core-2.0.75 lib/array_stringifier.rb
renalware-core-2.0.74 lib/array_stringifier.rb
renalware-core-2.0.73 lib/array_stringifier.rb
renalware-core-2.0.72 lib/array_stringifier.rb
renalware-core-2.0.71 lib/array_stringifier.rb
renalware-core-2.0.70 lib/array_stringifier.rb
renalware-core-2.0.69 lib/array_stringifier.rb
renalware-core-2.0.68 lib/array_stringifier.rb
renalware-core-2.0.67 lib/array_stringifier.rb
renalware-core-2.0.64 lib/array_stringifier.rb
renalware-core-2.0.63 lib/array_stringifier.rb