class Shiftly::Config
Constants
- DEFAULT_CONFIG
Public Class Methods
default_config()
click to toggle source
# File lib/shiftly/config.rb, line 50 def default_config deep_dup(DEFAULT_CONFIG) end
load(file)
click to toggle source
# File lib/shiftly/config.rb, line 39 def load(file) reset data = YAML::load(file.respond_to?(:read) ? file : File.open(file)) config = (data['shiftly'] || {}) config_vars = %w(beginning_of_factory_day shift_length number_of_shifts) config_vars.each do |var| send("#{var}=", config[var]) if config[var] && respond_to?("#{var}=") end end
Private Class Methods
config()
click to toggle source
# File lib/shiftly/config.rb, line 14 def config Thread.main[:shiftly_config] ||= default_config end
config=(config)
click to toggle source
# File lib/shiftly/config.rb, line 18 def config=(config) Thread.main[:shiftly_config] = config end
deep_dup(object)
click to toggle source
# File lib/shiftly/config.rb, line 60 def deep_dup(object) Marshal.load(Marshal.dump(object)) end
reset()
click to toggle source
# File lib/shiftly/config.rb, line 56 def reset self.config = default_config end
threadsafe_cattr_accessor(name)
click to toggle source
# File lib/shiftly/config.rb, line 22 def threadsafe_cattr_accessor(name) define_singleton_method name do config[name] end define_singleton_method "#{name}=" do |value| config[name] = value end end