class Tr8n::Translation
Public Instance Methods
has_context_rules?()
click to toggle source
# File lib/tr8n/translation.rb, line 37 def has_context_rules? context and context.any? end
matches_rules?(token_values)
click to toggle source
checks if the translation is valid for the given tokens
{
"count" => {"number":"one"}, "user" => {"gender":"male"}
}
# File lib/tr8n/translation.rb, line 46 def matches_rules?(token_values) return true unless has_context_rules? context.each do |token_name, rules| token_object = Tr8n::Tokens::Data.token_object(token_values, token_name) return false unless token_object rules.each do |context_key, rule_key| next if rule_key == 'other' context = language.context_by_keyword(context_key) return false unless context rule = context.find_matching_rule(token_object) return false if rule.nil? or rule.keyword != rule_key end end true end