module Anyway::Ext::FlattenNames

Convert Hash with mixed array and hash values to an array of paths.

Public Instance Methods

flatten_names(prefix, buf) click to toggle source
# File lib/anyway/ext/flatten_names.rb, line 9
def flatten_names(prefix, buf)
  if empty?
    buf << :"#{prefix}"
    return buf
  end

  each_with_object(buf) do |name, acc|
    if name.is_a?(::Symbol)
      acc << :"#{prefix}.#{name}"
    else
      name.flatten_names(prefix, acc)
    end
  end
end