Module: MultiGit::Ref::PessimisticUpdater

Included in:
PessimisticFileUpdater, MultiGit::RuggedBackend::Ref::PessimisticUpdater
Defined in:
lib/multi_git/ref.rb

Instance Method Summary collapse

Instance Method Details

#destroy!Object



188
189
190
# File 'lib/multi_git/ref.rb', line 188

def destroy!
  release_lock(@lock) if @lock
end

#initialize(*_) ⇒ Object



170
171
172
173
174
175
176
# File 'lib/multi_git/ref.rb', line 170

def initialize(*_)
  super
  ensure_dir!
  @lock = acquire_lock
  # safe now
  self.ref = ref.reload
end

#update(new) ⇒ Object



178
179
180
181
182
183
184
185
186
# File 'lib/multi_git/ref.rb', line 178

def update(new)
  nx = super
  if nx
    update!(nx)
  else
    remove!
  end
  return nx
end