Class: LogStash::Setting
Defined Under Namespace
Classes: ArrayCoercible, Boolean, Bytes, Coercible, ExistingFilePath, Integer, NullableString, Numeric, Port, PortRange, PositiveInteger, SplittableStringArray, String, TimeValue, Validator, WritableDirectory
Instance Attribute Summary collapse
Instance Method Summary
collapse
included, #logger, #slow_logger
Constructor Details
permalink
#initialize(name, klass, default = nil, strict = true, &validator_proc) ⇒ Setting
Returns a new instance of Setting.
[View source]
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
# File 'lib/logstash/settings.rb', line 163
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
Returns the value of attribute default.
161
162
163
|
# File 'lib/logstash/settings.rb', line 161
def default
@default
end
|
Returns the value of attribute name.
161
162
163
|
# File 'lib/logstash/settings.rb', line 161
def name
@name
end
|
Instance Method Details
permalink
#==(other) ⇒ Object
[View source]
217
218
219
|
# File 'lib/logstash/settings.rb', line 217
def ==(other)
self.to_hash == other.to_hash
end
|
[View source]
197
198
199
200
|
# File 'lib/logstash/settings.rb', line 197
def reset
@value = nil
@value_is_set = false
end
|
permalink
#set(value) ⇒ Object
[View source]
190
191
192
193
194
195
|
# File 'lib/logstash/settings.rb', line 190
def set(value)
validate(value) if @strict
@value = value
@value_is_set = true
@value
end
|
[View source]
182
183
184
|
# File 'lib/logstash/settings.rb', line 182
def set?
@value_is_set
end
|
[View source]
186
187
188
|
# File 'lib/logstash/settings.rb', line 186
def strict?
@strict
end
|
[View source]
202
203
204
205
206
207
208
209
210
211
212
213
214
215
|
# File 'lib/logstash/settings.rb', line 202
def to_hash
{
"name" => @name,
"klass" => @klass,
"value" => @value,
"value_is_set" => @value_is_set,
"default" => @default,
}
end
|
permalink
#validate_value ⇒ Object
[View source]
221
222
223
|
# File 'lib/logstash/settings.rb', line 221
def validate_value
validate(value)
end
|
[View source]
178
179
180
|
# File 'lib/logstash/settings.rb', line 178
def value
@value_is_set ? @value : default
end
|