Method: Skeem::Runtime#evaluate
- Defined in:
- lib/skeem/runtime.rb
#evaluate(aKey) ⇒ Object
rubocop: disable Lint/UselessRescue
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/skeem/runtime.rb', line 40 def evaluate(aKey) key_value = normalize_key(aKey) if include?(key_value) entry = environment.fetch(key_value) result = nil begin result = entry.evaluate(self) rescue NoMethodError => e # $stderr.puts 'In rescue block' # $stderr.puts key_value.inspect # $stderr.puts entry.inspect # $stderr.puts entry.expression.inspect raise e end result else err = StandardError key = aKey.kind_of?(SkmIdentifier) ? aKey.value : key_value err_msg = "Unbound variable: '#{key}'" raise err, err_msg end end |