# File lib/juicer/asset/path.rb, line 168
      def filename
        return @filename if @filename

        # Pre-conditions
        raise ArgumentError.new("No document root set") if @path_is_absolute && @document_root.nil?
        raise ArgumentError.new("No hosts served from document root") if @path_has_host && @hosts.empty?

        path = strip_host(@path)
        raise ArgumentError.new("No matching host found for #{@path}") if path =~ @@scheme_pattern

        dir = @path_is_absolute ? document_root : base
        @filename = File.expand_path(File.join(dir, path))
      end