class RSpec::Matchers::BuiltIn::Change

@api private Provides the implementation for ‘change`. Not intended to be instantiated directly.

Public Class Methods

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 89
def initialize(receiver=nil, message=nil, &block)
  @receiver = receiver
  @message = message
  @block = block
end

Public Instance Methods

@api public Specifies the delta of the expected change.

# File rspec-expectations/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

@api public Specifies a minimum delta of the expected change.

# File rspec-expectations/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

@api public Specifies a maximum delta of the expected change.

# File rspec-expectations/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

@api private @return [String]

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 73
def description
  "change #{change_details.value_representation}"
end
# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 52
def does_not_match?(event_proc)
  raise_block_syntax_error if block_given?
  perform_change(event_proc) && !change_details.changed?
end

@api private @return [String]

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 59
def failure_message
  "expected #{change_details.value_representation} to have changed, " \
    "but #{positive_failure_reason}"
end

@api private @return [String]

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 66
def failure_message_when_negated
  "expected #{change_details.value_representation} not to have changed, " \
    "but #{negative_failure_reason}"
end

@api public Specifies the original value.

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 42
def from(value)
  ChangeFromValue.new(change_details, value)
end

@private

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 47
def matches?(event_proc)
  raise_block_syntax_error if block_given?
  perform_change(event_proc) && change_details.changed?
end

@private

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 78
def supports_block_expectations?
  true
end

@private

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 83
def supports_value_expectations?
  false
end

@api public Specifies the new value you expect.

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 36
def to(value)
  ChangeToValue.new(change_details, value)
end