class Saxerator::Builder::HashElement
Public Instance Methods
deep_hash()
click to toggle source
# File lib/mits/saxerator_ext.rb, line 4 def deep_hash reduce({}) do |memo, (key, value)| as_hash = if value.is_a? Array value.map { |v| try_hash(v) } else try_hash(value) end memo[key] = as_hash memo end end
try_hash(val)
click to toggle source
# File lib/mits/saxerator_ext.rb, line 16 def try_hash(val) if val.is_a? EmptyElement nil elsif val.respond_to? :deep_hash val.deep_hash elsif val.respond_to? :to_h val.to_h else val end end