Sha256: 527b04a309953d4281244c42807a30f039f63f40738bfba9c49e1b8bef5aa8a2

Contents?: true

Size: 752 Bytes

Versions: 2

Compression:

Stored size: 752 Bytes

Contents

RSpec::Matchers.define :ensure_inequality_of do |attribute|
  chain :to do |to|
    @to = to
  end

  match do |model|
    raise Exception if @to.nil?

    value = model.send(attribute)
    model.send("#{@to}=", value)
    model.valid?

    if model.errors.has_key?(attribute)
      model.errors[attribute].include?(I18n.t('errors.messages.inequality', attr: @to))
    end
  end

  failure_message do |model|
    I18n.t 'missing_validators.matchers.ensure_inequality_of.failure_message_for_should',
      model: model.class, attr: attribute.inspect
  end

  failure_message_when_negated do |model|
    I18n.t 'missing_validators.matchers.ensure_inequality_of.failure_message_for_should_not',
      model: model.class, attr: attribute.inspect
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
missing_validators-1.1.0 lib/missing_validators/matchers/ensure_inequality_of_matcher.rb
missing_validators-1.0.1 lib/missing_validators/matchers/ensure_inequality_of_matcher.rb