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
ECSCompatibilitySupportcannot 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 |