class AnnotateYaml::YamlHashExplorer

Attributes

result[R]

Public Class Methods

new(hash) click to toggle source
# File lib/annotate_yaml/annotate_yaml.rb, line 9
def initialize(hash)
  @result = []
  yaml_navigation(hash, [])
end

Private Instance Methods

desired_terminatory_value?(value) click to toggle source
# File lib/annotate_yaml/annotate_yaml.rb, line 26
def desired_terminatory_value?(value)
  !(value.nil? || value.is_a?(Hash) || value.is_a?(Array))
end
yaml_navigation(yaml_hash, keys_array_origin) click to toggle source
# File lib/annotate_yaml/annotate_yaml.rb, line 16
def yaml_navigation(yaml_hash, keys_array_origin)
  yaml_hash.each do |key, value|
    keys_array_updated = keys_array_origin.dup
    keys_array_updated.push(key)
    result.push({ value => keys_array_updated.join('.') }) if desired_terminatory_value?(value)

    yaml_navigation(value, keys_array_updated) if value.is_a?(Hash)
  end
end