)]}'
{
  "commit": "1ff3e57c3a96c2175aa20f5171911a2c06c301d6",
  "tree": "ae5ff81ea67f02ea38867f270ef50af4430967e2",
  "parents": [
    "6331bf5a5b5e7a832348789eb3cedff7a6917103"
  ],
  "author": {
    "name": "jim-slattery-rs",
    "email": "jim.slattery@rightscale.com",
    "time": "Sat Sep 05 22:05:58 2015 -0400"
  },
  "committer": {
    "name": "jim-slattery-rs",
    "email": "jim.slattery@rightscale.com",
    "time": "Sat Sep 05 22:05:58 2015 -0400"
  },
  "message": "Added Add, Or, Not, WithTransform matchers, for composability.\n- Allows matchers to be composed into complex expressions that work even with the Eventually() assertion.\n- Also makes it easy to create new matchers -- can often write a function that composes a new matcher out of existing ones.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3b3967759d55250345677202f8717fa75d63b070",
      "old_mode": 33188,
      "old_path": "matchers.go",
      "new_id": "872de9ecda53f4e4f334228a425735b5441adb21",
      "new_mode": 33188,
      "new_path": "matchers.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e20fbaedfbda42613016998084a8896777272675",
      "new_mode": 33188,
      "new_path": "matchers/and.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c50e8008db5c76a5c6f8118fa1abd03107e8dfc1",
      "new_mode": 33188,
      "new_path": "matchers/and_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5ad0d63aa23793ff8a3b74a932e765e88ae2be69",
      "new_mode": 33188,
      "new_path": "matchers/not.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7161782aca381f9dc9f4cebbe55520b869005c9",
      "new_mode": 33188,
      "new_path": "matchers/not_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "228fce676b03a79663d374392f0a6f64e225da8f",
      "new_mode": 33188,
      "new_path": "matchers/or.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ae6f975b68af8ce4f77b6881ee6990996b888c51",
      "new_mode": 33188,
      "new_path": "matchers/or_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c7a650a8b63d800379a25202f0b69d7d50f4f300",
      "new_mode": 33188,
      "new_path": "matchers/with_transform.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ced53bd65ebca033bac19cbc9cb4c2f0bc29eefc",
      "new_mode": 33188,
      "new_path": "matchers/with_transform_test.go"
    }
  ]
}
