7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'app/models/concerns/fluentd/setting/registry_loader.rb', line 7
def define_all_attributes(section_name)
registry = case section_name
when :buffer
Fluent::Plugin::BUFFER_REGISTRY
when :storage
Fluent::Plugin::STORAGE_REGISTRY
when :parse
Fluent::Plugin::PARSER_REGISTRY
when :format
Fluent::Plugin::FORMATTER_REGISTRY
end
registry.map.each do |key, plugin_class|
plugin_class.ancestors.reverse_each do |klass|
next unless klass.respond_to?(:dump_config_definition)
begin
dumped_config_definition = klass.dump_config_definition
self._dumped_config[klass.name] = dumped_config_definition unless dumped_config_definition.empty?
rescue NoMethodError
end
end
end
attribute(:type, :string)
self._types[:type] = :string
self._dumped_config.values.map(&:keys).flatten.uniq.each do |name|
attribute(name, :object)
self._types[name] = :object
end
end
|