module FlightConfig::Deleter::ClassMethods

Public Instance Methods

delete(*a) { |config)| ... } click to toggle source
# 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