Sha256: 5b7f0cf10323122c2b7372438a84e292b41c359c2a4953700e5b19bd4d9633c9

Contents?: true

Size: 899 Bytes

Versions: 1

Compression:

Stored size: 899 Bytes

Contents

module Skylight
  module Normalize
    @registry = {}

    def self.normalize(trace, name, payload)
      klass = @registry[name]

      if klass
        klass.new(trace, name, payload).normalize
      else
        Default.new(trace, name, payload).normalize
      end
    end

    def self.register(name, klass)
      @registry[name] = klass
    end
  end

  class Normalizer
    def self.register(name)
      Normalize.register(name, self)
    end

    def initialize(trace, name, payload)
      @trace, @name, @payload = trace, name, payload
    end
  end
end

require "skylight/normalize/default"
require "skylight/normalize/start_processing"
require "skylight/normalize/process_action"
require "skylight/normalize/render_collection"
require "skylight/normalize/render_template"
require "skylight/normalize/render_partial"
require "skylight/normalize/send_file"
require "skylight/normalize/sql"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
skylight-0.0.7 lib/skylight/normalize.rb