Sha256: a039e07ecce352304f3f8d4a2e39fbd20f0e30c04b32eae497f5438151a7352c

Contents?: true

Size: 634 Bytes

Versions: 38

Compression:

Stored size: 634 Bytes

Contents

module Representable
  module Hash
    module AllowSymbols
    private
      def filter_wrap_for(data, *args)
        super(Conversion.stringify_keys(data), *args)
      end

      def update_properties_from(data, *args)
        super(Conversion.stringify_keys(data), *args)
      end
    end

    class Conversion
      # DISCUSS: we could think about mixin in IndifferentAccess here (either hashie or ActiveSupport).
      # or decorating the hash.
      def self.stringify_keys(hash)
        hash = hash.dup

        hash.keys.each do |k|
          hash[k.to_s] = hash.delete(k)
        end
        hash
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
representable-3.0.4 lib/representable/hash/allow_symbols.rb
representable-3.0.3 lib/representable/hash/allow_symbols.rb
representable-3.0.2 lib/representable/hash/allow_symbols.rb
representable-3.0.1 lib/representable/hash/allow_symbols.rb
representable-3.0.0 lib/representable/hash/allow_symbols.rb
representable-2.4.1 lib/representable/hash/allow_symbols.rb
representable-2.4.0 lib/representable/hash/allow_symbols.rb
representable-2.4.0.rc5 lib/representable/hash/allow_symbols.rb
representable-2.4.0.rc4 lib/representable/hash/allow_symbols.rb
representable-2.4.0.rc3 lib/representable/hash/allow_symbols.rb
representable-2.4.0.rc2 lib/representable/hash/allow_symbols.rb
representable-2.4.0.rc1 lib/representable/hash/allow_symbols.rb
representable-2.3.0 lib/representable/hash/allow_symbols.rb
representable-2.2.3 lib/representable/hash/allow_symbols.rb
representable-2.2.2 lib/representable/hash/allow_symbols.rb
representable-2.2.1 lib/representable/hash/allow_symbols.rb
representable-2.2.0 lib/representable/hash/allow_symbols.rb
representable-2.1.8 lib/representable/hash/allow_symbols.rb
representable-2.1.7 lib/representable/hash/allow_symbols.rb
representable-2.1.6 lib/representable/hash/allow_symbols.rb