class JsonResponseMatchers::Content

Public Class Methods

new(expected) click to toggle source
Calls superclass method JsonResponseMatchers::Base::new
# File lib/json_response_matchers/content.rb, line 5
def initialize expected
  super
  @exact = true
  if Hash === @expected
    @expected.deep_stringify_keys!
    @exact = false
  end
end

Public Instance Methods

failure_message() click to toggle source
# File lib/json_response_matchers/content.rb, line 14
def failure_message
  "expected\n    #{@actual}\nto #{@exact ? 'equal' : 'include'}\n    #{@expected}"
end
matches?(actual) click to toggle source
# File lib/json_response_matchers/content.rb, line 19
def matches? actual
  @actual = fetch_from extract_parsed_json_from actual
  @exact ? @actual == @expected : hash_include?
end
with_full_match() click to toggle source
# File lib/json_response_matchers/content.rb, line 24
def with_full_match
  @exact = true
  self
end

Private Instance Methods

hash_include?() click to toggle source
# File lib/json_response_matchers/content.rb, line 32
def hash_include?
  @expected.all? { |key, expected_value| @actual[key.to_s] == expected_value }
end