Method: Dolt::ControllerActions#tree

Defined in:
lib/libdolt/controller_actions.rb

#tree(repo, ref, path, custom_data = {}) ⇒ Object



114
115
116
117
118
119
120
121
122
123
# File 'lib/libdolt/controller_actions.rb', line 114

def tree(repo, ref, path, custom_data = {})
  if oid = lookup_ref_oid(repo, ref)
    return redirect(router.tree_url(repo, oid, path), 307)
  end

  data = (custom_data || {}).merge(lookup.tree(repo, u(ref), path))
  tree = data[:tree]
  return redirect(router.blob_url(repo, ref, path)) if tree.class.to_s !~ /\bTree/
  [200, headers(:ref => ref), [renderer.render(:tree, data)]]
end