module CheckPlease

Constants

ELEVATOR_PITCH
VERSION

NOTE: 'check_please_rspec_matcher' depends on this,

so try to keep them roughly in sync

Public Class Methods

diff(reference, candidate, flags = {}) click to toggle source
# File lib/check_please.rb, line 28
def self.diff(reference, candidate, flags = {})
  reference = maybe_parse(reference)
  candidate = maybe_parse(candidate)
  Comparison.perform(reference, candidate, flags)
end
render_diff(reference, candidate, flags = {}) click to toggle source
# File lib/check_please.rb, line 34
def self.render_diff(reference, candidate, flags = {})
  diffs = diff(reference, candidate, flags)
  Printers.render(diffs, flags)
end

Private Class Methods

maybe_parse(document) click to toggle source

Maybe you gave us JSON strings, maybe you gave us Ruby objects. Heck, maybe you even gave us some YAML! We just don't know! That's what makes it so exciting!

# File lib/check_please.rb, line 45
def maybe_parse(document)

  case document
  when String ; return YAML.load(document) # don't worry, if this raises we'll assume you've already parsed it
  else        ; return document
  end

rescue JSON::ParserError, Psych::SyntaxError
  return document
end