Class: Confuse::ConfigItem

Inherits:
Object
  • Object
show all
Defined in:
lib/confuse/config_item.rb

Overview

A ConfigItem is a class for storing a single piece of config. It has a key, a type, a description, and a default value.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, &block) ⇒ ConfigItem

Returns a new instance of ConfigItem.



9
10
11
12
# File 'lib/confuse/config_item.rb', line 9

def initialize(name, &block)
  @key = name
  instance_eval(&block) unless block.nil?
end

Instance Attribute Details

#default_valueObject (readonly)

Returns the value of attribute default_value.



7
8
9
# File 'lib/confuse/config_item.rb', line 7

def default_value
  @default_value
end

#keyObject (readonly)

Returns the value of attribute key.



5
6
7
# File 'lib/confuse/config_item.rb', line 5

def key
  @key
end

#valueObject



33
34
35
# File 'lib/confuse/config_item.rb', line 33

def value
  @value || @default_value
end

Instance Method Details

#default(value = nil, &block) ⇒ Object



24
25
26
27
# File 'lib/confuse/config_item.rb', line 24

def default(value = nil, &block)
  @default_value = value unless value.nil?
  @default_value = block unless block.nil?
end

#description(description = nil) ⇒ Object



14
15
16
17
# File 'lib/confuse/config_item.rb', line 14

def description(description = nil)
  @description = description unless description.nil?
  @description
end

#type(type = nil) ⇒ Object



19
20
21
22
# File 'lib/confuse/config_item.rb', line 19

def type(type = nil)
  @type = type unless type.nil?
  @type
end