rails-hamljs 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,8 @@
1
+ // Generated by CoffeeScript 1.3.3
2
+ /*
3
+ clientside HAML compiler for Javascript and Coffeescript (Version 5)
4
+
5
+ Copyright 2011-12, Ronald Holshausen (https://github.com/uglyog)
6
+ Released under the MIT License (http://www.opensource.org/licenses/MIT)
7
+ */(function(){var e,t,n,r,i,s,o,u,a,f={}.hasOwnProperty,l=function(e,t){function r(){this.constructor=e}for(var n in t)f.call(t,n)&&(e[n]=t[n]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e};a=this,r={escapeHTML:function(e){return String(e||"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")},perserveWhitespace:function(e){var t,n,r,i;r=/<[a-zA-Z]+>[^<]*<\/[a-zA-Z]+>/g,n="",t=0,i=r.exec(e);if(i){while(i)n+=e.substring(t,i.index),n+=i[0].replace(/\n/g,"&#x000A;"),t=i.index+i[0].length,i=r.exec(e);n+=e.substring(t)}else n=e;return n},templateError:function(e,t,n,r){var i,s;s=r+" at line "+e+" and character "+t+":\n"+n+"\n",i=0;while(i<t-1)s+="-",i++;return s+="^",s},generateElementAttributes:function(e,t,n,r,i,s,o,u,a){var l,c,h,p,d,v,m,g,y;c={},c=this.combineAttributes(c,"id",t),n.length>0&&n[0].length>0&&(c=this.combineAttributes(c,"class",n));if(i)for(l in i){if(!f.call(i,l))continue;c=this.combineAttributes(c,l,i[l])}if(r)try{g=r.call(e,e),g&&(y=null,g.id?y=g.id:g.get&&(y=g.get("id")),c=this.combineAttributes(c,"id",y),h=null,g["class"]?h=g["class"]:g.get&&(h=g.get("class")),c=this.combineAttributes(c,"class",h))}catch(b){throw haml.HamlRuntime.templateError(o,u,a,"Error evaluating object reference - "+b)}if(s)try{v=s.call(e,e);if(v)for(l in v){if(!f.call(v,l))continue;if(l==="data"){d=v[l];for(p in d){if(!f.call(d,p))continue;c=this.combineAttributes(c,"data-"+p,d[p])}}else c=this.combineAttributes(c,l,v[l])}}catch(w){throw haml.HamlRuntime.templateError(o,u,a,"Error evaluating attribute hash - "+w)}m="";if(c)for(l in c){if(!f.call(c,l))continue;haml.hasValue(c[l])&&((l==="id"||l==="for")&&c[l]instanceof Array?m+=" "+l+'="'+_(c[l]).flatten().join("-")+'"':l==="class"&&c[l]instanceof Array?m+=" "+l+'="'+_(c[l]).flatten().join(" ")+'"':m+=" "+l+'="'+haml.attrValue(l,c[l])+'"')}return m},indentText:function(e){var t,n;n="",t=0;while(t<e)n+=" ",t++;return n},combineAttributes:function(e,t,n){var r;return haml.hasValue(n)&&(t==="id"&&n.toString().length>0?e&&e.id instanceof Array?e.id.unshift(n):e&&e.id?e.id=[e.id,n]:e?e.id=n:e={id:n}:t==="for"&&n.toString().length>0?e&&e["for"]instanceof Array?e["for"].unshift(n):e&&e["for"]?e["for"]=[e["for"],n]:e?e["for"]=n:e={"for":n}:t==="class"?(r=[],n instanceof Array?r=r.concat(n):r.push(n),e&&e["class"]?e["class"]=e["class"].concat(r):e?e["class"]=r:e={"class":r}):t!=="id"&&(e||(e={}),e[t]=n)),e}},o=function(){function e(e){var t,n,r,i=this;this.buffer=null,this.bufferIndex=null,this.prevToken=null,this.token=null;if(e.templateId!=null){r=document.getElementById(e.templateId);if(!r)throw"Did not find a template with ID '"+e.templateId+"'";this.buffer=r.text,this.bufferIndex=0}else e.template!=null?(this.buffer=e.template,this.bufferIndex=0):e.templateUrl!=null&&(t=function(t,n,r){throw"Failed to fetch haml template at URL "+e.templateUrl+": "+n+" "+r},n=function(e){return i.buffer=e,i.bufferIndex=0},jQuery.ajax({url:e.templateUrl,success:n,error:t,dataType:"text",async:!1,beforeSend:function(e){return e.withCredentials=!0}}))}return e.prototype.currentLineMatcher=/[^\n]*/g,e.prototype.tokenMatchers={whitespace:/[ \t]+/g,element:/%[a-zA-Z][a-zA-Z0-9]*/g,idSelector:/#[a-zA-Z_\-][a-zA-Z0-9_\-]*/g,classSelector:/\.[a-zA-Z0-9_\-]+/g,identifier:/[a-zA-Z][a-zA-Z0-9\-]*/g,quotedString:/[\'][^\'\n]*[\']/g,quotedString2:/[\"][^\"\n]*[\"]/g,comment:/\-#/g,escapeHtml:/\&=/g,unescapeHtml:/\!=/g,objectReference:/\[[a-zA-Z_@][a-zA-Z0-9_]*\]/g,doctype:/!!!/g,continueLine:/\|\s*\n/g,filter:/:\w+/g},e.prototype.matchToken=function(e){var t;e.lastIndex=this.bufferIndex,t=e.exec(this.buffer);if((t!=null?t.index:void 0)===this.bufferIndex)return t[0]},e.prototype.matchMultiCharToken=function(e,t,n){var r,i;if(!this.token){r=this.matchToken(e);if(r)return this.token=t,this.token.tokenString=(i=typeof n==="function"?n(r):void 0)!=null?i:r,this.token.matched=r,this.advanceCharsInBuffer(r.length)}},e.prototype.matchSingleCharToken=function(e,t){if(!this.token&&this.buffer.charAt(this.bufferIndex)===e)return this.token=t,this.token.tokenString=e,this.token.matched=e,this.advanceCharsInBuffer(1)},e.prototype.getNextToken=function(){var e,t,n,r,i,s,o;if(isNaN(this.bufferIndex))throw haml.HamlRuntime.templateError(this.lineNumber,this.characterNumber,this.currentLine,"An internal parser error has occurred in the HAML parser");this.prevToken=this.token,this.token=null;if(this.buffer===null||this.buffer.length===this.bufferIndex)this.token={eof:!0,token:"EOF"};else{this.initLine();if(!this.token){t=this.buffer.charCodeAt(this.bufferIndex),n=this.buffer.charCodeAt(this.bufferIndex+1);if(t===10||t===13&&n===10)this.token={eol:!0,token:"EOL"},t===13&&n===10?(this.advanceCharsInBuffer(2),this.token.matched=String.fromCharCode(t)+String.fromCharCode(n)):(this.advanceCharsInBuffer(1),this.token.matched=String.fromCharCode(t)),this.characterNumber=0,this.currentLine=this.getCurrentLine()}this.matchMultiCharToken(this.tokenMatchers.whitespace,{ws:!0,token:"WS"}),this.matchMultiCharToken(this.tokenMatchers.continueLine,{continueLine:!0,token:"CONTINUELINE"}),this.matchMultiCharToken(this.tokenMatchers.element,{element:!0,token:"ELEMENT"},function(e){return e.substring(1)}),this.matchMultiCharToken(this.tokenMatchers.idSelector,{idSelector:!0,token:"ID"},function(e){return e.substring(1)}),this.matchMultiCharToken(this.tokenMatchers.classSelector,{classSelector:!0,token:"CLASS"},function(e){return e.substring(1)}),this.matchMultiCharToken(this.tokenMatchers.identifier,{identifier:!0,token:"IDENTIFIER"}),this.matchMultiCharToken(this.tokenMatchers.doctype,{doctype:!0,token:"DOCTYPE"}),this.matchMultiCharToken(this.tokenMatchers.filter,{filter:!0,token:"FILTER"},function(e){return e.substring(1)}),this.token||(o=this.matchToken(this.tokenMatchers.quotedString),o||(o=this.matchToken(this.tokenMatchers.quotedString2)),o&&(this.token={string:!0,token:"STRING",tokenString:o.substring(1,o.length-1),matched:o},this.advanceCharsInBuffer(o.length))),this.matchMultiCharToken(this.tokenMatchers.comment,{comment:!0,token:"COMMENT"}),this.matchMultiCharToken(this.tokenMatchers.escapeHtml,{escapeHtml:!0,token:"ESCAPEHTML"}),this.matchMultiCharToken(this.tokenMatchers.unescapeHtml,{unescapeHtml:!0,token:"UNESCAPEHTML"}),this.matchMultiCharToken(this.tokenMatchers.objectReference,{objectReference:!0,token:"OBJECTREFERENCE"},function(e){return e.substring(1,e.length-1)});if(!this.token&&this.buffer&&this.buffer.charAt(this.bufferIndex)==="{"){i=this.bufferIndex+1,r=this.characterNumber,s=this.lineNumber,e=1;while(i<this.buffer.length&&(e>1||this.buffer.charAt(i)!=="}"))this.buffer.charAt(i)==="{"?e++:this.buffer.charAt(i)==="}"&&e--,i++;if(i===this.buffer.length)throw this.characterNumber=r+1,this.lineNumber=s,this.parseError('Error parsing attribute hash - Did not find a terminating "}"');this.token={attributeHash:!0,token:"ATTRHASH",tokenString:this.buffer.substring(this.bufferIndex,i+1),matched:this.buffer.substring(this.bufferIndex,i+1)},this.advanceCharsInBuffer(i-this.bufferIndex+1)}this.matchSingleCharToken("(",{openBracket:!0,token:"OPENBRACKET"}),this.matchSingleCharToken(")",{closeBracket:!0,token:"CLOSEBRACKET"}),this.matchSingleCharToken("=",{equal:!0,token:"EQUAL"}),this.matchSingleCharToken("/",{slash:!0,token:"SLASH"}),this.matchSingleCharToken("!",{exclamation:!0,token:"EXCLAMATION"}),this.matchSingleCharToken("-",{minus:!0,token:"MINUS"}),this.matchSingleCharToken("&",{amp:!0,token:"AMP"}),this.matchSingleCharToken("<",{lt:!0,token:"LT"}),this.matchSingleCharToken(">",{gt:!0,token:"GT"}),this.matchSingleCharToken("~",{tilde:!0,token:"TILDE"}),this.token===null&&(this.token={unknown:!0,token:"UNKNOWN"})}return this.token},e.prototype.lookAhead=function(e){var t,n,r,i,s,o,u,a;a=null;if(e>0){i=this.token,u=this.prevToken,r=this.currentLine,o=this.lineNumber,n=this.characterNumber,t=this.bufferIndex,s=0;while(s++<e)a=this.getNextToken();this.token=i,this.prevToken=u,this.currentLine=r,this.lineNumber=o,this.characterNumber=n,this.bufferIndex=t}return a},e.prototype.initLine=function(){if(!this.currentLine&&this.currentLine!=="")return this.currentLine=this.getCurrentLine(),this.lineNumber=1,this.characterNumber=0},e.prototype.getCurrentLine=function(e){var t;return this.currentLineMatcher.lastIndex=this.bufferIndex+(e!=null?e:0),t=this.currentLineMatcher.exec(this.buffer),t?t[0]:""},e.prototype.parseError=function(e){return haml.HamlRuntime.templateError(this.lineNumber,this.characterNumber,this.currentLine,e)},e.prototype.skipToEOLorEOF=function(){var e,t,n;return n="",!this.token.eof&&!this.token.eol&&(this.token.unknown||(n+=this.token.matched),this.currentLineMatcher.lastIndex=this.bufferIndex,t=this.currentLineMatcher.exec(this.buffer),t&&t.index===this.bufferIndex&&(e=(_.str||_).rtrim(t[0]),(_.str||_).endsWith(e,"|")?(n+=e.substring(0,e.length-1),this.advanceCharsInBuffer(e.length-1),this.getNextToken(),n+=this.parseMultiLine()):(n+=e,this.advanceCharsInBuffer(t[0].length),this.getNextToken()))),n},e.prototype.parseMultiLine=function(){var e,t,n;n="";while(this.token.continueLine)this.currentLineMatcher.lastIndex=this.bufferIndex,t=this.currentLineMatcher.exec(this.buffer),t&&t.index===this.bufferIndex&&(e=(_.str||_).rtrim(t[0]),(_.str||_).endsWith(e,"|")&&(n+=e.substring(0,e.length-1),this.advanceCharsInBuffer(e.length-1)),this.getNextToken());return n},e.prototype.advanceCharsInBuffer=function(e){var t,n,r;r=0;while(r<e)t=this.buffer.charCodeAt(this.bufferIndex+r),n=this.buffer.charCodeAt(this.bufferIndex+r+1),t===13&&n===10?(this.lineNumber++,this.characterNumber=0,this.currentLine=this.getCurrentLine(r),r++):t===10?(this.lineNumber++,this.characterNumber=0,this.currentLine=this.getCurrentLine(r)):this.characterNumber++,r++;return this.bufferIndex+=e},e.prototype.currentParsePoint=function(){return{lineNumber:this.lineNumber,characterNumber:this.characterNumber,currentLine:this.currentLine}},e.prototype.pushBackToken=function(){if(!this.token.unknown&&!this.token.eof)return this.bufferIndex-=this.token.matched.length,this.token=this.prevToken},e.prototype.isEolOrEof=function(){return this.token.eol||this.token.eof},e}(),e=function(){function e(e){this.generator=e,this.buffer="",this.outputBuffer=""}return e.prototype.append=function(e){this.buffer.length===0&&this.generator.mark();if(e&&e.length>0)return this.buffer+=e},e.prototype.appendToOutputBuffer=function(e){if(e&&e.length>0)return this.flush(),this.outputBuffer+=e},e.prototype.flush=function(){return this.buffer&&this.buffer.length>0&&(this.outputBuffer+=this.generator.generateFlush(this.buffer)),this.buffer=""},e.prototype.output=function(){return this.outputBuffer},e.prototype.trimWhitespace=function(){var e,t;if(this.buffer.length>0){t=this.buffer.length-1;while(t>0){e=this.buffer.charAt(t);if(e===" "||e===" "||e==="\n")t--;else{if(!(t>1)||e!=="n"&&e!=="t"||this.buffer.charAt(t-1)!=="\\")break;t-=2}}if(t>0&&t<this.buffer.length-1)return this.buffer=this.buffer.substring(0,t+1);if(t===0)return this.buffer=""}},e}(),t=function(){function e(){}return e.prototype.embeddedCodeBlockMatcher=/#{([^}]*)}/g,e}(),i=function(e){function t(){this.outputBuffer=new haml.Buffer(this)}return l(t,e),t.prototype.appendEmbeddedCode=function(e,t,n,r,i){return this.outputBuffer.flush(),this.outputBuffer.appendToOutputBuffer(e+"try {\n"),this.outputBuffer.appendToOutputBuffer(e+' var value = eval("'+t.replace(/"/g,'\\"').replace(/\\n/g,"\\\\n")+'");\n'),this.outputBuffer.appendToOutputBuffer(e+' value = value === null ? "" : value;'),n?this.outputBuffer.appendToOutputBuffer(e+" html.push(haml.HamlRuntime.escapeHTML(String(value)));\n"):r?this.outputBuffer.appendToOutputBuffer(e+" html.push(haml.HamlRuntime.perserveWhitespace(String(value)));\n"):this.outputBuffer.appendToOutputBuffer(e+" html.push(String(value));\n"),this.outputBuffer.appendToOutputBuffer(e+"} catch (e) {\n"),this.outputBuffer.appendToOutputBuffer(e+" throw new Error(haml.HamlRuntime.templateError("+i.lineNumber+", "+i.characterNumber+', "'+this.escapeCode(i.currentLine)+'",\n'),this.outputBuffer.appendToOutputBuffer(e+' "Error evaluating expression - " + e));\n'),this.outputBuffer.appendToOutputBuffer(e+"}\n")},t.prototype.initOutput=function(){return this.outputBuffer.appendToOutputBuffer(" var html = [];\n var hashFunction = null, hashObject = null, objRef = null, objRefFn = null;\n with (context || {}) {\n")},t.prototype.closeAndReturnOutput=function(){return this.outputBuffer.flush(),this.outputBuffer.output()+' }\n return html.join("");\n'},t.prototype.appendCodeLine=function(e,t){return this.outputBuffer.flush(),this.outputBuffer.appendToOutputBuffer(r.indentText(this.indent)),this.outputBuffer.appendToOutputBuffer(e),this.outputBuffer.appendToOutputBuffer(t)},t.prototype.lineMatchesStartFunctionBlock=function(e){return e.match(/function\s*\((,?\s*\w+)*\)\s*\{\s*$/)},t.prototype.lineMatchesStartBlock=function(e){return e.match(/\{\s*$/)},t.prototype.closeOffCodeBlock=function(e){if(!e.token.minus||!e.matchToken(/\s*\}/g))return this.outputBuffer.flush(),this.outputBuffer.appendToOutputBuffer(r.indentText(this.indent)+"}\n")},t.prototype.closeOffFunctionBlock=function(e){if(!e.token.minus||!e.matchToken(/\s*\}/g))return this.outputBuffer.flush(),this.outputBuffer.appendToOutputBuffer(r.indentText(this.indent)+"});\n")},t.prototype.generateCodeForDynamicAttributes=function(e,t,n,r,i,s){return this.outputBuffer.flush(),r.length>0&&(r=this.replaceReservedWordsInHash(r),this.outputBuffer.appendToOutputBuffer(' hashFunction = function () { return eval("hashObject = '+r.replace(/"/g,'\\"').replace(/\n/g,"\\n")+'"); };\n')),i.length>0&&this.outputBuffer.appendToOutputBuffer(' objRefFn = function () { return eval("objRef = '+i.replace(/"/g,'\\"')+'"); };\n'),this.outputBuffer.appendToOutputBuffer(' html.push(haml.HamlRuntime.generateElementAttributes(context, "'+e+'", ["'+t.join('","')+'"], objRefFn, '+JSON.stringify(n)+", hashFunction, "+s.lineNumber+", "+s.characterNumber+', "'+this.escapeCode(s.currentLine)+'"));\n')},t.prototype.replaceReservedWordsInHash=function(e){var t,n,r,i,s;n=e,s=["class","for"];for(r=0,i=s.length;r<i;r++)t=s[r],n=n.replace(t+":",'"'+t+'":');return n},t.prototype.escapeCode=function(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r")},t.prototype.generateJsFunction=function(e){try{return new Function("context",e)}catch(t){throw"Incorrect embedded code has resulted in an invalid Haml function - "+t+"\nGenerated Function:\n"+e}},t.prototype.generateFlush=function(e){return' html.push("'+this.escapeCode(e)+'");\n'},t.prototype.setIndent=function(e){return this.indent=e},t.prototype.mark=function(){},t.prototype.appendTextContents=function(e,t,n,r){return r==null&&(r={}),t&&e.match(/#{[^}]*}/)?this.interpolateString(e,n,r):this.outputBuffer.append(this.processText(e,r))},t.prototype.interpolateString=function(e,t,n){var i,s,o,u;i=0,u=this.embeddedCodeBlockMatcher.exec(e);while(u)u.index>0&&(s=e.charAt(u.index-1)),u.index>1&&(o=e.charAt(u.index-2)),s==="\\"&&o!=="\\"?(u.index!==0&&this.outputBuffer.append(this.processText(e.substring(i,u.index-1),n)),this.outputBuffer.append(this.processText(u[0]),n)):(this.outputBuffer.append(this.processText(e.substring(i,u.index)),n),this.appendEmbeddedCode(r.indentText(this.indent+1),u[1],n.escapeHTML,n.perserveWhitespace,t)),i=this.embeddedCodeBlockMatcher.lastIndex,u=this.embeddedCodeBlockMatcher.exec(e);if(i<e.length)return this.outputBuffer.append(this.processText(e.substring(i),n))},t.prototype.processText=function(e,t){return(t!=null?t.escapeHTML:void 0)?haml.HamlRuntime.escapeHTML(e):(t!=null?t.perserveWhitespace:void 0)?haml.HamlRuntime.perserveWhitespace(e):e},t}(t),s=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return l(t,e),t.prototype.appendEmbeddedCode=function(e,t,n,r,i){return this.outputBuffer.flush(),this.outputBuffer.appendToOutputBuffer(e+" value = "+t+";\n"),this.outputBuffer.appendToOutputBuffer(e+' value = value === null ? "" : value;'),n?this.outputBuffer.appendToOutputBuffer(e+" html.push(haml.HamlRuntime.escapeHTML(String(value)));\n"):r?this.outputBuffer.appendToOutputBuffer(e+" html.push(haml.HamlRuntime.perserveWhitespace(String(value)));\n"):this.outputBuffer.appendToOutputBuffer(e+" html.push(String(value));\n")},t.prototype.generateCodeForDynamicAttributes=function(e,t,n,r,i,s){return this.outputBuffer.flush(),r.length>0&&(r=this.replaceReservedWordsInHash(r),this.outputBuffer.appendToOutputBuffer(" hashFunction = function () { return "+r+"; };\n")),i.length>0&&this.outputBuffer.appendToOutputBuffer(" objRefFn = function () { return "+i+"; };\n"),this.outputBuffer.appendToOutputBuffer(' html.push(haml.HamlRuntime.generateElementAttributes(context, "'+e+'", ["'+t.join('","')+'"], objRefFn, '+JSON.stringify(n)+", hashFunction, "+s.lineNumber+", "+s.characterNumber+', "'+this.escapeCode(s.currentLine)+'"));\n')},t.prototype.initOutput=function(){return this.outputBuffer.appendToOutputBuffer(" var html = [];\n var hashFunction = null, hashObject = null, objRef = null, objRefFn = null, value= null;\n with (context || {}) {\n")},t}(i),n=function(e){function t(){this.outputBuffer=new haml.Buffer(this)}return l(t,e),t.prototype.appendEmbeddedCode=function(e,t,n,r,i){var s;return this.outputBuffer.flush(),s=this.calcCodeIndent(),this.outputBuffer.appendToOutputBuffer(s+"try\n"),this.outputBuffer.appendToOutputBuffer(s+" exp = CoffeeScript.compile('"+t.replace(/'/g,"\\'").replace(/\\n/g,"\\\\n")+"', bare: true)\n"),this.outputBuffer.appendToOutputBuffer(s+" value = eval(exp)\n"),this.outputBuffer.appendToOutputBuffer(s+" value ?= ''\n"),n?this.outputBuffer.appendToOutputBuffer(s+" html.push(haml.HamlRuntime.escapeHTML(String(value)))\n"):r?this.outputBuffer.appendToOutputBuffer(s+" html.push(haml.HamlRuntime.perserveWhitespace(String(value)))\n"):this.outputBuffer.appendToOutputBuffer(s+" html.push(String(value))\n"),this.outputBuffer.appendToOutputBuffer(s+"catch e \n"),this.outputBuffer.appendToOutputBuffer(s+" throw new Error(haml.HamlRuntime.templateError("+i.lineNumber+", "+i.characterNumber+", '"+this.escapeCode(i.currentLine)+"',\n"),this.outputBuffer.appendToOutputBuffer(s+" 'Error evaluating expression - ' + e))\n")},t.prototype.initOutput=function(){return this.outputBuffer.appendToOutputBuffer("html = []\n")},t.prototype.closeAndReturnOutput=function(){return this.outputBuffer.flush(),this.outputBuffer.output()+'return html.join("")\n'},t.prototype.appendCodeLine=function(e,t){return this.outputBuffer.flush(),this.outputBuffer.appendToOutputBuffer(this.calcCodeIndent()),this.outputBuffer.appendToOutputBuffer((_.str||_).trim(e)),this.outputBuffer.appendToOutputBuffer(t),this.prevCodeIndent=this.indent},t.prototype.lineMatchesStartFunctionBlock=function(e){return e.match(/\) [\-=]>\s*$/)},t.prototype.lineMatchesStartBlock=function(e){return!0},t.prototype.closeOffCodeBlock=function(e){return this.outputBuffer.flush()},t.prototype.closeOffFunctionBlock=function(e){return this.outputBuffer.flush()},t.prototype.generateCodeForDynamicAttributes=function(e,t,n,r,i,s){var o;return this.outputBuffer.flush(),o=this.calcCodeIndent(),r.length>0&&(r=this.replaceReservedWordsInHash(r),this.outputBuffer.appendToOutputBuffer(o+"hashFunction = () -> s = CoffeeScript.compile('"+r.replace(/'/g,"\\'").replace(/\n/g,"\\n")+"', bare: true); eval 'hashObject = ' + s\n")),i.length>0&&this.outputBuffer.appendToOutputBuffer(o+"objRefFn = () -> s = CoffeeScript.compile('"+i.replace(/'/g,"\\'")+"', bare: true); eval 'objRef = ' + s\n"),this.outputBuffer.appendToOutputBuffer(o+"html.push(haml.HamlRuntime.generateElementAttributes(this, '"+e+"', ['"+t.join("','")+"'], objRefFn ? null, "+JSON.stringify(n)+", hashFunction ? null, "+s.lineNumber+", "+s.characterNumber+", '"+this.escapeCode(s.currentLine)+"'))\n")},t.prototype.replaceReservedWordsInHash=function(e){var t,n,r,i,s;n=e,s=["class","for"];for(r=0,i=s.length;r<i;r++)t=s[r],n=n.replace(t+":","'"+t+"':");return n},t.prototype.escapeCode=function(e){var t,n,r,i,s;n="",t=0,s=this.embeddedCodeBlockMatcher.exec(e);while(s)s.index>0&&(r=e.charAt(s.index-1)),s.index>1&&(i=e.charAt(s.index-2)),r==="\\"&&i!=="\\"?(s.index!==0&&(n+=this._escapeText(e.substring(t,s.index-1))),n+=this._escapeText("\\"+s[0])):(n+=this._escapeText(e.substring(t,s.index)),n+=s[0]),t=this.embeddedCodeBlockMatcher.lastIndex,s=this.embeddedCodeBlockMatcher.exec(e);return t<e.length&&(n+=this._escapeText(e.substring(t))),n},t.prototype._escapeText=function(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/(^|[^\\]{2})\\\\#{/g,"$1\\#{")},t.prototype.generateJsFunction=function(e){var t;try{return t=CoffeeScript.compile(e,{bare:!0}),new Function(t)}catch(n){throw"Incorrect embedded code has resulted in an invalid Haml function - "+n+"\nGenerated Function:\n"+t}},t.prototype.generateFlush=function(e){return this.calcCodeIndent()+"html.push('"+this.escapeCode(e)+"')\n"},t.prototype.setIndent=function(e){return this.indent=e},t.prototype.mark=function(){return this.prevIndent=this.indent},t.prototype.calcCodeIndent=function(){var e,t,n,i,s,o;e=0;for(t=n=0,i=this.indent;0<=i?n<=i:n>=i;t=0<=i?++n:--n)if(((s=this.elementStack[t])!=null?s.block:void 0)||((o=this.elementStack[t])!=null?o.fnBlock:void 0))e+=1;return r.indentText(e)},t.prototype.appendTextContents=function(e,t,n,r){var i,s;if(t&&e.match(/#{[^}]*}/)){this.outputBuffer.flush(),i=s="";if(r!=null?r.escapeHTML:void 0)i="haml.HamlRuntime.escapeHTML(",s=")";else if(r!=null?r.perserveWhitespace:void 0)i="haml.HamlRuntime.perserveWhitespace(",s=")";return this.outputBuffer.appendToOutputBuffer(this.calcCodeIndent()+"html.push("+i+'"'+this.escapeCode(e)+'"'+s+")\n")}if(r!=null?r.escapeHTML:void 0)e=haml.HamlRuntime.escapeHTML(e);if(r!=null?r.perserveWhitespace:void 0)e=haml.HamlRuntime.perserveWhitespace(e);return this.outputBuffer.append(e)},t}(t),u={plain:function(e,t,n,r){var i,s,o;for(s=0,o=e.length;s<o;s++)i=e[s],t.appendTextContents(n+i+"\n",!0,r);return!0},javascript:function(e,t,n,r){var i,s,o;t.outputBuffer.append(n+'<script type="text/javascript">\n'),t.outputBuffer.append(n+"//<![CDATA[\n");for(s=0,o=e.length;s<o;s++)i=e[s],t.appendTextContents(n+i+"\n",!0,r);return t.outputBuffer.append(n+"//]]>\n"),t.outputBuffer.append(n+"</script>\n")},css:function(e,t,n,r){var i,s,o;t.outputBuffer.append(n+'<style type="text/css">\n'),t.outputBuffer.append(n+"/*<![CDATA[*/\n");for(s=0,o=e.length;s<o;s++)i=e[s],t.appendTextContents(n+i+"\n",!0,r);return t.outputBuffer.append(n+"/*]]>*/\n"),t.outputBuffer.append(n+"</style>\n")},cdata:function(e,t,n,r){var i,s,o;t.outputBuffer.append(n+"<![CDATA[\n");for(s=0,o=e.length;s<o;s++)i=e[s],t.appendTextContents(n+i+"\n",!0,r);return t.outputBuffer.append(n+"]]>\n")},preserve:function(e,t,n,r){return t.appendTextContents(e.join("\n")+"\n",!0,r,{perserveWhitespace:!0})},escape:function(e,t,n,r){var i,s,o;for(s=0,o=e.length;s<o;s++)i=e[s],t.appendTextContents(n+i+"\n",!0,r,{escapeHTML:!0});return!0}},a.haml={compileHaml:function(e){var t,n,r;if(typeof e=="string")return this._compileHamlTemplate(e,new haml.JsCodeGenerator);t=function(){switch(e.generator){case"coffeescript":return new haml.CoffeeCodeGenerator;case"productionjavascript":return new haml.ProductionJsCodeGenerator;default:return new haml.JsCodeGenerator}}();if(e.source!=null)r=new haml.Tokeniser({template:e.source});else if(e.sourceId!=null)r=new haml.Tokeniser({templateId:e.sourceId});else{if(e.sourceUrl==null)throw"No template source specified for compileHaml. You need to provide a source, sourceId or sourceUrl option";r=new haml.Tokeniser({templateUrl:e.sourceUrl})}return n=this._compileHamlToJs(r,t),e.outputFormat!=="string"?t.generateJsFunction(n):"function (context) {\n"+n+"}\n"},compileCoffeeHaml:function(e){return this._compileHamlTemplate(e,new haml.CoffeeCodeGenerator)},compileStringToJs:function(e){var t,n;return t=new haml.JsCodeGenerator,n=this._compileHamlToJs(new haml.Tokeniser({template:e}),t),t.generateJsFunction(n)},compileCoffeeHamlFromString:function(e){var t,n;return t=new haml.CoffeeCodeGenerator,n=this._compileHamlToJs(new haml.Tokeniser({template:e}),t),t.generateJsFunction(n)},compileHamlToJsString:function(e){var t;return t="function (context) {\n",t+=this._compileHamlToJs(new haml.Tokeniser({template:e}),new haml.JsCodeGenerator),t+="}\n"},_compileHamlTemplate:function(e,t){var n,r;return haml.cache||(haml.cache={}),haml.cache[e]?haml.cache[e]:(r=this._compileHamlToJs(new haml.Tokeniser({templateId:e}),t),n=t.generateJsFunction(r),haml.cache[e]=n,n)},_compileHamlToJs:function(e,t){var n;t.elementStack=[],t.initOutput(),e.getNextToken();while(!e.token.eof)e.token.eol?(t.outputBuffer.append(e.token.matched),e.getNextToken()):(n=this._whitespace(e),t.setIndent(n),e.token.eol?(t.outputBuffer.append(r.indentText(n)+e.token.matched),e.getNextToken()):e.token.doctype?this._doctype(e,n,t):e.token.exclamation?this._ignoredLine(e,n,t.elementStack,t):e.token.equal||e.token.escapeHtml||e.token.unescapeHtml||e.token.tilde?this._embeddedJs(e,n,t.elementStack,{innerWhitespace:!0},t):e.token.minus?this._jsLine(e,n,t.elementStack,t):e.token.comment||e.token.slash?this._commentLine(e,n,t.elementStack,t):e.token.amp?this._escapedLine(e,n,t.elementStack,t):e.token.filter?this._filter(e,n,t):this._templateLine(e,t.elementStack,n,t));return this._closeElements(0,t.elementStack,e,t),t.closeAndReturnOutput()},_doctype:function(e,t,n){var i,s;if(e.token.doctype){n.outputBuffer.append(r.indentText(t)),e.getNextToken(),e.token.ws&&e.getNextToken(),i=e.skipToEOLorEOF();if(i&&i.length>0){s=i.split(/\s+/);switch(s[0]){case"XML":s.length>1?n.outputBuffer.append("<?xml version='1.0' encoding='"+s[1]+"' ?>"):n.outputBuffer.append("<?xml version='1.0' encoding='utf-8' ?>");break;case"Strict":n.outputBuffer.append('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');break;case"Frameset":n.outputBuffer.append('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">');break;case"5":n.outputBuffer.append("<!DOCTYPE html>");break;case"1.1":n.outputBuffer.append('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">');break;case"Basic":n.outputBuffer.append('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">');break;case"Mobile":n.outputBuffer.append('<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">');break;case"RDFa":n.outputBuffer.append('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">')}}else n.outputBuffer.append('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');return n.outputBuffer.append(this._newline(e)),e.getNextToken()}},_filter:function(e,t,n){var r,i,s,o;if(e.token.filter){r=e.token.tokenString;if(!haml.filters[r])throw e.parseError("Filter '"+r+"' not registered. Filter functions need to be added to 'haml.filters'.");e.skipToEOLorEOF(),e.getNextToken(),s=haml._whitespace(e),i=[];while(!e.token.eof&&s>t)o=e.skipToEOLorEOF(),i.push(haml.HamlRuntime.indentText(s-t-1)+o),e.getNextToken(),s=haml._whitespace(e);return haml.filters[r](i,n,haml.HamlRuntime.indentText(t),e.currentParsePoint()),e.pushBackToken()}},_commentLine:function(e,t,n,i){var s,o;if(e.token.comment){e.skipToEOLorEOF(),e.getNextToken(),o=this._whitespace(e);while(!e.token.eof&&o>t)e.skipToEOLorEOF(),e.getNextToken(),o=this._whitespace(e);if(o>0)return e.pushBackToken()}else if(e.token.slash)return haml._closeElements(t,n,e,i),i.outputBuffer.append(r.indentText(t)),i.outputBuffer.append("<!--"),e.getNextToken(),s=e.skipToEOLorEOF(),s&&s.length>0&&i.outputBuffer.append(s),s&&(_.str||_).startsWith(s,"[")&&s.match(/\]\s*$/)?(n[t]={htmlConditionalComment:!0,eol:this._newline(e)},i.outputBuffer.append(">")):n[t]={htmlComment:!0,eol:this._newline(e)},haml._tagHasContents(t,e)&&i.outputBuffer.append("\n"),e.getNextToken()},_escapedLine:function(e,t,n,i){var s;if(e.token.amp)return haml._closeElements(t,n,e,i),i.outputBuffer.append(r.indentText(t)),e.getNextToken(),s=e.skipToEOLorEOF(),s&&s.length>0&&i.outputBuffer.append(haml.HamlRuntime.escapeHTML(s)),i.outputBuffer.append(this._newline(e)),e.getNextToken()},_ignoredLine:function(e,t,n,i){var s;if(e.token.exclamation)return e.getNextToken(),e.token.ws&&(t+=haml._whitespace(e)),haml._closeElements(t,n,e,i),s=e.skipToEOLorEOF(),i.outputBuffer.append(r.indentText(t)+s)},_embeddedJs:function(e,t,n,i,s){var o,u,a,f,l;n&&haml._closeElements(t,n,e,s);if(e.token.equal||e.token.escapeHtml||e.token.unescapeHtml||e.token.tilde){u=e.token.escapeHtml||e.token.equal,l=e.token.tilde,o=e.currentParsePoint(),e.getNextToken(),a=e.skipToEOLorEOF(),f=r.indentText(t),(!i||i.innerWhitespace)&&s.outputBuffer.append(f),s.appendEmbeddedCode(f,a,u,l,o);if(!i||i.innerWhitespace){s.outputBuffer.append(this._newline(e));if(e.token.eol)return e.getNextToken()}}},_jsLine:function(e,t,n,r){var i;if(e.token.minus){haml._closeElements(t,n,e,r),e.getNextToken(),i=e.skipToEOLorEOF(),r.setIndent(t),r.appendCodeLine(i,this._newline(e)),e.token.eol&&e.getNextToken();if(r.lineMatchesStartFunctionBlock(i))return n[t]={fnBlock:!0};if(r.lineMatchesStartBlock(i))return n[t]={block:!0}}},_templateLine:function(e,t,n,i){var s,o,u,a,f,l,c,h,p,d,v,m,g;e.token.eol||this._closeElements(n,t,e,i),h=this._element(e),c=this._idSelector(e),u=this._classSelector(e),v=this._objectReference(e),s=this._attributeList(e),f=e.currentParsePoint(),o=this._attributeHash(e),g={selfClosingTag:!1,innerWhitespace:!0,outerWhitespace:!0},d=this._lineHasElement(h,c,u),e.token.slash&&(g.selfClosingTag=!0,e.getNextToken()),e.token.gt&&d&&(g.outerWhitespace=!1,e.getNextToken()),e.token.lt&&d&&(g.innerWhitespace=!1,e.getNextToken()),d&&(g.selfClosingTag||(g.selfClosingTag=haml._isSelfClosingTag(h)&&!haml._tagHasContents(n,e)),this._openElement(f,n,h,c,u,v,s,o,t,g,i)),l=!1,e.token.ws&&e.getNextToken(),e.token.equal||e.token.escapeHtml||e.token.unescapeHtml?(this._embeddedJs(e,n+1,null,g,i),l=!0):(a="",m=!1,e.token.exclamation?(e.getNextToken(),a=e.skipToEOLorEOF()):(a=e.skipToEOLorEOF(),a.match(/^\\/)&&(a=a.substring(1)),m=!0),l=a.length>0,l&&(g.innerWhitespace&&d||!d&&haml._parentInnerWhitespace(t,n)?p=r.indentText(h.length>0?n+1:n):(p="",a=(_.str||_).trim(a)),i.appendTextContents(p+a,m,f),i.outputBuffer.append(this._newline(e))),this._eolOrEof(e));if(g.selfClosingTag&&l)throw haml.HamlRuntime.templateError(f.lineNumber,f.characterNumber,f.currentLine,"A self-closing tag can not have any contents")},_attributeHash:function(e){var t;return t="",e.token.attributeHash&&(t=e.token.tokenString,e.getNextToken()),t},_objectReference:function(e){var t;return t="",e.token.objectReference&&(t=e.token.tokenString,e.getNextToken()),t},_attributeList:function(e){var t,n;n={};if(e.token.openBracket){e.getNextToken();while(!e.token.closeBracket){t=haml._attribute(e),t?n[t.name]=t.value:e.getNextToken();if(e.token.ws||e.token.eol)e.getNextToken();else if(!e.token.closeBracket&&!e.token.identifier)throw e.parseError("Expecting either an attribute name to continue the attibutes or a closing bracket to end")}e.getNextToken()}return n},_attribute:function(e){var t,n;t=null;if(e.token.identifier){n=e.token.tokenString,e.getNextToken(),haml._whitespace(e);if(!e.token.equal)throw e.parseError("Expected '=' after attribute name");e.getNextToken(),haml._whitespace(e);if(!e.token.string&&!e.token.identifier)throw e.parseError("Expected a quoted string or an identifier for the attribute value");t={name:n,value:e.token.tokenString},e.getNextToken()}return t},_closeElement:function(e,t,n,i){var s,o;if(t[e])return i.setIndent(e),t[e].htmlComment?i.outputBuffer.append(r.indentText(e)+"-->"+t[e].eol):t[e].htmlConditionalComment?i.outputBuffer.append(r.indentText(e)+"<![endif]-->"+t[e].eol):t[e].block?i.closeOffCodeBlock(n):t[e].fnBlock?i.closeOffFunctionBlock(n):(s=!t[e].tagOptions||t[e].tagOptions.innerWhitespace,s?i.outputBuffer.append(r.indentText(e)):i.outputBuffer.trimWhitespace(),i.outputBuffer.append("</"+t[e].tag+">"),o=!t[e].tagOptions||
8
+ t[e].tagOptions.outerWhitespace,haml._parentInnerWhitespace(t,e)&&o&&i.outputBuffer.append("\n")),t[e]=null,i.mark()},_closeElements:function(e,t,n,r){var i,s;i=t.length-1,s=[];while(i>=e)s.push(this._closeElement(i--,t,n,r));return s},_openElement:function(e,t,n,i,s,o,u,a,f,l,c){var h,p,d;h=n.length===0?"div":n,p=this._parentInnerWhitespace(f,t),d=!l||l.outerWhitespace,d||c.outputBuffer.trimWhitespace(),t>0&&p&&d&&c.outputBuffer.append(r.indentText(t)),c.outputBuffer.append("<"+h),a.length>0||o.length>0?c.generateCodeForDynamicAttributes(i,s,u,a,o,e):c.outputBuffer.append(r.generateElementAttributes(null,i,s,null,u,null,e.lineNumber,e.characterNumber,e.currentLine));if(l.selfClosingTag){c.outputBuffer.append("/>");if(l.outerWhitespace)return c.outputBuffer.append("\n")}else{c.outputBuffer.append(">"),f[t]={tag:h,tagOptions:l};if(l.innerWhitespace)return c.outputBuffer.append("\n")}},_isSelfClosingTag:function(e){return e==="meta"||e==="img"||e==="link"||e==="script"||e==="br"||e==="hr"},_tagHasContents:function(e,t){var n;return t.isEolOrEof()?(n=t.lookAhead(1),n.ws&&n.tokenString.length/2>e):!0},_parentInnerWhitespace:function(e,t){return t===0||!e[t-1]||!e[t-1].tagOptions||e[t-1].tagOptions.innerWhitespace},_lineHasElement:function(e,t,n){return e.length>0||t.length>0||n.length>0},hasValue:function(e){return e!=null&&e!==!1},attrValue:function(e,t){return e==="selected"||e==="checked"||e==="disabled"?e:t},_whitespace:function(e){var t,n,r;n=0;if(e.token.ws){t=0,r=e.token.tokenString;while(t<r.length)r.charCodeAt(t)===9&&t%2===0?n+=2:n++,t++;n=Math.floor((n+1)/2),e.getNextToken()}return n},_element:function(e){var t;return t="",e.token.element&&(t=e.token.tokenString,e.getNextToken()),t},_eolOrEof:function(e){if(e.token.eol||e.token.continueLine)return e.getNextToken();if(!e.token.eof)throw e.parseError("Expected EOL or EOF")},_idSelector:function(e){var t;return t="",e.token.idSelector&&(t=e.token.tokenString,e.getNextToken()),t},_classSelector:function(e){var t;t=[];while(e.token.classSelector)t.push(e.token.tokenString),e.getNextToken();return t},_newline:function(e){return e.token.eol?e.token.matched:e.token.continueLine?e.token.matched.substring(1):"\n"}},a.haml.Tokeniser=o,a.haml.Buffer=e,a.haml.JsCodeGenerator=i,a.haml.ProductionJsCodeGenerator=s,a.haml.CoffeeCodeGenerator=n,a.haml.HamlRuntime=r,a.haml.filters=u}).call(this);
metadata ADDED
@@ -0,0 +1,140 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rails-hamljs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Vaughn Draughon
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: sprockets
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '2.1'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.1'
30
+ - !ruby/object:Gem::Dependency
31
+ name: tilt
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '1.3'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '1.3'
46
+ - !ruby/object:Gem::Dependency
47
+ name: execjs
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 1.4.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.4.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: coffee-script
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: '2.2'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '2.2'
78
+ description: ! 'Clientide Haml JS templates for rails that "just work" (like they
79
+ should).
80
+
81
+
82
+ Why another Haml JavaScript gem?
83
+
84
+
85
+ Uglyog''s library lets you use coffeescript, which allows the embedded JavaScript
86
+ in your Haml templates to be much more beautiful and Ruby-like. While I''m not the
87
+ biggest fan of coffeescript for actual javascript coding, it''s the perfect solution
88
+ for haml templates.
89
+
90
+
91
+ The gem hooks in to the asset pipeline, convention over configuration style, very
92
+ similar to the EJS gem, to give you precompiled haml templates which are actually
93
+ blazing fast for the user and should be perfectly compatible with precompiled assets
94
+ in production environments.
95
+
96
+ '
97
+ email:
98
+ - vaughn@rocksolidwebdesign.com
99
+ executables: []
100
+ extensions: []
101
+ extra_rdoc_files: []
102
+ files:
103
+ - README.md
104
+ - LICENSE
105
+ - lib/rails-hamljs/engine.rb
106
+ - lib/rails-hamljs/version.rb
107
+ - lib/rails-hamljs.rb
108
+ - vendor/assets/javascripts/creationix-haml-js/haml.js
109
+ - vendor/assets/javascripts/uglyog-haml-js/ext/coffee-script.js
110
+ - vendor/assets/javascripts/uglyog-haml-js/ext/jquery-1.7.1.js
111
+ - vendor/assets/javascripts/uglyog-haml-js/ext/json2.js
112
+ - vendor/assets/javascripts/uglyog-haml-js/ext/underscore.js
113
+ - vendor/assets/javascripts/uglyog-haml-js/ext/underscore.string.js
114
+ - vendor/assets/javascripts/uglyog-haml-js/haml.js
115
+ - vendor/assets/javascripts/uglyog-haml-js/haml.min.js
116
+ homepage: https://github.com/rocksolidwebdesign/rails-hamljs/
117
+ licenses: []
118
+ post_install_message:
119
+ rdoc_options: []
120
+ require_paths:
121
+ - lib
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ! '>='
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ requirements: []
135
+ rubyforge_project:
136
+ rubygems_version: 1.8.24
137
+ signing_key:
138
+ specification_version: 3
139
+ summary: Haml JavaScript Templates
140
+ test_files: []