Sha256: be7d1142971e0113e47db13d10a6e4d4ce4bcd32afd4c4d85816abafedc3bc6b
Contents?: true
Size: 1004 Bytes
Versions: 2
Compression:
Stored size: 1004 Bytes
Contents
require "shoulda-matchers" module Shoulda module Matchers module ActiveModel def validate_as_br_telephone(attr) ValidateAsBrTelephoneMatcher.new(attr) end class ValidateAsBrTelephoneMatcher < ValidationMatcher def initialize(attribute) @attribute = attribute end def description "validate #{@attribute} as a valid Telephone number for Brazil" end def failure_message "expected #{@attribute} to be validated as a valid Telephone number for Brazil" end def matches?(subject) super(subject) disallows_invalid_value and allows_valid_value and allows_nil_value end private def disallows_invalid_value disallows_value_of("123456") end def allows_valid_value allows_value_of("(11)2222-3333") end def allows_nil_value allows_value_of(nil) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems