Sha256: 4f7c14b82107375800a5f60ce0771499c8679135a3b66342b2b2361f14725ecc

Contents?: true

Size: 885 Bytes

Versions: 7

Compression:

Stored size: 885 Bytes

Contents

# frozen_string_literal: true

module Thinreports
  module Core
    module Shape
      module List
        class SectionFormat < Shape::Manager::Format
          config_reader :height
          config_reader relative_left: %w[translate x],
                        relative_top: %w[translate y]
          config_reader :style

          # For compatible 0.8.x format API
          config_checker true, display: %w[enabled]

          def initialize(*)
            super
            initialize_items(attributes['items'])
          end

          private

          def initialize_items(item_schemas)
            item_schemas.each do |item_schema|
              id, type = item_schema.values_at 'id', 'type'
              next if id.empty?

              shapes[id.to_sym] = Core::Shape::Format(type).new(item_schema)
            end
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
thinreports-0.12.1 lib/thinreports/core/shape/list/section_format.rb
thinreports-0.12.0 lib/thinreports/core/shape/list/section_format.rb
thinreports-0.11.0 lib/thinreports/core/shape/list/section_format.rb
thinreports-0.10.3 lib/thinreports/core/shape/list/section_format.rb
thinreports-0.10.2 lib/thinreports/core/shape/list/section_format.rb
thinreports-0.10.1 lib/thinreports/core/shape/list/section_format.rb
thinreports-0.10.0 lib/thinreports/core/shape/list/section_format.rb