Sha256: c6c9961a8dc977d16bc656bebf749865868a0915960c0108170c5e170034f7cd

Contents?: true

Size: 1.91 KB

Versions: 3

Compression:

Stored size: 1.91 KB

Contents

# coding: utf-8

module Thinreports
  module Core::Shape

    class List::Configuration
      # @return [Thinreports::Core::Shape::List::Store]
      # @deprecated
      #   `List::Page#store` will be removed in the next major version.
      #   You can create a list using #on_page_footer_insert, #on_footer_insert and #on_page_finalize callbacks instead.
      #   See also https://github.com/thinreports/thinreports-generator/blob/master/examples/list_events/list_events.rb.
      attr_reader :store

      # @param [Thinreports::Core::Shape::List::Events, nil] events (nil)
      # @param [Thinreports::Core::Shape::List::Store, nil] store (nil)
      def initialize(events = nil, store = nil)
        @events = events || List::Events.new
        @store  = store
      end

      # @return [Thinreports::Core::Shape::List::Events]
      # @deprecated
      #   `List::Page#events` will be removed in the next major version.
      #   Please use #on_page_footer_insert, #on_footer_insert and #on_page_finalize callbacks instead.
      #   See also https://github.com/thinreports/thinreports-generator/blob/master/examples/list_events/list_events.rb.
      def events
        warn '[DEPRECATION] `List#events` will be removed in the next major version. ' +
             'Please use #on_page_footer_insert, #on_footer_insert and #on_page_finalize callbacks instead. ' +
             'See also https://github.com/thinreports/thinreports-generator/blob/master/examples/list_events/list_events.rb.'
        @events
      end

      def internal_events
        @events
      end

      # @param [Hash] stores name: default value
      def use_stores(stores)
        @store = List::Store.init(stores)
      end

      # @return [Thinreports::Core::Shape::List::Configuration]
      def copy
        self.class.new(@events.copy, @store && @store.copy)
      end

      # @return [String]
      def type
        List::TYPE_NAME
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
thinreports-0.8.2 lib/thinreports/core/shape/list/configuration.rb
thinreports-0.8.1 lib/thinreports/core/shape/list/configuration.rb
thinreports-0.8.0 lib/thinreports/core/shape/list/configuration.rb