module FlightConfig::Updater

Public Class Methods

create_error_if_exists(config) click to toggle source
# File lib/flight_config/updater.rb, line 50
    def self.create_error_if_exists(config)
      return unless File.exist?(config.path)
      raise CreateError, <<~ERROR.chomp
        Create failed! The config already exists: #{config.path}
      ERROR
    end
create_or_update(config, action:) { |config| ... } click to toggle source
# File lib/flight_config/updater.rb, line 38
def self.create_or_update(config, action:)
  Core.log(config, action)
  Core.lock(config) do
    config.__data__
    yield config if block_given?
    Core.log(config, "#{action} (write)")
    Core.write(config)
  end
  config.generate_indices if config.respond_to?(:generate_indices)
  Core.log(config, "#{action} (done)")
end
included(base) click to toggle source
# File lib/flight_config/updater.rb, line 34
def self.included(base)
  base.extend(ClassMethods)
end
update_error_if_missing(config) click to toggle source
# File lib/flight_config/updater.rb, line 57
    def self.update_error_if_missing(config)
      return if File.exists?(config.path)
      raise MissingFile, <<~ERROR.chomp
        Update failed! The config does not exist: #{config.path}
      ERROR
    end