Sha256: a53d3ea61ae90ef7e92b8ff626afa39fecbcab42c130cada0823084a63e4ffd1

Contents?: true

Size: 1.87 KB

Versions: 2

Compression:

Stored size: 1.87 KB

Contents

# coding: utf-8

module Thinreports
  # @yield [config]
  # @yieldparam [Thinreports::Configuration] config
  def self.configure(&block)
    Thinreports.call_block_in(self.config, &block)
  end

  # @return [Thinreports::Configuration]
  def self.config
    @config ||= Thinreports::Configuration.new
  end

  class Configuration
    def initialize
      @fallback_fonts = []
      @convert_palleted_transparency_png = false
    end

    # @return [Array<String>]
    # @example
    #   config.fallback_fonts # => ['Times New Roman', '/path/to/font.ttf']
    def fallback_fonts
      @fallback_fonts ||= []
    end

    # @param [Array<String>,String] font_names
    # @example
    #   config.fallback_fonts = 'Times New Roman'
    #   config.fallback_fonts = '/path/to/font.ttf'
    #   config.fallback_fonts = ['/path/to/font.ttf', 'IPAGothic']
    def fallback_fonts=(font_names)
      @fallback_fonts = font_names.is_a?(Array) ? font_names : [font_names]
    end

    # @return [Boolean]
    # @see https://github.com/thinreports/thinreports-generator/pull/32
    attr_reader :convert_palleted_transparency_png

    # @param [Boolean]
    # @example
    #   config.convert_palleted_transparency_png = true
    #   config.convert_palleted_transparency_png = false # default
    # @see https://github.com/thinreports/thinreports-generator/pull/32
    # @deprecated convert_palleted_transparency_png is deprecated and will be removed in thinreports-generator 1.0 with no replacement
    def convert_palleted_transparency_png=(enable)
      warn '[DEPRECATION] convert_palleted_transparency_png is deprecated' \
           ' and will be removed in thinreports-generator 1.0 with no replacement.' if enable
      @convert_palleted_transparency_png = enable
    end

    # @return [Thinreports::Generator::Configuration]
    def generator
      @generator ||= Thinreports::Generator::Configuration.new
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
thinreports-0.9.1 lib/thinreports/config.rb
thinreports-0.9.0 lib/thinreports/config.rb