class Wovnrb::Settings

Constants

DYNAMIC_KEYS

Public Class Methods

new(*args, **kwargs) click to toggle source
Calls superclass method
# File lib/wovnrb/settings.rb, line 3
def initialize(*args, **kwargs)
  super(*args, **kwargs)
  @dynamic_settings = {}
end

Public Instance Methods

[](key) click to toggle source
Calls superclass method
# File lib/wovnrb/settings.rb, line 8
def [](key)
  return @dynamic_settings[key] if @dynamic_settings.key?(key)
  return IgnoreGlobsWrapper.new(ignore_globs) if key == 'ignore_globs'

  super(key)
end
clear_dynamic_settings!() click to toggle source
# File lib/wovnrb/settings.rb, line 22
def clear_dynamic_settings!
  @dynamic_settings.clear
end
ignore_globs() click to toggle source
# File lib/wovnrb/settings.rb, line 15
def ignore_globs
  ignore_paths = self['ignore_paths']
  return [] unless ignore_paths.is_a?(Array)

  ignore_paths.map { |pattern| Glob.new(pattern) }
end
update_dynamic_settings!(params) click to toggle source
# File lib/wovnrb/settings.rb, line 26
def update_dynamic_settings!(params)
  # If the user defines dynamic settings for this request, use it instead of the config
  DYNAMIC_KEYS.each do |params_key, setting_key|
    value = params[params_key]
    @dynamic_settings[setting_key] = value if value
  end
end