Method: Fluentd::Setting::Config#delete_element

Defined in:
app/models/fluentd/setting/config.rb

#delete_element(name, arg, element) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'app/models/fluentd/setting/config.rb', line 66

def delete_element(name, arg, element)
  if name == "label"
    label_section = fl_config.elements(name: name, arg: arg).first
    original_size = label_section.elements.size
    remaining_elements = label_section.elements.reject do |e|
      element == e
    end
    if remaining_elements.empty?
      remaining_elements = fl_config.elements.reject do |e|
        label_section == e
      end
      fl_config.elements = remaining_elements
      return element
    else
      label_section.elements = remaining_elements
      if original_size == label_section.elements.size
        return nil
      else
        return element
      end
    end
  else
    original_size = fl_config.elements.size
    remaining_elements = fl_config.elements.reject do |e|
      element == e
    end
    fl_config.elements = remaining_elements
    if original_size == fl_config.elements.size
      return nil
    else
      return element
    end
  end
end