class Thinreports::Core::Shape::Base::Interface

@abstract

Attributes

internal[R]

Public Class Methods

new(parent, format, internal = nil) click to toggle source
# File lib/thinreports/core/shape/base/interface.rb, line 19
def initialize(parent, format, internal = nil)
  @internal = internal || init_internal(parent, format)
end

Private Class Methods

internal_delegators(*args) click to toggle source
# File lib/thinreports/core/shape/base/interface.rb, line 12
def self.internal_delegators(*args)
  def_delegators :internal, *args
end

Public Instance Methods

copy(parent) click to toggle source
# File lib/thinreports/core/shape/base/interface.rb, line 23
def copy(parent)
  self.class.new(parent, internal.format, internal.copy(parent))
end

Private Instance Methods

init_internal(parent, format) click to toggle source

@param [Thinreports::Report::Page, Thinreports::Core::Shape::List::SectionInterface] parent @param [Thinreports::Core::Shape::Basic::Format] format @return [Thinreports::Core::Shape::Basic::Internal] @abstract

# File lib/thinreports/core/shape/base/interface.rb, line 33
def init_internal(parent, format)
  raise NotImplementedError
end