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

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.



189
190
191
192
193
194
195
196
197
198
# File 'lib/rspec/be_valid_when_matcher.rb', line 189

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 202

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

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

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

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

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

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

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

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

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

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

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

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

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

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