class PiiSafeSchema::Configuration
Constants
- DEFAULT_IGNORE
- KNOWN_DD_CLIENTS
Public Class Methods
new()
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 10 def initialize @user_ignore = {} end
Public Instance Methods
datadog_client()
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 29 def datadog_client @datadog_client ||= KNOWN_DD_CLIENTS.find do |client| client.safe_constantize if defined?(client) end end
datadog_client=(client)
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 23 def datadog_client=(client) raise_config_error(:datadog_client) if client.present? && !client.respond_to?(:event) @datadog_client = client end
ignore()
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 19 def ignore @user_ignore.merge(DEFAULT_IGNORE) end
ignore=(ignore_params)
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 14 def ignore=(ignore_params) validate_ignore(ignore_params) @user_ignore = ignore_params end
ignore_columns()
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 40 def ignore_columns ignore.select { |_k, v| v.is_a?(Array) } end
ignore_tables()
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 36 def ignore_tables ignore.select { |_k, v| v.to_s == '*' }.keys.map(&:to_s) end
Private Instance Methods
raise_config_error(problem)
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 59 def raise_config_error(problem) raise ConfigurationError, problem end
valid_column_list?(value)
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 55 def valid_column_list?(value) value.is_a?(Array) && value.all? { |c| c.is_a?(Symbol) } end
validate_ignore(ignore_params)
click to toggle source
# File lib/pii_safe_schema/configuration.rb, line 46 def validate_ignore(ignore_params) raise_config_error(:ignore) unless ignore_params.is_a?(Hash) ignore_params.each_value do |ip| raise_config_error(:ignore) unless valid_column_list?(ip) || ip == :* end true end