Sha256: 1b2998a77c6592b6dd492f194f271fa902a0cb66a2eea961ab5343e5ce4c9909

Contents?: true

Size: 689 Bytes

Versions: 3

Compression:

Stored size: 689 Bytes

Contents

# coding: utf-8

module Thinreports

  module Generator
    # @param [Symbol] type
    # @param report (see Thinreports::Generator::Base#initialize)
    # @param options (see Thinreports::Generator::Base#initialize)
    def self.new(type, report, options = {})
      generator = registry[type]

      raise Thinreports::Errors::UnknownGeneratorType.new(type) unless generator

      generator.new(report, options)
    end

    def self.register(type, generator)
      registry[type] = generator
    end

    def self.registry
      @generators ||= {}
    end
  end
end

require 'thinreports/generator/configuration'
require 'thinreports/generator/base'
require 'thinreports/generator/pdf'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
thinreports-0.9.1 lib/thinreports/generator.rb
thinreports-0.9.0 lib/thinreports/generator.rb
thinreports-0.8.2 lib/thinreports/generator.rb