Method: D13n::Configuration::ServerSource.filter_keys

Defined in:
lib/d13n/configuration/server_source.rb

.filter_keys(instance) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/d13n/configuration/server_source.rb', line 60

def self.filter_keys(instance)
  instance.delete_if do |key, _|
    s_key = key.to_s
    if s_key.match(SERVICE_PREFIXES) || s_key.match(PROPERTY_PREFIXES) || s_key.match(IDC_PREFIXES) || s_key.match(CLIENT_PREFIXES) || s_key.match(JURISDICTION_PREFIXES)
      false
    else
      setting_spec = DEFAULTS[key.to_sym]
      if setting_spec
        if setting_spec[:allowed_from_server]
          instance.set_key_by_type(key)
          false # it's allowed, so don't delete it
        else
          D13n.logger.warn("Ignoring server-sent config for '#{key}' - this setting cannot be set from the server")
          true # delete it
        end
      else
        D13n.logger.debug("Ignoring unrecognized config key from server: '#{key}'")
        true
      end
    end
  end
end