Sha256: e8f294232b2583d99138cb784624f1df8cf0bfe5f7b4e662a1112615f02b805f

Contents?: true

Size: 702 Bytes

Versions: 5

Compression:

Stored size: 702 Bytes

Contents

require 'remarkable/active_model'

module Remarkable
  module ActiveModel
    module Matchers
      class RequireAValidCnpjMatcher < Remarkable::ActiveModel::Base
        arguments :cnpj

        collection_assertions :disallow_invalid_value, :allow_valid_value

        protected

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

        def allow_valid_value
          @subject.cnpj = nil
          @subject.valid?.errors[:cnpj].should == []
        end
      end

      def require_a_valid_cnpj(*args, &block)
        RequireAValidCnpjMatcher.new(*args, &block).spec(self)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
validates_cnpj-1.1.3 lib/validates_cnpj/remarkable/require_a_valid_cnpj_matcher.rb
validates_cnpj-1.1.2 lib/validates_cnpj/remarkable/require_a_valid_cnpj_matcher.rb
validates_cnpj-1.1.1 lib/validates_cnpj/remarkable/require_a_valid_cnpj_matcher.rb
validates_cnpj-1.1.0 lib/validates_cnpj/remarkable/require_a_valid_cnpj_matcher.rb
validates_cnpj-1.0.0 lib/validates_cnpj/remarkable/require_a_valid_cnpj_matcher.rb