summaryrefslogtreecommitdiff
path: root/app/models/tree.rb
blob: 6040680b969e782dcbb5ebf06224285eb5cd77a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Tree
  include Utils::FileHelper
  attr_accessor :path, :tree, :project, :ref

  delegate :contents,
    :basename,
    :name,
    :data,
    :mime_type,
    :mode,
    :size,
    :text?,
    :colorize,
    :to => :tree

  def initialize(raw_tree, project, ref = nil, path = nil)
    @project, @ref, @path = project, ref, path,
    @tree = if path
              raw_tree / path
            else
              raw_tree
            end
  end

  def is_blob?
    tree.is_a?(Grit::Blob)
  end

  def empty?
    data.blank?
  end
end