class Opal::Hike::Index

def initialize(root, paths, extensions)

directly, create a `Trail` and call `Trail#index`.
`Index.new` is an internal method. Instead of constructing it
def initialize(root, paths, extensions)
  @root = root
  # Freeze is used here so an error is throw if a mutator method
  # is called on the array. Mutating `@paths`, `@extensions`
  # would have unpredictable results.
  @paths      = paths.dup.freeze
  @extensions = extensions.dup.freeze
  @pathnames  = paths.map { |path| Pathname.new(path) }
  @stats    = {}
  @entries  = {}
  @patterns = {}
end