class ProcessSettings::Watchdog

Constants

MAX_MTIME_DIFFERENCE

Attributes

process_settings_file_path[R]

Public Class Methods

new(process_settings_file_path) click to toggle source
# File lib/process_settings/helpers/watchdog.rb, line 11
def initialize(process_settings_file_path)
  @process_settings_file_path = process_settings_file_path or raise ArgumentError, "process_settings_file_path must be passed"
end

Public Instance Methods

check() click to toggle source
# File lib/process_settings/helpers/watchdog.rb, line 15
def check
  if version_from_memory != version_from_disk && (Time.now - mtime_from_disk) > MAX_MTIME_DIFFERENCE
    raise ProcessSettings::OutOfSync.new("ProcessSettings versions are out of sync!\n Version from Disk: #{version_from_disk}\n Version from Memory: #{version_from_memory}\n mtime of file: #{mtime_from_disk}")
  end
end

Private Instance Methods

mtime_from_disk() click to toggle source
# File lib/process_settings/helpers/watchdog.rb, line 33
def mtime_from_disk
  File.mtime(process_settings_file_path)
end
version_from_disk() click to toggle source
# File lib/process_settings/helpers/watchdog.rb, line 29
def version_from_disk
  ProcessSettings::TargetedSettings.from_file(process_settings_file_path, only_meta: true).version
end
version_from_memory() click to toggle source
# File lib/process_settings/helpers/watchdog.rb, line 25
def version_from_memory
  ProcessSettings.instance.untargeted_settings.version
end