Class: LogStash::Setting
- Inherits:
-
Object
show all
- Includes:
- Util::Loggable
- Defined in:
- lib/logstash/settings.rb
Defined Under Namespace
Classes: ArrayCoercible, Boolean, Bytes, Coercible, ExistingFilePath, Integer, Modules, NullableString, Numeric, Port, PortRange, PositiveInteger, SplittableStringArray, String, TimeValue, Validator, WritableDirectory
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(name, klass, default = nil, strict = true, &validator_proc) ⇒ Setting
Returns a new instance of Setting.
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
# File 'lib/logstash/settings.rb', line 170
def initialize(name, klass, default=nil, strict=true, &validator_proc)
@name = name
unless klass.is_a?(Class)
raise ArgumentError.new("Setting \"#{@name}\" must be initialized with a class (received #{klass})")
end
@klass = klass
@validator_proc = validator_proc
@value = nil
@value_is_set = false
@strict = strict
validate(default) if @strict
@default = default
end
|
Instance Attribute Details
#default ⇒ Object
Returns the value of attribute default.
168
169
170
|
# File 'lib/logstash/settings.rb', line 168
def default
@default
end
|
#name ⇒ Object
Returns the value of attribute name.
168
169
170
|
# File 'lib/logstash/settings.rb', line 168
def name
@name
end
|
Instance Method Details
#==(other) ⇒ Object
224
225
226
|
# File 'lib/logstash/settings.rb', line 224
def ==(other)
self.to_hash == other.to_hash
end
|
#reset ⇒ Object
204
205
206
207
|
# File 'lib/logstash/settings.rb', line 204
def reset
@value = nil
@value_is_set = false
end
|
#set(value) ⇒ Object
197
198
199
200
201
202
|
# File 'lib/logstash/settings.rb', line 197
def set(value)
validate(value) if @strict
@value = value
@value_is_set = true
@value
end
|
189
190
191
|
# File 'lib/logstash/settings.rb', line 189
def set?
@value_is_set
end
|
193
194
195
|
# File 'lib/logstash/settings.rb', line 193
def strict?
@strict
end
|
#to_hash ⇒ Object
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
# File 'lib/logstash/settings.rb', line 209
def to_hash
{
"name" => @name,
"klass" => @klass,
"value" => @value,
"value_is_set" => @value_is_set,
"default" => @default,
}
end
|
#validate_value ⇒ Object
228
229
230
|
# File 'lib/logstash/settings.rb', line 228
def validate_value
validate(value)
end
|
#value ⇒ Object
185
186
187
|
# File 'lib/logstash/settings.rb', line 185
def value
@value_is_set ? @value : default
end
|