Module: I18nContextGenerator::GeneratedComment

Defined in:
lib/i18n_context_generator/generated_comment.rb

Overview

Shared ownership and merge rules for context generated into destination comments. Writers remain responsible for destination-specific escaping.

Class Method Summary collapse

Class Method Details

.managed?(comment, prefix:) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/i18n_context_generator/generated_comment.rb', line 23

def managed?(comment, prefix:)
  prefix.empty? || comment.to_s.include?(prefix)
end

.merge(existing:, generated:, prefix:, mode:, separator:) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/i18n_context_generator/generated_comment.rb', line 9

def merge(existing:, generated:, prefix:, mode:, separator:)
  return generated if existing.nil? || existing.empty? || mode.to_s == 'replace'

  if prefix.empty?
    return existing if existing.include?(generated)

    return "#{existing}#{separator}#{generated}"
  end

  return replace_managed(existing, generated, prefix) if managed?(existing, prefix: prefix)

  "#{existing}#{separator}#{generated}"
end