Sha256: 12573478fce4a67a8f107bca68710e3ac97e7379323e4cf367187f8cdd951f0c

Contents?: true

Size: 783 Bytes

Versions: 1

Compression:

Stored size: 783 Bytes

Contents

RSpec::Matchers.define :have_instance_variable do |var_symbol|
  chain :== do |value|
    @value = value
  end

  match do |model|
    @ivar = model.instance_variable_get("@#{var_symbol.to_s}")

    if @value
      @ivar == @value
    else
      @ivar
    end
  end

  failure_message_for_should do |model|
    if @message
      "#{model.class} should have instance variable #{var_symbol.inspect} == #{value.inspect}"
    else
      "#{model.class} should have instance variable #{var_symbol.inspect}"
    end
  end

  failure_message_for_should_not do |model|
    if @message
      "#{model.class} should not have instance variable #{var_symbol.inspect} == #{value.inspect}"
    else
      "#{model.class} should not have instance variable #{var_symbol.inspect}"
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
circuit-0.2.0 spec/support/matchers/set_instance_variable.rb