Class: Thinreports::BasicReport::Core::Format::Base Abstract

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

Overview

This class is abstract.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config, &block) ⇒ Base

Returns a new instance of Base.



56
57
58
59
# File 'lib/thinreports/basic_report/core/format/base.rb', line 56

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

Class Method Details

.config_accessor(*configs, &block) ⇒ Object



29
30
31
32
# File 'lib/thinreports/basic_report/core/format/base.rb', line 29

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

.config_checker(check, *configs) ⇒ Object



16
17
18
19
20
21
# File 'lib/thinreports/basic_report/core/format/base.rb', line 16

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

.config_reader(*configs, &block) ⇒ Object



10
11
12
13
14
# File 'lib/thinreports/basic_report/core/format/base.rb', line 10

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

.config_writer(*configs) ⇒ Object



23
24
25
26
27
# File 'lib/thinreports/basic_report/core/format/base.rb', line 23

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

Instance Method Details

#attributesObject



61
62
63
# File 'lib/thinreports/basic_report/core/format/base.rb', line 61

def attributes
  @config
end