Module: RSpec::BeValidWhenMatcher

Defined in:
lib/rspec/be_valid_when_matcher.rb

Overview

Container module for be_valid_when matcher definition and implementation.

Defined Under Namespace

Classes: BeValidWhen

Basic chaining collapse

Presence collapse

Type collapse

Logical value collapse

Instance Method Summary collapse

Instance Method Details

#be_valid_when(field) ⇒ self #be_valid_when(field, value) ⇒ self #be_valid_when(field, value, message) ⇒ self

Model validity assertion.

Overloads:

  • #be_valid_when(field) ⇒ self

    Parameters:

    • field (Symbol)

      field name to use.

  • #be_valid_when(field, value) ⇒ self

    Parameters:

    • field (Symbol)

      field name to use.

    • value (Any)

      field ‘value` to use in matching.

  • #be_valid_when(field, value, message) ⇒ self

    Parameters:

    • field (Symbol)

      field name to use.

    • value (Any)

      field ‘value` to use in matching.

    • message (String)

      a ‘message` used for failure message.

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if field name is not a symbol.

  • (ArgumentError)

    if invoked with more than three parameters.



199
200
201
202
203
204
205
206
207
208
# File 'lib/rspec/be_valid_when_matcher.rb', line 199

def be_valid_when(*args)
  number_of_arguments = args.size
  field_name = args.shift

  if number_of_arguments == 1
    BeValidWhen.new(field_name)
  else
    BeValidWhen.new(field_name).is(*args)
  end
end

#is(value) ⇒ self #is(value, message) ⇒ self

Used to set field ‘value` and optional custom failure `message`.

Overloads:

  • #is(value) ⇒ self

    Sets the field ‘value`.

    Examples:

    it { is_expected.to be_valid_when(:field).is(true) }
    

    Parameters:

    • value (Any)

      field ‘value` to use in matching.

  • #is(value, message) ⇒ self

    Sets the field ‘value` and custom failure `message`.

    Examples:

    it { is_expected.to be_valid_when(:field).is(42, 'magic number') }
    

    Parameters:

    • value (Any)

      field ‘value` to use in matching.

    • message (String)

      a ‘message` used for failure message.

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if invoked without passing ‘value` parameter.

  • (ArgumentError)

    if invoked with more than two parameters.



# File 'lib/rspec/be_valid_when_matcher.rb', line 212


#is_array(value = [42]) ⇒ self

Setup matcher for checking array values.

Examples:

it { is_expected.to be_valid_when(:field).is_array }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Array` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 316


#is_bigdecimal(value = 0.42E2) ⇒ self

Setup matcher for checking bigdecimal values.

Examples:

it { is_expected.to be_valid_when(:field).is_bigdecimal }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘BigDecimal` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 295


#is_bignum(value = 42**13) ⇒ self

Setup matcher for checking bignum values.

Examples:

it { is_expected.to be_valid_when(:field).is_bignum }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Bignum` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 267


#is_complex(value = 42+0i) ⇒ self

Setup matcher for checking complex values.

Examples:

it { is_expected.to be_valid_when(:field).is_complex }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Complex` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 281


#is_falseself

Check validity of field with ‘FalseClass` value.

Examples:

it { is_expected.to be_valid_when(:field).is_false }

Returns:

  • (self)


# File 'lib/rspec/be_valid_when_matcher.rb', line 347


#is_fixnum(value = 42) ⇒ self

Setup matcher for checking fixnum values.

Examples:

it { is_expected.to be_valid_when(:field).is_fixnum }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Fixnum` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 260


#is_float(value = 3.14) ⇒ self

Setup matcher for checking float values.

Examples:

it { is_expected.to be_valid_when(:field).is_float }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Float` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 274


#is_hash(value = { value: 42 }) ⇒ self

Setup matcher for checking hash values.

Examples:

it { is_expected.to be_valid_when(:field).is_hash }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Hash` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 323


#is_integer(value = 42) ⇒ self

Setup matcher for checking integer values.

Examples:

it { is_expected.to be_valid_when(:field).is_integer }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Integer` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 253


#is_not_presentself

Used to setup matcher for checking ‘nil` value.

Examples:

it { is_expected.to be_valid_when(:field).is_not_present }

Returns:

  • (self)


# File 'lib/rspec/be_valid_when_matcher.rb', line 236


#is_numeric(value = 42) ⇒ self

Setup matcher for checking numeric values.

Examples:

it { is_expected.to be_valid_when(:field).is_numeric }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Numeric` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 246


#is_rational(value = 42/1) ⇒ self

Setup matcher for checking rational values.

Examples:

it { is_expected.to be_valid_when(:field).is_rational }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Rational` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 288


#is_regexp(value = /^value$/) ⇒ self

Setup matcher for checking regexp values.

Examples:

it { is_expected.to be_valid_when(:field).is_regexp }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Regexp` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 309


#is_string(value = 'value') ⇒ self

Setup matcher for checking string values.

Examples:

it { is_expected.to be_valid_when(:field).is_string }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘String` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 302


#is_symbol(value = :value) ⇒ self

Setup matcher for checking symbol values.

Examples:

it { is_expected.to be_valid_when(:field).is_symbol }

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Symbol` value.



# File 'lib/rspec/be_valid_when_matcher.rb', line 330


#is_trueself

Check validity of field with ‘TrueClass` value.

Examples:

it { is_expected.to be_valid_when(:field).is_true }

Returns:

  • (self)


# File 'lib/rspec/be_valid_when_matcher.rb', line 341