Cómo usar dplyr's enquo y quo_name en una función con tidyr y ggplot2

library(dplyr) #Devel version, soon-to-be-released 0.6.0
library(tidyr)
library(ggplot2)
library(forcats) #for gss_cat data

Estoy tratando de escribir una función que combine quosures del próximo lanzamientodplyr versión de desarrollo junto contidyr::gather yggplot2. Hasta ahora parece funcionar contidyr, pero estoy teniendo problemas con el complot.

La siguiente función parece funcionar contidyr's gather:

GatherFun<-function(gath){
  gath<-enquo(gath)

  gss_cat%>%select(relig,marital,race,partyid)%>%
    gather(key,value,-!!gath)%>%
    count(!!gath,key,value)%>%
    mutate(perc=n/sum(n))
}

Pero no puedo entender cómo hacer que las tramas funcionen. Traté de usar!!gath&nbsp;conggplot2Pero no funcionó.

GatherFun<-function(gath){
  gath<-enquo(gath)

  gss_cat%>%select(relig,marital,race,partyid)%>%
    gather(key,value,-!!gath)%>%
    count(!!gath,key,value)%>%
    mutate(perc=n/sum(n))%>%
    ggplot(aes(x=value,y=perc,fill=!!gath))+
       geom_col()+
       facet_wrap(~key, scales = "free") +
       geom_text(aes(x = "value", y = "perc", 
                     label = "perc", group = !!gath),
                 position = position_stack(vjust = .05))
}