class WebMock::RequestBodyDiff
Attributes
request_signature[R]
request_stub[R]
Public Class Methods
new(request_signature, request_stub)
click to toggle source
# File lib/webmock/request_body_diff.rb, line 7 def initialize(request_signature, request_stub) @request_signature = request_signature @request_stub = request_stub end
Public Instance Methods
body_diff()
click to toggle source
# File lib/webmock/request_body_diff.rb, line 12 def body_diff return {} unless request_signature_diffable? && request_stub_diffable? HashDiff.diff(request_signature_body_hash, request_stub_body_hash) end
Private Instance Methods
parseable_json?(body_pattern)
click to toggle source
# File lib/webmock/request_body_diff.rb, line 54 def parseable_json?(body_pattern) return false unless body_pattern.is_a?(String) JSON.parse(body_pattern) true rescue JSON::ParserError false end
request_signature_body_hash()
click to toggle source
# File lib/webmock/request_body_diff.rb, line 30 def request_signature_body_hash JSON.parse(request_signature.body) end
request_signature_diffable?()
click to toggle source
# File lib/webmock/request_body_diff.rb, line 22 def request_signature_diffable? request_signature.json_headers? && request_signature_parseable_json? end
request_signature_parseable_json?()
click to toggle source
# File lib/webmock/request_body_diff.rb, line 46 def request_signature_parseable_json? parseable_json?(request_signature.body) end
request_stub_body()
click to toggle source
# File lib/webmock/request_body_diff.rb, line 40 def request_stub_body request_stub.request_pattern && request_stub.request_pattern.body_pattern && request_stub.request_pattern.body_pattern.pattern end
request_stub_body_hash()
click to toggle source
# File lib/webmock/request_body_diff.rb, line 34 def request_stub_body_hash return request_stub_body if request_stub_body.is_a?(Hash) JSON.parse(request_stub_body) end
request_stub_diffable?()
click to toggle source
# File lib/webmock/request_body_diff.rb, line 26 def request_stub_diffable? request_stub_body.is_a?(Hash) || request_stub_parseable_json? end
request_stub_parseable_json?()
click to toggle source
# File lib/webmock/request_body_diff.rb, line 50 def request_stub_parseable_json? parseable_json?(request_stub_body) end