Module: LogStash::PluginMixins::ECSCompatibilitySupport
- Defined in:
- lib/logstash/plugin_mixins/ecs_compatibility_support.rb,
lib/logstash/plugin_mixins/ecs_compatibility_support/selector.rb,
lib/logstash/plugin_mixins/ecs_compatibility_support/spec_helper.rb,
lib/logstash/plugin_mixins/ecs_compatibility_support/target_check.rb
Overview
This ‘ECSCompatibilitySupport` can be included in any `LogStash::Plugin`, and will ensure that the plugin provides an `ecs_compatibility` option that accepts the literal `disabled` or a v-prefixed integer representing a major version of ECS (e.g., `v1`).
When included into a Logstash plugin that already has the option (e.g., when run on a Logstash release that includes this option on all plugins), this adapter will NOT override the existing implementation.
Defined Under Namespace
Modules: LegacyAdapter, SpecHelper, TargetCheck Classes: Selector
Class Method Summary collapse
-
.extended(base) ⇒ Object
private
This ‘ECSCompatibilitySupport` cannot be extended into an existing object.
- .included(base) ⇒ void
Class Method Details
.extended(base) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This ‘ECSCompatibilitySupport` cannot be extended into an existing object.
38 39 40 |
# File 'lib/logstash/plugin_mixins/ecs_compatibility_support.rb', line 38 def self.extended(base) fail(ArgumentError, "`#{self}` cannot be extended into an existing object.") end |
.included(base) ⇒ void
This method returns an undefined value.
24 25 26 27 28 29 30 |
# File 'lib/logstash/plugin_mixins/ecs_compatibility_support.rb', line 24 def self.included(base) fail(ArgumentError, "`#{base}` must inherit LogStash::Plugin") unless base < LogStash::Plugin # If our base does not include an `ecs_compatibility` config option, # include the legacy adapter to ensure it gets defined. base.send(:include, LegacyAdapter) unless base.method_defined?(:ecs_compatibility) end |