From 2bdea8651fa3bd82418986ada84828c22d451405 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 29 Aug 2012 02:21:50 -0400 Subject: [PATCH] Add is_within method for shoulda's EnsureLengthOf matcher --- spec/support/matchers.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/spec/support/matchers.rb b/spec/support/matchers.rb index 14a03870a6c..cb1dcba3dd8 100644 --- a/spec/support/matchers.rb +++ b/spec/support/matchers.rb @@ -67,3 +67,17 @@ module UrlAccess login_with(user) if user end end + +# Extend shoulda-matchers +module Shoulda::Matchers::ActiveModel + class EnsureLengthOfMatcher + # Shortcut for is_at_least and is_at_most + def is_within(range) + if range.exclude_end? + is_at_least(range.first) && is_at_most(range.last - 1) + else + is_at_least(range.first) && is_at_most(range.last) + end + end + end +end