Skip to content

Instantly share code, notes, and snippets.

@gooley
Last active August 29, 2015 14:05
Show Gist options
  • Save gooley/9ff5105c780a30641585 to your computer and use it in GitHub Desktop.
Save gooley/9ff5105c780a30641585 to your computer and use it in GitHub Desktop.
Preact + Wootric installation (Ruby/HAML specific)
<script type="text/javascript">
var _preactq = _preactq || []
_preactq.push(['_setCode', #{ Preact.configuration.code.to_json }]);
_preactq.push(['_setPersonData', #{ @current_user.to_preact.to_json }]);
_preactq.push(['_setAccount', #{ @current_project.to_preact.to_json }]); // TODO: replace @current_project with variable for the "account" model
(function() {
var preact = document.createElement('script'); preact.type = 'text/javascript'; preact.async = true;
preact.src = 'https://s3.amazonaws.com/lessneglect-cdn-01/js/preact-4.0.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(preact, s);
})();
window.wootricSettings = {
email: #{@current_user.email.to_json},
created_at: #{@current_user.created_at.to_i.to_json},
product_name: 'Entelo',
account_token: 'NPS-66666665', // TODO: replace with your Wootric token
survey_callback: function(){
_preactq.push([ "_logEvent", { name: "nps-survey-showed" }])
},
decline_callback: function(){
_preactq.push([ "_logEvent", { name: "nps-survey-declined" }])
},
response_callback: function(score, comment){
_preactq.push([ "_logEvent", { name: "nps-survey-completed", note: comment, extras: { nps_score: score } }])
_preactq.push([ "_logNps", "wootric", score, comment ]);
if(score){
if(score >= 9) {
_preactq.push([ "_logEvent", { name: "nps-survey-completed-promoter", note: score + ": " + comment, extras: { nps_score: score } }])
} else if(score <= 6) {
_preactq.push([ "_logEvent", { name: "nps-survey-completed-detractor", note: score + ": " + comment, extras: { nps_score: score } }])
} else {
_preactq.push([ "_logEvent", { name: "nps-survey-completed-passive", note: score + ": " + comment, extras: { nps_score: score } }])
}
}
}
};
</script>
<script type="text/javascript">/*{literal}<![CDATA[*/
if(window.wootricSettings){i=new Image;i.src="//d8myem934l1zi.cloudfront.net/pixel.gif?account_token="+window.wootricSettings.account_token+"&email="+encodeURIComponent(window.wootricSettings.email)+"&created_at="+window.wootricSettings.created_at+"&url="+encodeURIComponent(window.location)+"&random="+Math.random()}window.lightningjs||function(c){function g(b,d){d&&(d+=(/\?/.test(d)?"&":"?")+"lv=1");c[b]||function(){var i=window,h=document,j=b,g=h.location.protocol,l="load",k=0;(function(){function b(){a.P(l);a.w=1;c[j]("_load")}c[j]=function(){function m(){m.id=e;return c[j].apply(m,arguments)}var b,e=++k;b=this&&this!=i?this.id||0:0;(a.s=a.s||[]).push([e,b,arguments]);m.then=function(b,c,h){var d=a.fh[e]=a.fh[e]||[],j=a.eh[e]=a.eh[e]||[],f=a.ph[e]=a.ph[e]||[];b&&d.push(b);c&&j.push(c);h&&f.push(h);return m};
return m};var a=c[j]._={};a.fh={};a.eh={};a.ph={};a.l=d?d.replace(/^\/\//,(g=="https:"?g:"http:")+"//"):d;a.p={0:+new Date};a.P=function(b){a.p[b]=new Date-a.p[0]};a.w&&b();i.addEventListener?i.addEventListener(l,b,!1):i.attachEvent("on"+l,b);var q=function(){function b(){return["<head></head><",c,' onload="var d=',n,";d.getElementsByTagName('head')[0].",d,"(d.",g,"('script')).",i,"='",a.l,"'\"></",c,">"].join("")}var c="body",e=h[c];if(!e)return setTimeout(q,100);a.P(1);var d="appendChild",g="createElement",
i="src",k=h[g]("div"),l=k[d](h[g]("div")),f=h[g]("iframe"),n="document",p;k.style.display="none";e.insertBefore(k,e.firstChild).id=o+"-"+j;f.frameBorder="0";f.id=o+"-frame-"+j;/MSIE[ ]+6/.test(navigator.userAgent)&&(f[i]="javascript:false");f.allowTransparency="true";l[d](f);try{f.contentWindow[n].open()}catch(s){a.domain=h.domain,p="javascript:var d="+n+".open();d.domain='"+h.domain+"';",f[i]=p+"void(0);"}try{var r=f.contentWindow[n];r.write(b());r.close()}catch(t){f[i]=p+'d.write("'+b().replace(/"/g,
String.fromCharCode(92)+'"')+'");d.close();'}a.P(2)};a.l&&q()})()}();c[b].lv="1";return c[b]}var o="lightningjs",k=window[o]=g(o);k.require=g;k.modules=c}({});
window.wootric = lightningjs.require("wootric", "//d27j601g4x0gd5.cloudfront.net/beacon.js");
window.wootric("run");
/*]]>{/literal}*/</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment