Sha256: b1680cc3e58a55df1266a0091000dd1d30f5ad1a83bf7dab928f0d902ce54a24
Contents?: true
Size: 714 Bytes
Versions: 1
Compression:
Stored size: 714 Bytes
Contents
# frozen_string_literal: true module Esse class DynamicTemplate # @param [Array, Hash] value The list of dynamic_templates for mapping def initialize(value) @hash = normalize(value) end def merge!(value) @hash = HashUtils.deep_merge(@hash, normalize(value)) end def to_a @hash.map do |name, value| { name => value } end end def any? @hash.any? end def dup self.class.new(@hash.dup) end private def normalize(value) case value when Array value.map { |v| normalize(v) }.reduce(&:merge) when Hash HashUtils.deep_transform_keys(value, &:to_sym) end || {} end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
esse-0.2.2 | lib/esse/dynamic_template.rb |