Module: FlightConfig::Deleter::ClassMethods

Defined in:
lib/flight_config/deleter.rb

Instance Method Summary collapse

Instance Method Details

#delete(*a) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/flight_config/deleter.rb', line 44

def delete(*a)
  new!(*a, read_mode: true) do |config|
    Deleter.delete_error_if_missing(config)
    Core.log(config, 'delete')
    Core.lock(config) do
      config.__data__
      if block_given? && !(yield config)
        Core.log(config, 'delete (failed)')
        Core.write(config)
        Core.log(config, 'delete (saved)')
      else
        FileUtils.rm_f(config.path)
        Core.log(config, 'delete (done)')
      end
    end
  end
end