This stuff is truly awesome.

Minor point, but how do you feel about extracting the parsing to a private method also? Something like

```
class URIExtractor
  def initialize(file_name)
    @file_name = file_name
    @json = parse_json
  end

  # ...

  private

  def parse_json
    JSON.parse(File.read(@file_name))
  end
```