Class: Gitlab::Git::Diff

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab_git/diff.rb

Constant Summary collapse

BROKEN_DIFF =
"--broken-diff"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_diff) ⇒ Diff

Returns a new instance of Diff.



17
18
19
20
21
22
23
24
25
# File 'lib/gitlab_git/diff.rb', line 17

def initialize(raw_diff)
  raise "Nil as raw diff passed" unless raw_diff

  if raw_diff.is_a?(Hash)
    init_from_hash(raw_diff)
  else
    init_from_grit(raw_diff)
  end
end

Instance Attribute Details

#a_modeObject

Diff properties



12
13
14
# File 'lib/gitlab_git/diff.rb', line 12

def a_mode
  @a_mode
end

#b_modeObject

Diff properties



12
13
14
# File 'lib/gitlab_git/diff.rb', line 12

def b_mode
  @b_mode
end

#deleted_fileObject

Stats properties



15
16
17
# File 'lib/gitlab_git/diff.rb', line 15

def deleted_file
  @deleted_file
end

#diffObject

Diff properties



12
13
14
# File 'lib/gitlab_git/diff.rb', line 12

def diff
  @diff
end

#new_fileObject

Stats properties



15
16
17
# File 'lib/gitlab_git/diff.rb', line 15

def new_file
  @new_file
end

#new_pathObject

Diff properties



12
13
14
# File 'lib/gitlab_git/diff.rb', line 12

def new_path
  @new_path
end

#old_pathObject

Diff properties



12
13
14
# File 'lib/gitlab_git/diff.rb', line 12

def old_path
  @old_path
end

#raw_diffObject

Returns the value of attribute raw_diff.



9
10
11
# File 'lib/gitlab_git/diff.rb', line 9

def raw_diff
  @raw_diff
end

#renamed_fileObject

Stats properties



15
16
17
# File 'lib/gitlab_git/diff.rb', line 15

def renamed_file
  @renamed_file
end

Instance Method Details

#serialize_keysObject



27
28
29
# File 'lib/gitlab_git/diff.rb', line 27

def serialize_keys
  @serialize_keys ||= %w(diff new_path old_path a_mode b_mode new_file renamed_file deleted_file).map(&:to_sym)
end

#to_hashObject



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/gitlab_git/diff.rb', line 31

def to_hash
  hash = {}

  keys = serialize_keys

  keys.each do |key|
    hash[key] = send(key)
  end

  hash
end