From 8d6aafd6efc11e6dd93aa440361b4e4aa26d0941 Mon Sep 17 00:00:00 2001 From: cryptogopher Date: Wed, 6 May 2020 23:01:17 +0200 Subject: [PATCH] Model method calls should be indexed --- lib/body_tracking/formula_builder.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/body_tracking/formula_builder.rb b/lib/body_tracking/formula_builder.rb index fab0daa..fe4a42b 100644 --- a/lib/body_tracking/formula_builder.rb +++ b/lib/body_tracking/formula_builder.rb @@ -112,9 +112,14 @@ module BodyTracking when :bt_quantity if @quantity_methods[left[1]].include?(right[1]) part_index = @parts.length - @parts << {type: :unindexed, - content: "quantities['#{left[1]}']#{dot.to_s}#{right[1]}"} - [:bt_quantity_method_call, "parts[#{part_index}]", part_index] + if @quantity_methods.has_key?(left[1]) + [:bt_numeric_method_call, + "quantities['#{left[1]}'][_index]#{dot.to_s}#{right[1]}"] + else + @parts << {type: :unindexed, + content: "quantities['#{left[1]}']#{dot.to_s}#{right[1]}"} + [:bt_quantity_method_call, "parts[#{part_index}]", part_index] + end else @disallowed[:method] << right[1] unless @decimal_methods.include?(right[1]) [:bt_numeric_method_call,