class Pact::Matchers::EmbeddedDiffFormatter

Constants

ACTUAL
C
EXPECTED

Attributes

colour[R]
diff[R]

Public Class Methods

call(diff, options = {colour: Pact.configuration.color_enabled}) click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 23
def self.call diff, options = {colour: Pact.configuration.color_enabled}
  new(diff, options).call
end
new(diff, options = {}) click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 18
def initialize diff, options = {}
  @diff = diff
  @colour = options.fetch(:colour, false)
end

Public Instance Methods

call() click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 27
def call
  to_s
end
coloured_key(match, colour) click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 55
def coloured_key match, colour
  '"' + C.color(colour, match.downcase.gsub(/^"|":$/,'')) + '":'
end
colourise(line) click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 51
def colourise line
  line.gsub(EXPECTED){|match| coloured_key match, :red }.gsub(ACTUAL){ | match | coloured_key match, :green }
end
colourise_message(message) click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 47
def colourise_message message
  message.split("\n").collect{| line | colourise(line) }.join("\n")
end
colourise_message_if_configured(message) click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 39
def colourise_message_if_configured message
  if colour
    colourise_message message
  else
    message
  end
end
to_hash() click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 31
def to_hash
  diff
end
to_s() click to toggle source
# File lib/pact/matchers/embedded_diff_formatter.rb, line 35
def to_s
  colourise_message_if_configured fix_json_formatting(diff.to_json)
end