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.

Raises:

  • (ArgumentError)

    if field name is not a symbol.

  • (ArgumentError)

    if invoked with more than three parameters.



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

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) }
    
  • #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') }
    

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 213


#is_array(value = [42]) ⇒ self

Setup matcher for checking array values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Array value.



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


#is_bigdecimal(value = 0.42E2) ⇒ self

Setup matcher for checking bigdecimal values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non BigDecimal value.



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


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

Setup matcher for checking bignum values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Bignum value.



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


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

Setup matcher for checking complex values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Complex value.



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


#is_falseself

Check validity of field with FalseClass value.

Examples:

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


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


#is_fixnum(value = 42) ⇒ self

Setup matcher for checking fixnum values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Fixnum value.



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


#is_float(value = 3.14) ⇒ self

Setup matcher for checking float values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Float value.



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


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

Setup matcher for checking hash values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Hash value.



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


#is_integer(value = 42) ⇒ self

Setup matcher for checking integer values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Integer value.



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


#is_not_presentself

Used to setup matcher for checking nil value.

Examples:

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


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


#is_numeric(value = 42) ⇒ self

Setup matcher for checking numeric values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Numeric value.



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


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

Setup matcher for checking range values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Range value.



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


#is_rational(value = 42/1) ⇒ self

Setup matcher for checking rational values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Rational value.



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


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

Setup matcher for checking regexp values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Regexp value.



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


#is_string(value = 'value') ⇒ self

Setup matcher for checking string values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non String value.



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


#is_symbol(value = :value) ⇒ self

Setup matcher for checking symbol values.

Examples:

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

Raises:

  • (ArgumentError)

    if given non Symbol value.



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


#is_trueself

Check validity of field with TrueClass value.

Examples:

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


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