class Rails::Paths::Path

def expanded

Expands all paths against the root and return all unique values.
def expanded
  raise "You need to set a path root" unless @root.path
  result = []
  each do |p|
    path = File.expand_path(p, @root.path)
    if @glob
      if File.directory? path
        result.concat expand_dir(path, @glob)
      else
        # FIXME: I think we can remove this branch, but I'm not sure.
        # Say the filesystem has this file:
        #
        #   /tmp/foobar
        #
        # and someone adds this path:
        #
        #   /tmp/foo
        #
        # with a glob of "*", then this function will return
        #
        #   /tmp/foobar
        #
        # We need to figure out if that is desired behavior.
        result.concat expand_file(path, @glob)
      end
    else
      result << path
    end
  end
  result.uniq!
  result
end