Module: Gity::Status

Included in:
Operation::Commit, Overview
Defined in:
lib/gity/status.rb

Instance Method Summary collapse

Instance Method Details

#status(ws) ⇒ Object



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
# File 'lib/gity/status.rb', line 7

def status(ws)

  stgDir, stgFiles = ws.staged_files
  modDir, modFiles = ws.modified_files
  newDir, newFiles = ws.new_files
  delDir, delFiles = ws.deleted_files

  modFiles.delete_if { |f| stgFiles.include?(f) }
  modDir.delete_if { |f| stgDir.include?(f) }

  newFiles.delete_if { |f| stgFiles.include?(f) }
  newDir.delete_if { |f| stgDir.include?(f) }

  delFiles.delete_if { |f| stgFiles.include?(f) }
  delDir.delete_if { |f| stgDir.include?(f) }

  res = { 
    modified: { files: modFiles, dirs: modDir }, 
    new:      { files: newFiles, dirs: newDir }, 
    deleted:  { files: delFiles, dirs: delDir }, 
    staged:   { files: stgFiles, dirs: stgDir } 
  } 

  StatusList.new(res)
  
end