Class: Teckel::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/teckel/config.rb

Defined Under Namespace

Classes: FrozenConfigError

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig



16
17
18
19
20
21
22
23
24
25
# File 'lib/teckel/config.rb', line 16

def initialize
  @input_class = nil
  @input_constructor = nil

  @output_class = nil
  @output_constructor = nil

  @error_class = nil
  @error_constructor = nil
end

Class Method Details

.default_constructor(sym_or_proc = nil) ⇒ Object



9
10
11
12
13
# File 'lib/teckel/config.rb', line 9

def default_constructor(sym_or_proc = nil)
  return @default_constructor if sym_or_proc.nil?

  @default_constructor = sym_or_proc
end

Instance Method Details

#error(klass = nil) ⇒ Object

Raises:



55
56
57
58
59
60
# File 'lib/teckel/config.rb', line 55

def error(klass = nil)
  return @error_class if klass.nil?
  raise FrozenConfigError unless @error_class.nil?

  @error_class = klass
end

#error_constructor(sym_or_proc = nil) ⇒ Object

Raises:



62
63
64
65
66
67
# File 'lib/teckel/config.rb', line 62

def error_constructor(sym_or_proc = nil)
  return (@error_constructor || self.class.default_constructor) if sym_or_proc.nil?
  raise FrozenConfigError unless @error_constructor.nil?

  @error_constructor = sym_or_proc
end

#input(klass = nil) ⇒ Object

Raises:



27
28
29
30
31
32
# File 'lib/teckel/config.rb', line 27

def input(klass = nil)
  return @input_class if klass.nil?
  raise FrozenConfigError unless @input_class.nil?

  @input_class = klass
end

#input_constructor(sym_or_proc = nil) ⇒ Object

Raises:



34
35
36
37
38
39
# File 'lib/teckel/config.rb', line 34

def input_constructor(sym_or_proc = nil)
  return (@input_constructor || self.class.default_constructor) if sym_or_proc.nil?
  raise FrozenConfigError unless @input_constructor.nil?

  @input_constructor = sym_or_proc
end

#output(klass = nil) ⇒ Object

Raises:



41
42
43
44
45
46
# File 'lib/teckel/config.rb', line 41

def output(klass = nil)
  return @output_class if klass.nil?
  raise FrozenConfigError unless @output_class.nil?

  @output_class = klass
end

#output_constructor(sym_or_proc = nil) ⇒ Object

Raises:



48
49
50
51
52
53
# File 'lib/teckel/config.rb', line 48

def output_constructor(sym_or_proc = nil)
  return (@output_constructor || self.class.default_constructor) if sym_or_proc.nil?
  raise FrozenConfigError unless @output_constructor.nil?

  @output_constructor = sym_or_proc
end