Sha256: a9ce8eacffb894d871880d73eb1a1554c025d531be64451daa7c2ac2e62cf6c0

Contents?: true

Size: 1 KB

Versions: 11

Compression:

Stored size: 1 KB

Contents

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

  chain :operator do |operator|
    @operator = operator
  end

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

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

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

  failure_message do |model|
    I18n.t(
      'flash_validators.matchers.ensure_valid_equality_format_of.failure_message_for_should',
      attr: attribute.inspect,
      model: model.class.name,
      operator: "operator"
    )
  end

  failure_message_when_negated do |model|
    I18n.t(
      'flash_validators.matchers.ensure_valid_equality_format_of.failure_message_for_should_not',
      attr: attribute.inspect,
      model: model.class.name,
      operator: "operator"
    )
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
flash_validators-3.0.12 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.11 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.10 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.9 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.8 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.7 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.6 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.5 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.4 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.3 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb
flash_validators-3.0.2 lib/flash_validators/matchers/ensure_valid_equality_matcher_of.rb