Class: ThinReports::Core::Format::Base Abstract

Inherits:
Object
  • Object
show all
Extended by:
Builder
Defined in:
lib/thinreports/core/format/base.rb

Overview

This class is abstract.

Direct Known Subclasses

Shape::Basic::Format, Shape::Manager::Format

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Builder

build

Constructor Details

#initialize(config, &block) ⇒ Base

Returns a new instance of Base.



58
59
60
61
# File 'lib/thinreports/core/format/base.rb', line 58

def initialize(config, &block)
  @config = config
  block.call(self) if ::Kernel.block_given?
end

Class Method Details

.config_accessor(*configs, &block) ⇒ Object



31
32
33
34
# File 'lib/thinreports/core/format/base.rb', line 31

def config_accessor(*configs, &block)
  config_reader(*configs, &block)
  config_writer(*configs)
end

.config_checker(check, *configs) ⇒ Object



18
19
20
21
22
23
# File 'lib/thinreports/core/format/base.rb', line 18

def config_checker(check, *configs)
  checker = lambda {|val| val == check}
  each_configs(*configs) do |m, location|
    define_read_method(:"#{m}?", location, &checker)
  end
end

.config_reader(*configs, &block) ⇒ Object



12
13
14
15
16
# File 'lib/thinreports/core/format/base.rb', line 12

def config_reader(*configs, &block)
  each_configs(*configs) do |m, location|
    define_read_method(m, location, &block)
  end
end

.config_writer(*configs) ⇒ Object



25
26
27
28
29
# File 'lib/thinreports/core/format/base.rb', line 25

def config_writer(*configs)
  each_configs(*configs) do |m, location|
    define_write_method(m, location)
  end
end