Method: Docman::Application#info_recursive

Defined in:
lib/application.rb

#info_recursive(info, command) ⇒ Object



171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'lib/application.rb', line 171

def info_recursive(info, command)
  result = {}
  case command
    when 'list'
      result[info['name']] = info['repo'] if info.key?('repo')
    when 'full'
      info_clone = info.clone
      info_clone.delete('docroot_config')
      info_clone.delete('children')
      info_clone.delete('parent')
      info_clone.delete('root')
      result[info['name']] = info_clone
  end
  info['children'].each do |child|
    result.merge! info_recursive(child, command)
  end
  result
end