Class: RSpec::Matchers::BuiltIn::Change Private

Inherits:
Object
  • Object
show all
Includes:
Composable
Defined in:
lib/rspec/matchers/built_in/change.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Provides the implementation for change. Not intended to be instantiated directly.

Instance Method Summary collapse

Methods included from Composable

#===, #and, #description_of, enumerable?, #or, surface_descriptions_in, #values_match?

Instance Method Details

#by(expected_delta) ⇒ Object

Specifies the delta of the expected change.



12
13
14
15
16
# File 'lib/rspec/matchers/built_in/change.rb', line 12

def by(expected_delta)
  ChangeRelatively.new(@change_details, expected_delta, :by) do |actual_delta|
    values_match?(expected_delta, actual_delta)
  end
end

#by_at_least(minimum) ⇒ Object

Specifies a minimum delta of the expected change.



20
21
22
23
24
# File 'lib/rspec/matchers/built_in/change.rb', line 20

def by_at_least(minimum)
  ChangeRelatively.new(@change_details, minimum, :by_at_least) do |actual_delta|
    actual_delta >= minimum
  end
end

#by_at_most(maximum) ⇒ Object

Specifies a maximum delta of the expected change.



28
29
30
31
32
# File 'lib/rspec/matchers/built_in/change.rb', line 28

def by_at_most(maximum)
  ChangeRelatively.new(@change_details, maximum, :by_at_most) do |actual_delta|
    actual_delta <= maximum
  end
end

#descriptionString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)


74
75
76
# File 'lib/rspec/matchers/built_in/change.rb', line 74

def description
  "change #{@change_details.message}"
end

#does_not_match?(event_proc) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


55
56
57
58
# File 'lib/rspec/matchers/built_in/change.rb', line 55

def does_not_match?(event_proc)
  raise_block_syntax_error if block_given?
  !matches?(event_proc) && Proc === event_proc
end

#failure_messageString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)


62
63
64
# File 'lib/rspec/matchers/built_in/change.rb', line 62

def failure_message
  "expected #{@change_details.message} to have changed, but #{positive_failure_reason}"
end

#failure_message_when_negatedString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)


68
69
70
# File 'lib/rspec/matchers/built_in/change.rb', line 68

def failure_message_when_negated
  "expected #{@change_details.message} not to have changed, but #{negative_failure_reason}"
end

#from(value) ⇒ Object

Specifies the original value.



42
43
44
# File 'lib/rspec/matchers/built_in/change.rb', line 42

def from(value)
  ChangeFromValue.new(@change_details, value)
end

#to(value) ⇒ Object

Specifies the new value you expect.



36
37
38
# File 'lib/rspec/matchers/built_in/change.rb', line 36

def to(value)
  ChangeToValue.new(@change_details, value)
end