Skip to content

Commit

Permalink
(CAT-1646) - Remove section if its not have any settings
Browse files Browse the repository at this point in the history
  • Loading branch information
Ramesh7 committed Mar 7, 2024
1 parent 94a3c57 commit ac3f688
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
3 changes: 3 additions & 0 deletions lib/puppet/util/ini_file.rb
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@ def read_section(name, start_line, line_iter)
end_line_num = start_line
min_indentation = nil
empty = true
empty_line_count = 0
loop do
line, line_num = line_iter.peek
if line_num.nil? || @section_regex.match(line)
Expand All @@ -237,6 +238,8 @@ def read_section(name, start_line, line_iter)
min_indentation = [indentation, min_indentation || indentation].min
end
end_line_num = line_num
empty_line_count += 1 if line == "\n"

empty = false
line_iter.next
end
Expand Down
5 changes: 3 additions & 2 deletions lib/puppet/util/ini_file/section.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@ class Section
# `end_line` of `nil`.
# * `start_line` and `end_line` will be set to `nil` for a new non-global
# section.
def initialize(name, start_line, end_line, settings, indentation)
def initialize(name, start_line, end_line, settings, indentation, empty_line_count = 0)
@name = name
@start_line = start_line
@end_line = end_line
@existing_settings = settings.nil? ? {} : settings
@additional_settings = {}
@indentation = indentation
@empty_line_count = empty_line_count
end

attr_reader :name, :start_line, :end_line, :additional_settings, :indentation
Expand Down Expand Up @@ -50,7 +51,7 @@ def existing_setting?(setting_name)
# the global section is empty whenever it's new;
# other sections are empty when they have no lines
def empty?
global? ? new_section? : start_line == end_line
global? ? new_section? : (start_line == end_line || (end_line && end_line - @empty_line_count) == start_line)
end

def update_existing_setting(setting_name, value)
Expand Down

0 comments on commit ac3f688

Please sign in to comment.