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 87
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 10
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 18
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 26
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 71
def description
  "change #{change_details.value_representation}"
end
# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 50
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 57
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 64
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 40
def from(value)
  ChangeFromValue.new(change_details, value)
end

@private

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 45
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 76
def supports_block_expectations?
  true
end

@private

# File rspec-expectations/lib/rspec/matchers/built_in/change.rb, line 81
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 34
def to(value)
  ChangeToValue.new(change_details, value)
end