Add param to accept invalid input in to_integer

This commit is contained in:
Justin Li
2015-07-09 13:18:06 -04:00
parent e88be60818
commit 1f9bd1d809
2 changed files with 5 additions and 4 deletions
+2 -2
View File
@@ -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
+3 -2
View File
@@ -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