ljcomments-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Andrey Savelyev
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # Ljcomments::Rails
2
+
3
+ Интегрирует скрипт по адресу http://l-stat.livejournal.com/js/partners/ljcomments.min.js в Rails asset pipeline
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'ljcomments-rails'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install ljcomments-rails
18
+
19
+ ## Usage
20
+
21
+ Пропишите в app/assets/javascripts/application.js:
22
+
23
+ //= require ljcomments-rails
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create new Pull Request
32
+
@@ -0,0 +1,8 @@
1
+ require "ljcomments-rails/version"
2
+
3
+ module Ljcomments
4
+ module Rails
5
+ class Engine < ::Rails::Engine
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module Ljcomments
2
+ module Rails
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ /* file: js/partners/ljcomments.min.js
2
+ ----------------------------------------------------------------------------------*/
3
+ (function(d,h){var i=(function(){var af={integration:"client",encoding:"utf8",templates:{dates:"<b>{hours}:{minutes}</b>, {day}, {date}.{month}.{year}",css:{common:'<link media="all" rel="stylesheet" href="http://{hostnamestat}/stc/partners/comments.css" type="text/css" />',ie:'<link media="all" rel="stylesheet" href="http://{hostnamestat}/stc/partners/comments.ie.css" type="text/css" />'},selectors:{commentContainer:".comment-container",deletedCommentContainer:".deleted-comment-container",expandThreadControl:".expand-thread-control",collapseThreadControl:".collapse-thread-control",threadLink:".thread-link",nonThreadControl:".non-thread-control",addCommentControl:".add-comment-control",replyControl:".reply-control",deleteControl:".delete-control",viewAllControl:".view-all-control",LJIframe:".lj-iframe",pagerLink:".lj3-pagination a"},pager:{top:'<div class="lj3-pagination"><ul>{pages}</ul></div>',firstPage:'<li><a href="{link}">{number}</a></li>',lastPage:'<li><a href="{link}">{number}</a></li>',prevPage:'<li class="lj3-to-home"><a href="{link}">&laquo;</a></li>',nextPage:'<li class="lj3-to-end"><a href="{link}">&raquo;</a></li>',currentPage:'<li class="lj3-active"><a>{number}</a></li>',lacuna:'<li class="lj3-lacuna"><a>&hellip;</a></li>',commonPage:'<li><a href="{link}">{number}</a></li>',message:"<p>{number}-я страница из {total}</p>",bottom:'<div class="lj3-pagination">{message}<ul>{pages}</ul></div>'},comments:{open:'<dl class="lj3-comment comment-container lj3-indent{level}" id="t{comment_id}" level="{level}"><dt class="lj3-comment-header"><span class="lj3-comment-header-inner"><span class="lj3-comment-meta collapse-thread-control"><span class="lj3-user lj3-{journal_type_classname} vcard"><a title="Profile" class="non-thread-control" target="_blank" href="{profile_url}"><img class="non-thread-control" alt="" src="http://l-stat.livejournal.com/gadgets/i/0.gif"></a>&nbsp;<a title="Journal" target="_blank" href="{journal_url}" class="fn nickname url non-thread-control">{display_name}</a></span><a href="#t{comment_id}" class="lj3-permalink">#</a></span><strong class="lj3-comment-title {empty_subject}">{subject}</strong></span></dt><dd class="lj3-comment-content"><p>{text}</p></dd><dd class="lj3-comment-footer"><span class="lj3-comment-date">{time_and_date}</span><p>{delete_comment_link}{thread_link}<a href="?replyto={comment_id}" class="lj3-button-link lj3-reply-link reply-control">Ответить</a></p></dd></dl>',collapsed:'<dl class="lj3-comment comment-container lj3-comment-collapsed lj3-indent{level}" id="t{comment_id}" collapsed="collapsed" level="{level}"> <dt class="lj3-comment-header"> <span class="lj3-comment-header-inner"><span class="lj3-comment-meta expand-thread-control"><a class="lj3-comment-title">{subject}</a><span class="lj3-user lj3-{journal_type_classname} vcard non-thread-control"><a title="Profile" target="_blank" href="{profile_url}" class="non-thread-control"><img alt="" src="http://l-stat.livejournal.com/gadgets/i/0.gif" class="non-thread-control"></a>&nbsp;<a title="Journal" target="_blank" href="{journal_url}" class="fn nickname url non-thread-control">{display_name}</a></span><span class="lj3-comment-date">{time_and_date}</span></span></span></dt></dl>',deleted:'<dl class="lj3-comment lj3-comment-collapsed lj3-indent{level} deleted-comment-container" level="{level}"><dt class="lj3-comment-header"><span class="lj3-comment-header-inner"><span class="lj3-comment-meta"><a class="lj3-comment-title">(Комментарий был скрыт или удален)</a></span></span></dt></dl>',addButton:'<p class="lj3-reply-link add-comment-control"><a class="lj3-button-link reply-control" href="javascript:void(0);">Добавить комментарий</a></p>',LJIframeContainer:'<div class="lj3-iframe lj-iframe"><iframe src="{iframe_src}" border="0" frameborder="0" /></div>',authBlockContainer:'<div class="auth-block"></div>',viewAllLink:'<p class="lj3-reply-link"><a class="lj3-button-link view-all-control" href="{url}">Все комментарии</a></p>',expandThreadLink:'<a href="#" class="lj3-thread-link thread-link expand-thread-control">Развернуть</a>',collapseThreadLink:'<a href="#" class="lj3-thread-link thread-link collapse-thread-control">Свернуть</a>',deleteCommentLink:'<a href="#" class="lj3-delete-comment delete-control">Удалить</a>',preloaderClassname:"idle",emptySubject:{classname:"empty",message:"Без темы"}}},urlsTemplates:{comments:"http://{hostname}/tools/endpoints/comments.bml?rsk={rsk}&docid={docid}&ver={version}&ditemid={ditemid}",deleteComment:"http://{hostname}/delcomment.bml?ver={version}",replyForm:"http://{hostname}/gadgets/logcom.bml?rsk={rsk}&docid={docid}&domain={domain}&ver={version}&type={type}&ditemid={ditemid}",authBlock:"http://{hostname}/gadgets/loginstatus.bml?rsk={rsk}&docid={docid}&domain={domain}&ver={version}&type={type}",interstitial:"http://{hostname}/identity/{name}.bml?forwhat={forwhat}&mode=compact&rsk={rsk}&ver={version}"},messages:{"delete comment confirm":"Вы действительно хотите удалить комментарий?"},hostname:"www.livejournal.com",hostnamestat:"l-stat.livejournal.com",domain:h.location.hostname,cssIEVersion:0,rsk:"",url:"",version:"",ditemid:"",type:""};var O,o,ac,ag=[],ae={},R={},F={},H="loadAll",M,Z,V,Y,p,X,w,z,K,t,C,B,n,L={};h.LJAddComment=q;h.LJCloseFrame=s;h.LJStoreUserState=W;function x(aj){aj=aj||{};var ai=L.comments;if(H=="loadAll"||H=="loadSingleThread"){if(M){ai=b(ai,{page:M})}else{if(z){ai=b(ai,{view:z})}else{M=1}}if(aj.threadId){ai=b(ai,{thread:aj.threadId})}}else{if(H=="loadThread"||H=="loadComment"){ai=b(ai,{thread:aj.threadId})}}ai=b(ai,{encoding:af.encoding});d.ajax({url:ai,success:ah,dataType:"jsonp"});function ah(ak){ag=ak.comments;C=ak.journal;B=ak.auth_token;n=ak.logged_in;if(H=="loadAll"||H=="loadSingleThread"){Z=ak.pages;if(z){M=ak.page}}O.trigger("dataload",aj)}}function P(aj,ak,al){var ai=al||aj;aj[{show:"add",hide:"remove"}[ak]+"Class"](ac.comments.preloaderClassname);if(ak=="show"){ai.bind("click.whileLoading",ah)}else{ai.unbind("click.whileLoading")}function ah(am){am.preventDefault();am.stopPropagation()}}function U(ah,ak){var aj,ai;if(typeof ak=="undefined"){ai=!!(ah.filter(ac.selectors.expandThreadControl).length);ak=(ai)?"collapse":"expand"}aj=ac.comments[ak+"ThreadLink"];d(aj).insertAfter(ah);ah.remove()}function r(ai,ah){if(ag.length===0){return false}ah=ah||{};var ap=ag,aj=ap[0].parent_id,ao=-1,al=(ah.level)?ah.level-1:-1,am=0;for(var an=am,ak=ap.length;an<ak;an++){if(ap[an].parent_id==aj){ap=g(ap,an,am);ap[am].level=al+1;aj=ap[am].comment_id;ao=am;al++;am++;an=am-1;continue}if(an==ap.length-1){if(al<=-1){break}if(al>=1){while(ap[ao].level>=al){ao=ao-1}aj=ap[ao].comment_id;al=al-1}else{al=-1;ao=-1;aj=0}an=am-1;continue}}O.trigger("dataparse",ah)}function W(ah,ak){var aj,ai;if(n!=ah){n=ah;aj=(ak=="logcom")?Y.find("iframe:visible"):V.find("iframe:visible");if(aj.length){ai=aj.attr("src")+"&reload="+(new Date()).getTime();aj.attr("src",ai)}}}function ab(ai,ah){var ak=[],al,ap,an,at,ao,au,ar=false,aq=ah.level||0,av=false;for(var am=0,aj=ag.length;am<aj;am++){al=ag[am];at=ag[am+1];ap=al.comment_id;ao=l(al,at);if(ao&&al.level==aq){au=m(am,ag);if(au){ar="expand";av=ap;F[av]={collapsable:0,collapsed:0}}else{av=false;ar=false}}else{ar=false}if(av&&!al.is_open&&al.state!=="D"){F[av].collapsed++;F[av].collapsable++;R[ap]=av}an=G(al,at,al.is_open,ar);if(H=="loadAll"||H=="loadSingleThread"){ak.push(an)}else{if(H=="loadThread"||H=="loadComment"){ae[al.comment_id]=an}}}if(H=="loadAll"||H=="loadSingleThread"){o.html(ak.join(" "));O.trigger("htmlready");return true}else{if(H=="loadThread"){O.trigger("threadready")}else{if(H=="loadComment"){O.trigger("commentready",[ah,al])}}}}function l(ai,ah,aj){aj=(typeof aj==="undefined")?ai.level:aj;return ah&&ah.level>aj}function m(aj,am,an){var al=am[0],ai,ao;an=(typeof an==="undefined")?al.level:an;for(var ak=aj,ah=am.length;ak<ah;ak++){al=am[ak];ai=am[ak+1];ao=l(al,ai,an);if(ao){if(!ai.is_open&&ai.state!=="D"){return true}}else{return false}}}function G(ak,ap,ah,al){var ai=ac.comments,ao=ai.deleted,aj=ai.open,am=ai.collapsed,an=!!(ak.state=="D"||ak.state=="S"),aq;ak.text=ak.text||"";ak.time_and_date=j(ak.timestamp,ac.dates,ac.days);ak.journal_type_classname=ak.identity&&ak.identity.shortcode||"livejournal";ak.journal_url=ak.identity&&ak.identity.ljuser_display_params.journal_url||ak.journal_url;if(an){aq=ao}else{if(ah){aq=aj;ak.empty_subject=(ak.subject)?"":ai.emptySubject.classname;ak.thread_link=(al)?ai[al+"ThreadLink"]:"";ak.delete_comment_link=(ak.can_delete)?ai.deleteCommentLink:""}else{aq=am;ak.subject=ak.subject||ai.emptySubject.message}}return a(aq,ak)}function aa(){if(p||ag.length===0||af.integration=="server"||Z==1||H=="loadComment"){return false}if(M>Z){M=1}var ah=h.location.href.replace(h.location.hash,""),av=O.attr("id"),at=ac.pager,au=parseInt(Z,10),ai=parseInt(M,10),aj=((ai-1)>0)?(ai-1):false,am=((ai+1)>au)?false:(ai+1),aq={},an=[],ak,ar,ao,ap;for(var al=0;al<=au+1;al++){ap=al;if(al===0){if(aj){ak=at.prevPage;ap=aj}else{ak=""}}else{if(al==ai){ak=at.currentPage;ar=false}else{if(al==1){ak=at.firstPage}else{if(al>1&&al<(ai-1)){if(!ar){ak=at.lacuna;ar=true}else{ak=""}}else{if(al==(ai-1)){ak=at.commonPage}else{if(al>ai&&al<ai+4){ak=at.commonPage}else{if(al>ai+3&&al<au){if(!ar){ak=at.lacuna;ar=true}else{ak=""}}else{if(al==au){ak=at.lastPage}}}}}}}}if(al==au+1){if(am){ak=at.nextPage;ap=am}else{ak=""}}ao=b(ah,{replyto:0,page:ap})+"#"+av;an.push(a(ak,{link:ao,number:ap}))}aq.pages=an.join(" ");aq.message=a(at.message,{number:ai,total:au});p=d([]).add(d(a(at.top,aq)).prependTo(o)).add(d(a(at.bottom,aq)).appendTo(o))}function A(){if(V){return false}var ak=L.replyForm,ah=L.authBlock,aj,ai=K.show;if(ai){aj=ai.match(/([^\/]*)(\/)(.*)/);ak=a(L.interstitial,{name:aj[1],forwhat:aj[3]})}Y=d(ac.comments.authBlockContainer).append(a(ac.comments.LJIframeContainer,{iframe_src:ah}));V=d(a(ac.comments.LJIframeContainer,{iframe_src:ak}));O.bind("addCommentButtonsCreate",function(){var al=X.first();Y.insertBefore(al);if(ai){V.insertAfter(al)}})}function k(){if(X||H=="loadSingleThread"||H=="loadComment"){return false}X=d([]);if(af.integration!="server"){X=X.add(d(ac.comments.addButton).prependTo(o));if(v()!==0){X=X.add(d(ac.comments.addButton).appendTo(o))}}O.trigger("addCommentButtonsCreate")}function N(){if(w||H!="loadSingleThread"){return false}var ah=a(ac.comments.viewAllLink,af);w=d();if(af.integration!="server"){w=w.add(d(ah).prependTo(o));if(ag.length){w=w.add(d(ah).appendTo(o))}}}function Q(){var ah=o.offset();h.scrollTo(ah.left,ah.top)}function ad(ah,aj){var ai;if(ah.length===0){return false}ai=ah.offset();h.scrollTo(ai.left,ai.top);h.location.hash="#t"+aj}function y(aC,aB){var aA=(aC.data.threadCommentSelector)?d(aC.data.threadCommentSelector).find(ac.selectors.expandThreadControl):d(this);if(aA.length===0||d(aC.target).filter(ac.selectors.nonThreadControl).length){return true}aB=aB||aC.data.action;var ao=aA.closest(ac.selectors.commentContainer),an=parseInt(ao.attr("level"),10),au=ao.attr("id"),aw=au&&au.replace(/\D+/,"")||ao.data("id"),am=aA.data("startIndex"),al=ao.add(ao.nextAll(ac.selectors.commentContainer+", "+ac.selectors.deletedCommentContainer).filter(":visible")),ax=!!(aA.filter(ac.selectors.threadLink).length),av=(ax)?ao:false,aq,ak,ah,aj,ay,ai,aE,aF,ap,at,ar;if(ax){aC.preventDefault()}for(var aD=am||0,az=al.length;aD<az;aD++){aj=d(al[aD]);ai=parseInt(aj.attr("level"),10);if(aD!==0&&(ai<=an)){break}at=(aj.attr("collapsed"))?aj:false;ap=(!at)?aj:false;if(at&&aB=="expand"){ap=at.data("expanded");if(!ap){aF=at.attr("id").replace(/\D+/,"");ay=ae[aF];if(ay){ap=d(ay).insertAfter(at).data("collapsed",at);at.removeAttr("id").data("expanded",ap).data("id",aF)}else{H="loadThread";P(av||at,"show");x({level:an,threadId:aw});O.one("threadready",function(){P(av||at,"hide");aA.data("startIndex",aD);aA.trigger("click","expand")});return false}}at.hide();ap.show();if(!ax){O.trigger("collapsedstatechange",[aw,aB])}}else{if(ap&&aB=="collapse"){at=ap.data("collapsed");if(at){at.show();ap.hide();if(!ax){O.trigger("collapsedstatechange",[aw,aB])}}}}}if(aB=="expand"){aA.data("startIndex",null)}if(ax){F[aw].collapsed=(aB=="expand")?0:F[aw].collapsable;U(aA)}}function q(aj){var ak=parseInt(d("#t"+aj.replyto).attr("level"),10),ah=!(ak>=0),ai={level:ak+1,threadId:aj.comment_id,replyTo:aj.replyto};H="loadComment";if(ah){O.trigger("commentready",[ai]);return true}x(ai)}function E(au,ao,aB){var ap,aA=ao.threadId,ai="#t"+aA,aw=ao.replyTo,al=d("#t"+aw),az=parseInt(al.attr("level"),10),ak=!!al.data("collapsed"),ax,aj,ay,ah,ar,aq,an,am=R[aw];V.hide();if(al.length){if(ak){ap=G(aB,null,false)}else{ap=ae[ao.threadId]}ax=al;ah=ax.nextAll(ac.selectors.commentContainer+", "+ac.selectors.deletedCommentContainer);ar=ah.first();if(parseInt(ar.attr("level"),10)>az){ax=ar;for(var av=0,at=ah.length;av<at;av++){aj=d(ah[av]);ay=parseInt(aj.attr("level"),10);if(ay<=az){ax=d(ah[av-1]);break}}}aq=v();d(ap).insertAfter(ax);an=aq+1;O.trigger("datalengthchange",[aq,an]);if(am){R[aA]=am;F[am].collapsed++;F[am].collapsable++}y({data:{threadCommentSelector:ai}},"expand");ad(d(ai),ao.threadId)}else{u(au,null,ao.threadId);O.one("htmlready",function(){ad(d(ai),ao.threadId)})}}function S(aj){var ah=d(this),an=ah.closest(ac.selectors.commentContainer),ap=an.data("collapsed"),al=an.attr("id").replace(/\D+/,""),ak=R[al];aj.preventDefault();if(!confirm(af.messages["delete comment confirm"])){return false}P(an,"show",ah);d.ajax({url:L.deleteComment,success:am,dataType:"jsonp",data:{mode:"jsonp",confirm:1,journal:C,id:al,auth_token:B}});function am(aq){if(aq.success){ao();ai()}else{alert(aq.error);P(an,"hide",ah)}}function ao(){var ar=an.nextAll(ac.selectors.commentContainer+","+ac.selectors.deletedCommentContainer).first(),au=parseInt(an.attr("level"),10),at=parseInt(ar.attr("level"),10),aq;an.fadeOut("fast",function(){var aw,av;aw=v();d(this).remove();av=aw-1;O.trigger("datalengthchange",[aw,av]);if(ak){R[al]=ak;F[ak].collapsable--}});if(ap){ap.remove()}if(at>au){aq=a(ac.comments.deleted,{level:au});d(aq).insertBefore(ar)}}function ai(){ae[al]=null}}function v(){return o.find(ac.selectors.commentContainer).length}function J(ai,aj,ah){if(aj>0&&ah===0){X.last().remove()}else{if(aj===0&&ah>0){X=X.add(d(ac.comments.addButton).appendTo(o))}}}function u(ak,ah,ai){var al,aj,am;ak.preventDefault();if(ah){al=ah}else{if(ai){z=ai;al=null}else{aj=this.href.replace(/#(.*)+$/,"");am=c(aj);al=am.page}}if(al){h.location.hash="#p"+al;Q()}H="loadAll";M=al;if(p){P(p,"show");p=null}if(X){X=null}x()}function T(ak){ak.preventDefault();var ai=d(this).closest(ac.selectors.commentContainer),ah,aj,al;if(ai.length){ah=ai;aj=ai.attr("id").replace(/\D+/,"")}else{ah=d(this).closest(ac.selectors.addCommentControl)}if(ah.next(ac.selectors.LJIframe+":visible").length){V.show();return false}al=b(L.replyForm,{replyto:aj||0});V.insertAfter(ah).find("iframe").attr("src",al).end().show()}function s(){V.detach()}function I(am,al,ao){var ak=R[al],an=F[ak],ai=an.collapsed,aj=(ao=="collapse")?+1:-1,ah=d("#t"+ak).find(ac.selectors.threadLink);an.collapsed=ai+aj;if(an.collapsed===0){U(ah,"collapse")}else{U(ah,"expand")}}function D(ai){var ah=d.browser,aj=[];ac.css=e(ac.css,ai);aj.push(ac.css.common);if(ah.msie&&(ai.cssIEVersion===0||(parseInt(ah.version,10)<ai.cssIEVersion))){aj.push(ac.css.ie)}d(aj.join(" ")).appendTo(d("head"))}return{init:function(ah,ai){d.extend(true,af,ai);ac=af.templates;L=e(af.urlsTemplates,af);K=c(h.location.search.replace("?",""));t=f(h.location.hash.replace("#",""));var aj={};M=t.page||K.page;if(K.thread&&!M){aj.threadId=parseInt(K.thread,10);H="loadSingleThread"}z=t.commentId||K.replyto;O=d(ah).bind("dataload",r).bind("dataload",aa).bind("dataload",A).bind("dataload",k).bind("dataload",N).bind("dataparse",ab).bind("commentready",E).bind("datalengthchange",J).bind("collapsedstatechange",I).delegate(ac.selectors.pagerLink,"click",u).delegate(ac.selectors.expandThreadControl,"click",{action:"expand"},y).delegate(ac.selectors.collapseThreadControl,"click",{action:"collapse"},y).delegate(ac.selectors.replyControl,"click",T).delegate(ac.selectors.deleteControl,"click",S);if(z){O.one("htmlready",{action:"show",threadCommentSelector:"#t"+z},y).one("htmlready",function(){h.location.hash="";h.location.hash="#t"+z})}o=O;D(af);if(af.integration=="client"){x(aj)}else{if(af.integration=="server"){O.trigger("dataload")}}}}})();function c(o){var n={},q=o.split("&"),p;for(var m=0,k=q.length;m<k;m++){p=q[m].split("=");n[p[0]]=p[1]}return n}function f(m){var l=m.match(/(\D+)(.*)/),k={},n,o;if(l&&l.length){n=l[1];o=l[2];n={p:"page",t:"commentId"}[n];k[n]=o}return k}function e(k,l){var n={};for(var m in k){if(!k.hasOwnProperty(m)){continue}n[m]=a(k[m],l)}return n}function j(p,o,r){r=r||["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"];var k=new Date(p*1000),m=k.getDate(),q=k.getMonth()+1,n=k.getFullYear();function l(s){return(s<10)?"0"+s:s}return a(o,{hours:l(k.getHours()),minutes:l(k.getMinutes()),day:r[k.getDay()],date:l(m),month:l(q),year:n})}function b(k,p){var o,m,n,q;for(var l in p){m=new RegExp("(\\?|\\&)("+l+"\\=)");n=new RegExp("(\\?|\\&)("+l+"\\=)([^\\&\\#]+)");q=(k.indexOf("?")==-1)?"?":"&";o=p[l];if(k.search(m)>-1){k=k.replace(n,"$1$2"+o)}else{k=k+q+l+"="+o}}return k}function g(n,l,k){var m=n[l];n[l]=n[k];n[k]=m;return n}function a(k,l){return k.replace(/{([^{}]*)}/g,function(n,m){var o=l[m];return typeof o==="string"||typeof o==="number"?o:n})}d.fn.ljcomments=function(k,l){return this.each(function(){i.init(this,k)})}})(jQuery,window);
metadata ADDED
@@ -0,0 +1,67 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ljcomments-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Andrey Savelyev
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-11-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: railties
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.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: '3.1'
30
+ description: Use lj-comments with Rails asset pipeline
31
+ email:
32
+ - savelyev.andrey@gmail.com
33
+ executables: []
34
+ extensions: []
35
+ extra_rdoc_files: []
36
+ files:
37
+ - lib/ljcomments-rails/version.rb
38
+ - lib/ljcomments-rails.rb
39
+ - vendor/assets/javascripts/ljcomments-rails.js
40
+ - LICENSE.txt
41
+ - README.md
42
+ homepage: ''
43
+ licenses: []
44
+ post_install_message:
45
+ rdoc_options: []
46
+ require_paths:
47
+ - lib
48
+ required_ruby_version: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ! '>='
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ requirements: []
61
+ rubyforge_project:
62
+ rubygems_version: 1.8.24
63
+ signing_key:
64
+ specification_version: 3
65
+ summary: Use lj-comments with Rails asset pipeline
66
+ test_files: []
67
+ has_rdoc: