Sha256: 60012d2ea1bafdab1ed911fe54a2defb215a2f5faf29c0b205d592fa9a3d5628

Contents?: true

Size: 905 Bytes

Versions: 2

Compression:

Stored size: 905 Bytes

Contents

# coding: utf-8

module Thinreports
  module Core::Shape::TextBlock

    module Formatter
      # @param [Thinreports::Core::Shape::TextBlock::Format] format
      # @return [Thinreports::Core::Shape::TextBlock::Formatter::Base]
      def self.setup(format)
        klass = if Thinreports.blank_value?(format.format_type)
          Basic
        else
          case format.format_type
          when 'number'   then Number
          when 'datetime' then Datetime
          when 'padding'  then Padding
          else
            raise Thinreports::Errors::UnknownFormatterType
          end
        end
        klass.new(format)
      end
    end

  end
end

require 'thinreports/core/shape/text_block/formatter/basic'
require 'thinreports/core/shape/text_block/formatter/datetime'
require 'thinreports/core/shape/text_block/formatter/padding'
require 'thinreports/core/shape/text_block/formatter/number'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
thinreports-0.8.1 lib/thinreports/core/shape/text_block/formatter.rb
thinreports-0.8.0 lib/thinreports/core/shape/text_block/formatter.rb