Sha256: df462067c3456f172eaa1102001c7305d62cf4dd262e4a599e00562bd56bbdca

Contents?: true

Size: 727 Bytes

Versions: 4

Compression:

Stored size: 727 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
    
    # @private
    def self.register(type, generator)
      registry[type] = generator
    end
    
    # @private
    def self.registry
      @generators ||= {}
    end
  end
end

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
thinreports-0.7.7 lib/thinreports/generator.rb
thinreports-0.7.6 lib/thinreports/generator.rb
thinreports-0.7.5 lib/thinreports/generator.rb
thinreports-0.7.0 lib/thinreports/generator.rb