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.



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

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 214

#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 318

#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 297

#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 269

#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 283

#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 356

#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 262

#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 276

#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 325

#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 255

#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 238

#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 248

#is_range(value = 2..42) ⇒ self

Setup matcher for checking range values.

Examples:

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

Returns:

  • (self)

Raises:

  • (ArgumentError)

    if given non ‘Range` value.



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

#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 290

#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 311

#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 304

#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 332

#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 350