From c4d713b6bbb1a61f65583de32112756200231d5e Mon Sep 17 00:00:00 2001 From: Jonathan Rudenberg Date: Thu, 17 Nov 2011 14:08:57 -0500 Subject: [PATCH] Add modulo filter --- lib/liquid/standardfilters.rb | 4 ++++ test/liquid/standard_filter_test.rb | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index 46e949d9..99bfa336 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -218,6 +218,10 @@ module Liquid to_number(input) / to_number(operand) end + def modulo(input, operand) + to_number(input) % to_number(operand) + end + private def to_number(obj) diff --git a/test/liquid/standard_filter_test.rb b/test/liquid/standard_filter_test.rb index 89b43384..2ee7ae8d 100644 --- a/test/liquid/standard_filter_test.rb +++ b/test/liquid/standard_filter_test.rb @@ -173,6 +173,10 @@ class StandardFiltersTest < Test::Unit::TestCase assert_template_result "Liquid error: divided by 0", "{{ 5 | divided_by:0 }}" end + def test_modulo + assert_template_result "1", "{{ 3 | modulo:2 }}" + end + def test_append assigns = {'a' => 'bc', 'b' => 'd' } assert_template_result('bcd',"{{ a | append: 'd'}}",assigns)