Class: LogStash::Setting
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
included, #logger, #slow_logger
Constructor Details
#initialize(name, klass, default = nil, strict = true, &validator_proc) ⇒ Setting
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
# File 'lib/logstash/settings.rb', line 171
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.
169
170
171
|
# File 'lib/logstash/settings.rb', line 169
def default
@default
end
|
#name ⇒ Object
Returns the value of attribute name.
169
170
171
|
# File 'lib/logstash/settings.rb', line 169
def name
@name
end
|
Instance Method Details
#==(other) ⇒ Object
225
226
227
|
# File 'lib/logstash/settings.rb', line 225
def ==(other)
self.to_hash == other.to_hash
end
|
#reset ⇒ Object
205
206
207
208
|
# File 'lib/logstash/settings.rb', line 205
def reset
@value = nil
@value_is_set = false
end
|
#set(value) ⇒ Object
198
199
200
201
202
203
|
# File 'lib/logstash/settings.rb', line 198
def set(value)
validate(value) if @strict
@value = value
@value_is_set = true
@value
end
|
190
191
192
|
# File 'lib/logstash/settings.rb', line 190
def set?
@value_is_set
end
|
194
195
196
|
# File 'lib/logstash/settings.rb', line 194
def strict?
@strict
end
|
#to_hash ⇒ Object
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
# File 'lib/logstash/settings.rb', line 210
def to_hash
{
"name" => @name,
"klass" => @klass,
"value" => @value,
"value_is_set" => @value_is_set,
"default" => @default,
}
end
|
#validate_value ⇒ Object
229
230
231
|
# File 'lib/logstash/settings.rb', line 229
def validate_value
validate(value)
end
|
#value ⇒ Object
186
187
188
|
# File 'lib/logstash/settings.rb', line 186
def value
@value_is_set ? @value : default
end
|