class Tr8n::LanguageCaseRule
Public Instance Methods
apply(value)
click to toggle source
# File lib/tr8n/language_case_rule.rb, line 66 def apply(value) value = value.to_s return value if operations.nil? re = Tr8n::RulesEngine::Evaluator.new re.evaluate(['let', '@value', value]) re.evaluate(operations_expression) end
conditions_expression()
click to toggle source
# File lib/tr8n/language_case_rule.rb, line 37 def conditions_expression self.attributes[:conditions_expression] ||= Tr8n::RulesEngine::Parser.new(self.conditions).parse end
evaluate(value, object = nil)
click to toggle source
# File lib/tr8n/language_case_rule.rb, line 53 def evaluate(value, object = nil) return false if conditions.nil? re = Tr8n::RulesEngine::Evaluator.new re.evaluate(['let', '@value', value]) gender_variables(object).each do |key, value| re.evaluate(['let', key, value]) end re.evaluate(conditions_expression) end
gender_variables(object)
click to toggle source
# File lib/tr8n/language_case_rule.rb, line 45 def gender_variables(object) return {} unless self.conditions.index('@gender') return {'@gender' => 'unknown'} unless object context = language_case.language.context_by_keyword(:gender) return {'@gender' => 'unknown'} unless context context.vars(object) end
operations_expression()
click to toggle source
# File lib/tr8n/language_case_rule.rb, line 41 def operations_expression self.attributes[:operations_expression] ||= Tr8n::RulesEngine::Parser.new(self.operations).parse end