Sha256: d8085cbcacaf660b618c2e61332146ba78fb5657f2ea685322c822602d127076

Contents?: true

Size: 1.32 KB

Versions: 7

Compression:

Stored size: 1.32 KB

Contents

module Remarkable
  module ActiveRecord
    module Matchers
      class ValidateConfirmationOfMatcher < Remarkable::ActiveRecord::Base #:nodoc:
        arguments :collection => :attributes, :as => :attribute

        optional :message
        collection_assertions :responds_to_confirmation?, :confirms?

        default_options :message => :confirmation

        protected

          def responds_to_confirmation?
            @subject.respond_to?(:"#{@attribute}_confirmation=")
          end

          def confirms?
            @subject.send(:"#{@attribute}_confirmation=", 'something')
            bad?('different')
          end

      end

      # Ensures that the model cannot be saved if one of the attributes is not confirmed.
      #
      # == Options
      #
      # * <tt>:message</tt> - value the test expects to find in <tt>errors.on(:attribute)</tt>.
      #   Regexp, string or symbol.  Default = <tt>I18n.translate('activerecord.errors.messages.confirmation')</tt>
      #
      # == Examples
      #
      #   should_validate_confirmation_of :email, :password
      #
      #   it { should validate_confirmation_of(:email, :password) }
      #
      def validate_confirmation_of(*attributes)
        ValidateConfirmationOfMatcher.new(*attributes).spec(self)
      end

    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
remarkable_activerecord-3.0.5 lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb
remarkable_activerecord-3.0.3 lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb
remarkable_activerecord-3.0.4 lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb
remarkable_activerecord-3.0.2 lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb
remarkable_activerecord-3.0.6 lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb
remarkable_activerecord-3.0.8 lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb
remarkable_activerecord-3.0.7 lib/remarkable_activerecord/matchers/validate_confirmation_of_matcher.rb