Sha256: 2cc4044a34160984833d17e2f0bfad640bf7f68b83ee4feec7363f2ff5bbf0ed

Contents?: true

Size: 689 Bytes

Versions: 2

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 = {})
      unless generator = registry[type]
        raise Thinreports::Errors::UnknownGeneratorType.new(type)
      end
      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

2 entries across 2 versions & 1 rubygems

Version Path
thinreports-0.8.1 lib/thinreports/generator.rb
thinreports-0.8.0 lib/thinreports/generator.rb