Class: Git::Status::StatusFile

Inherits:
Object
  • Object
show all
Defined in:
lib/git/status.rb

Overview

subclass that does heavy lifting

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base, hash) ⇒ StatusFile

Returns a new instance of StatusFile.



133
134
135
136
137
138
139
140
141
142
143
# File 'lib/git/status.rb', line 133

def initialize(base, hash)
  @base = base
  @path = hash[:path]
  @type = hash[:type]
  @stage = hash[:stage]
  @mode_index = hash[:mode_index]
  @mode_repo = hash[:mode_repo]
  @sha_index = hash[:sha_index]
  @sha_repo = hash[:sha_repo]
  @untracked = hash[:untracked]
end

Instance Attribute Details

#mode_index

Returns the value of attribute mode_index.



130
131
132
# File 'lib/git/status.rb', line 130

def mode_index
  @mode_index
end

#mode_repo

Returns the value of attribute mode_repo.



130
131
132
# File 'lib/git/status.rb', line 130

def mode_repo
  @mode_repo
end

#path

Returns the value of attribute path.



129
130
131
# File 'lib/git/status.rb', line 129

def path
  @path
end

#sha_index

Returns the value of attribute sha_index.



131
132
133
# File 'lib/git/status.rb', line 131

def sha_index
  @sha_index
end

#sha_repo

Returns the value of attribute sha_repo.



131
132
133
# File 'lib/git/status.rb', line 131

def sha_repo
  @sha_repo
end

#stage

Returns the value of attribute stage.



129
130
131
# File 'lib/git/status.rb', line 129

def stage
  @stage
end

#type

Returns the value of attribute type.



129
130
131
# File 'lib/git/status.rb', line 129

def type
  @type
end

#untracked

Returns the value of attribute untracked.



129
130
131
# File 'lib/git/status.rb', line 129

def untracked
  @untracked
end

Instance Method Details

#blob(type = :index)



145
146
147
148
149
150
151
152
153
154
155
# File 'lib/git/status.rb', line 145

def blob(type = :index)
  if type == :repo
    @base.object(@sha_repo)
  else
    begin
      @base.object(@sha_index)
    rescue
      @base.object(@sha_repo)
    end
  end
end