module Skylight::Core::Normalizers
@api private Convert AS::N events to Skylight
events
Constants
- DEFAULT
Public Class Methods
build(config)
click to toggle source
# File lib/skylight/core/normalizers.rb, line 34 def self.build(config) normalizers = {} registry.each do |key, (klass, enabled)| next unless enabled unless klass.method_defined?(:normalize) # TODO: Warn next end normalizers[key] = klass.new(config) end Container.new(normalizers) end
disable(*names)
click to toggle source
# File lib/skylight/core/normalizers.rb, line 30 def self.disable(*names) enable(*names, enabled: false) end
enable(*names, enabled: true)
click to toggle source
# File lib/skylight/core/normalizers.rb, line 22 def self.enable(*names, enabled: true) names.each do |name| matches = registry.select { |n, _| n =~ /(^|\.)#{name}$/ } raise ArgumentError, "no normalizers match #{name}" if matches.empty? matches.values.each { |v| v[1] = enabled } end end
register(name, klass, opts = {})
click to toggle source
# File lib/skylight/core/normalizers.rb, line 13 def self.register(name, klass, opts = {}) enabled = opts[:enabled] != false registry[name] = [klass, enabled] end
registry()
click to toggle source
# File lib/skylight/core/normalizers.rb, line 9 def self.registry @registry ||= {} end
unregister(name)
click to toggle source
# File lib/skylight/core/normalizers.rb, line 18 def self.unregister(name) @registry.delete(name) end