Sha256: bfe08eae6d9a6925db5001084048534b0ff96cfbdde9ce5d30f67a1d6cee77a5

Contents?: true

Size: 707 Bytes

Versions: 5

Compression:

Stored size: 707 Bytes

Contents

require 'remarkable/active_model'

module Remarkable
  module ActiveModel
    module Matchers
      class RequireAValidCpfMatcher < Remarkable::ActiveModel::Base
        arguments :cpf

        collection_assertions :disallow_invalid_value, :allow_valid_value

        protected

        def disallow_invalid_value
          @subject.cpf = '123456'
          @subject.valid?.errors[:cpf].should == ['is invalid']
        end

        def allow_valid_value
          @subject.cpf = '764.579.437-21'
          @subject.valid?.errors[:cpf].should == []
        end
      end

      def require_a_valid_cpf(*args, &block)
        RequireAValidCpfMatcher.new(*args, &block).spec(self)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
validates_cpf-1.1.3 lib/validates_cpf/remarkable/require_a_valid_cpf_matcher.rb
validates_cpf-1.1.2 lib/validates_cpf/remarkable/require_a_valid_cpf_matcher.rb
validates_cpf-1.1.1 lib/validates_cpf/remarkable/require_a_valid_cpf_matcher.rb
validates_cpf-1.1.0 lib/validates_cpf/remarkable/require_a_valid_cpf_matcher.rb
validates_cpf-1.0.0 lib/validates_cpf/remarkable/require_a_valid_cpf_matcher.rb