Class: ThemeCheck::LocaleDiff

Inherits:
Object
  • Object
show all
Defined in:
lib/theme_check/locale_diff.rb

Constant Summary collapse

PLURALIZATION_KEYS =
Set.new(["zero", "one", "two", "few", "many", "other"])

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default, other) ⇒ LocaleDiff

Returns a new instance of LocaleDiff.



8
9
10
11
12
13
14
15
# File 'lib/theme_check/locale_diff.rb', line 8

def initialize(default, other)
  @default = default
  @other = other
  @extra_keys = []
  @missing_keys = []

  visit_object(@default, @other, [])
end

Instance Attribute Details

#extra_keysObject (readonly)

Returns the value of attribute extra_keys.



6
7
8
# File 'lib/theme_check/locale_diff.rb', line 6

def extra_keys
  @extra_keys
end

#missing_keysObject (readonly)

Returns the value of attribute missing_keys.



6
7
8
# File 'lib/theme_check/locale_diff.rb', line 6

def missing_keys
  @missing_keys
end

Instance Method Details

#add_as_offenses(check, key_prefix: [], node: nil, template: nil) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/theme_check/locale_diff.rb', line 17

def add_as_offenses(check, key_prefix: [], node: nil, template: nil)
  if extra_keys.any?
    add_keys_offense(check, "Extra translation keys", extra_keys,
      key_prefix: key_prefix, node: node, template: template)
  end

  if missing_keys.any?
    add_keys_offense(check, "Missing translation keys", missing_keys,
      key_prefix: key_prefix, node: node, template: template)
  end
end