return size of 0 if json ruby value is nil

An entry can be null such as [null], which is 1 entry. If a null is a value of an Array, then the array has 0 entry.  However a null value returns a size of 1

def matches?(json)
       ruby = parse_json(json, @path)
      #when ruby = nil 
      #NoMethodError: undefined method `size' for nil:NilClass
      # so @actual = 1 when ruby is nil
     @actual = Enumerable === ruby ? ruby.size : 1
      @actual == @expected
  end
It might be more appropriate (and less surprising) to change this to something like:

```ruby
ruby = parse_json(json, @path)
raise EnumerableExpected.new("Enumerable expected, got #{ruby.inspect}.") unless Enumerable === ruby
@actual = ruby.size
```

Of course, we'd have to define the error class, write tests, etc.