Sha256: d3e1a2f1b3e8f3840f80ef43704ae862ae90d7a12fcfdc00dac69672a89b92fb
Contents?: true
Size: 758 Bytes
Versions: 2
Compression:
Stored size: 758 Bytes
Contents
# frozen_string_literal: true module AdequateJson class Hash include Resolver include Jsonizer def initialize(hash, json = nil, variants: {}, **) @hash = hash @json = json @variants = variants end def to_builder if @json.nil? Jbuilder.new do |json| @json = json serialize_hash end else serialize_hash end end private def serialize_hash @hash.each do |key, value| if value.respond_to?(:to_i) || value.frozen? @json.set!(key, value) else @json.set!(key) do choose_serializer(value, variant: @variants[key] || :no_wrapper).to_builder end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
adequate_json-0.2.0 | lib/adequate_json/hash.rb |
adequate_json-0.1.0 | lib/adequate_json/hash.rb |