lib/scope.rb in expressive-0.0.23 vs lib/scope.rb in expressive-0.0.24

- old
+ new

@@ -124,11 +124,13 @@ define('<') {|a,b| a.to_f < b.to_f } define('>=') {|a,b| a.to_f >= b.to_f } define('<=') {|a,b| a.to_f <= b.to_f } define('and') {|a,b| !!a && !!b } define('or') {|a,b| !!a || !!b } - define('sum') { |*args| args.flatten.map(&:to_f).reduce(:+) || 0 } - define('if') { |*args| args.compact!; args[0] ? args[1] : args[2] } + define('sum') {|*args| args.flatten.map(&:to_f).reduce(:+) || 0 } + define('$sum') {|*args| args.flatten.map(&:to_f).reduce(:+) || 0 } + define('sub') {|*args| result = args.flatten.map(&:to_f).reduce(:-) || 0 } + define('if') {|*args| args.compact!; args[0] ? args[1] : args[2] } define('$days_ago'){|*args| Time.now - args[0].to_i * 86400 } define('$hours_ago'){|*args| Time.now - args[0].to_i * 3600 } define('$minutes_ago'){|*args| Time.now - args[0].to_i * 60 } define('$head'){|*args| args.flatten.first } define('$tail'){|*args| args.flatten[1..-1] }