From 1f9bd1d809b141f01e1188d90c12340ea9037780 Mon Sep 17 00:00:00 2001 From: Justin Li Date: Thu, 9 Jul 2015 13:18:06 -0400 Subject: [PATCH] Add param to accept invalid input in to_integer --- lib/liquid/range_lookup.rb | 4 ++-- lib/liquid/utils.rb | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/liquid/range_lookup.rb b/lib/liquid/range_lookup.rb index 8da022dc..ae6fc28c 100644 --- a/lib/liquid/range_lookup.rb +++ b/lib/liquid/range_lookup.rb @@ -16,8 +16,8 @@ module Liquid end def evaluate(context) - start_int = Utils.to_integer(context.evaluate(@start_obj)) - end_int = Utils.to_integer(context.evaluate(@end_obj)) + start_int = Utils.to_integer(context.evaluate(@start_obj), true) + end_int = Utils.to_integer(context.evaluate(@end_obj), true) start_int..end_int end end diff --git a/lib/liquid/utils.rb b/lib/liquid/utils.rb index 7725ff87..490b0494 100644 --- a/lib/liquid/utils.rb +++ b/lib/liquid/utils.rb @@ -33,13 +33,14 @@ module Liquid segments end - def self.to_integer(num) + def self.to_integer(num, accept_invalid = false) return num if num.is_a?(Integer) num = num.to_s begin Integer(num) rescue ::ArgumentError - raise Liquid::ArgumentError, "invalid integer" + raise Liquid::ArgumentError, "invalid integer" unless accept_invalid + 0 end end