Class: PluralizationValidator
- Inherits:
-
Object
- Object
- PluralizationValidator
- Defined in:
- lib/pluralization-validator.rb
Class Method Summary collapse
- .validate(language, yaml_object) ⇒ Object
- .validate_object(language, full_key, yaml_object) ⇒ Object
- .validate_pluralization(language, full_key, yaml_object) ⇒ Object
Class Method Details
.validate(language, yaml_object) ⇒ Object
27 28 29 |
# File 'lib/pluralization-validator.rb', line 27 def self.validate(language, yaml_object) validate_object(language, '', yaml_object) end |
.validate_object(language, full_key, yaml_object) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/pluralization-validator.rb', line 31 def self.validate_object(language, full_key, yaml_object) return [] if yaml_object.nil? if Helpers.pluralization? yaml_object self.validate_pluralization(language, full_key, yaml_object) else errors = [] yaml_object.each do |key, value| if value.is_a? Hash full_subkey = (full_key.empty?) ? key : "#{full_key}.#{key}" errors.concat validate_object(language, full_subkey, value) end end errors end end |
.validate_pluralization(language, full_key, yaml_object) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/pluralization-validator.rb', line 48 def self.validate_pluralization(language, full_key, yaml_object) language = language.to_sym if KEYS_BY_LANGUAGE.has_key? language errors = [] KEYS_BY_LANGUAGE[language].each do |key| unless (yaml_object.has_key? key) or (yaml_object.has_key? key.to_s) errors << "missing '#{key.to_s}' pluralization for '#{full_key}'" end end errors else [] end end |