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