rsocialize 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,157 @@
1
+ /**CSS changelog: **/
2
+ /** modified the following**/
3
+ /**1) .sharrre .share span{} background: url modified from "/img/example6.png" to "/assets/example6.png" **/
4
+ #example6{
5
+ float:left;
6
+ margin:5px 27% 0 27%;
7
+ }
8
+ .sharrre{
9
+ margin:55px 0 0 50px;
10
+ float:left;
11
+ }
12
+
13
+ .sharrre .box{
14
+ float:left;
15
+ width:80px;
16
+ height:75px;
17
+ -webkit-border-radius:7px;
18
+ -moz-border-radius:7px;
19
+ border-radius:7px;
20
+ -webkit-box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #54a2bc, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 1px 0px 0px rgba(255, 255, 255, 1);
21
+ -moz-box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #54a2bc, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 1px 0px 0px rgba(255, 255, 255, 1);
22
+ box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #54a2bc, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 2px 0px 0px rgba(255, 255, 255, 1);
23
+ background: #dee7ea; /* Old browsers */
24
+ background: -moz-linear-gradient(top, #dee7ea 0%, #e5eef2 20%, #e5eef2 100%); /* FF3.6+ */
25
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dee7ea), color-stop(20%,#e5eef2), color-stop(100%,#e5eef2)); /* Chrome,Safari4+ */
26
+ background: -webkit-linear-gradient(top, #dee7ea 0%,#e5eef2 20%,#e5eef2 100%); /* Chrome10+,Safari5.1+ */
27
+ background: -o-linear-gradient(top, #dee7ea 0%,#e5eef2 20%,#e5eef2 100%); /* Opera 11.10+ */
28
+ background: -ms-linear-gradient(top, #dee7ea 0%,#e5eef2 20%,#e5eef2 100%); /* IE10+ */
29
+ background: linear-gradient(top, #dee7ea 0%,#e5eef2 20%,#e5eef2 100%); /* W3C */
30
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dee7ea', endColorstr='#e5eef2',GradientType=0 ); /* IE6-9 */
31
+ }
32
+
33
+ #facebook .box{
34
+ -webkit-box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #28437a, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 1px 0px 0px rgba(255, 255, 255, 1);
35
+ -moz-box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #28437a, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 1px 0px 0px rgba(255, 255, 255, 1);
36
+ box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #28437a, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 2px 0px 0px rgba(255, 255, 255, 1);
37
+ }
38
+
39
+ #googleplus .box{
40
+ -webkit-box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #404040, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 1px 0px 0px rgba(255, 255, 255, 1);
41
+ -moz-box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #404040, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 1px 0px 0px rgba(255, 255, 255, 1);
42
+ box-shadow:0 1px 0 #C3C3C3, 0 6px 0 #404040, 0px 2px 3px 0px rgba(47, 58, 61, 0.25), inset 0px 2px 0px 0px rgba(255, 255, 255, 1);
43
+ }
44
+
45
+ .sharrre .box:active, #facebook .box:active, #googleplus .box:active{
46
+ box-shadow:0 0 3px #333333;
47
+ margin-top:4px;
48
+ }
49
+
50
+ .sharrre .count, .sharrre .share{
51
+ display:inline-block;
52
+ width:78px;
53
+ text-align:center;
54
+ font-weight:bold;
55
+ }
56
+
57
+ .sharrre .count{
58
+ font-size:20px;
59
+ color:#444444;
60
+ text-shadow: 0px 1px 0px #ffffff;
61
+ filter: dropshadow(color=#ffffff, offx=0, offy=1);
62
+ height:40px;
63
+ line-height:40px;
64
+ border:1px solid #b9b9b9;
65
+ border-width:1px 1px 0 1px;
66
+ -moz-border-radius-topleft:7px;
67
+ -moz-border-radius-topright:7px;
68
+ -moz-border-radius-bottomright:0;
69
+ -moz-border-radius-bottomleft:0;
70
+ -webkit-border-radius:7px 7px 0 0;
71
+ border-radius:7px 7px 0 0;
72
+ position:relative;
73
+ }
74
+
75
+ .sharrre .count:before, .sharrre .count:after {
76
+ content:'';
77
+ display:block;
78
+ position:absolute;
79
+ left:49%;
80
+ width:0;
81
+ height:0;
82
+ }
83
+ .sharrre .count:before {
84
+ border:solid 7px transparent;
85
+ border-top-color:#b2c6cc;
86
+ margin-left:-7px;
87
+ bottom: -14px;
88
+ }
89
+ .sharrre .count:after {
90
+ border:solid 6px transparent;
91
+ margin-left:-6px;
92
+ bottom:-12px;
93
+ border-top-color:#e5eef2;
94
+ }
95
+
96
+ .sharrre .share{
97
+ height:34px;
98
+ line-height:34px;
99
+ color:#ffffff;
100
+ font-size:13px;
101
+ text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.35);
102
+ filter: dropshadow(color=#d1d1d1, offx=0, offy=1);
103
+ border:1px solid #6fa4b5;
104
+ border-width:0 1px 1px 1px;
105
+ -moz-border-radius-topleft:0;
106
+ -moz-border-radius-topright:0;
107
+ -moz-border-radius-bottomright:7px;
108
+ -moz-border-radius-bottomleft:7px;
109
+ -webkit-border-radius:0 0 7px 7px;
110
+ border-radius:0 0 7px 7px;
111
+ background-color:#7ac5df;
112
+ -webkit-box-shadow:inset 0px 1px 0px 0px rgba(105, 164, 185, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.6), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
113
+ -moz-box-shadow:inset 0px 1px 0px 0px rgba(105, 164, 185, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.6), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
114
+ box-shadow:inset 0px 1px 0px 0px rgba(105, 164, 185, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.6), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
115
+ }
116
+
117
+ .sharrre .share span{
118
+ background:url("/assets/example6.png") no-repeat scroll 0 0 transparent;
119
+ width:18px;
120
+ height:10px;
121
+ display: inline-block;
122
+ }
123
+
124
+ #facebook .share span{
125
+ background-position:0 -35px;
126
+ height:12px;
127
+ }
128
+
129
+ #facebook .share{
130
+ border-color:#35538f;
131
+ background: #637fbb; /* Old browsers */
132
+ background: -moz-linear-gradient(top, #637fbb 0%, #49649e 100%); /* FF3.6+ */
133
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#637fbb), color-stop(100%,#49649e)); /* Chrome,Safari4+ */
134
+ background: -webkit-linear-gradient(top, #637fbb 0%,#49649e 100%); /* Chrome10+,Safari5.1+ */
135
+ background: -o-linear-gradient(top, #637fbb 0%,#49649e 100%); /* Opera 11.10+ */
136
+ background: -ms-linear-gradient(top, #637fbb 0%,#49649e 100%); /* IE10+ */
137
+ background: linear-gradient(top, #637fbb 0%,#49649e 100%); /* W3C */
138
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#637fbb', endColorstr='#49649e',GradientType=0 ); /* IE6-9 */
139
+ -webkit-box-shadow:inset 0px 1px 0px 0px rgba(74, 95, 138, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.4), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
140
+ -moz-box-shadow:inset 0px 1px 0px 0px rgba(74, 95, 138, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.4), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
141
+ box-shadow:inset 0px 1px 0px 0px rgba(74, 95, 138, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.4), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
142
+ }
143
+
144
+ #googleplus .share{
145
+ border-color:#303030;
146
+ background: #626263; /* Old browsers */
147
+ background: -moz-linear-gradient(top, #626263 0%, #424244 100%); /* FF3.6+ */
148
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#626263), color-stop(100%,#424244)); /* Chrome,Safari4+ */
149
+ background: -webkit-linear-gradient(top, #626263 0%,#424244 100%); /* Chrome10+,Safari5.1+ */
150
+ background: -o-linear-gradient(top, #626263 0%,#424244 100%); /* Opera 11.10+ */
151
+ background: -ms-linear-gradient(top, #626263 0%,#424244 100%); /* IE10+ */
152
+ background: linear-gradient(top, #626263 0%,#424244 100%); /* W3C */
153
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#626263', endColorstr='#424244',GradientType=0 ); /* IE6-9 */
154
+ -webkit-box-shadow:inset 0px 1px 0px 0px rgba(74, 95, 138, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.4), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
155
+ -moz-box-shadow:inset 0px 1px 0px 0px rgba(74, 95, 138, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.4), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
156
+ box-shadow:inset 0px 1px 0px 0px rgba(74, 95, 138, 1), inset 0px -1px 2px 0px rgba(255, 255, 255, 0.4), inset 0px 2px 1px 0px rgba(255, 0, 0, 0.15);
157
+ }
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Sharrre.com - Make your sharing widget!
3
+ * Version: beta 1.3.4
4
+ * Author: Julien Hany
5
+ * License: MIT http://en.wikipedia.org/wiki/MIT_License or GPLv2 http://en.wikipedia.org/wiki/GNU_General_Public_License
6
+ */
7
+ eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(6($,g,h,i){l j=\'1Y\',23={3i:\'1Y\',L:{O:C,E:C,z:C,I:C,p:C,K:C,N:C,B:C},2a:0,18:\'\',12:\'\',3:h.3h.1a,x:h.12,1p:\'1Y.3d\',y:{},1q:0,1w:w,3c:w,3b:w,2o:C,1X:6(){},38:6(){},1P:6(){},26:6(){},8:{O:{3:\'\',15:C,1j:\'37\',13:\'35-4Y\',2p:\'\'},E:{3:\'\',15:C,R:\'1L\',11:\'4V\',H:\'\',1A:\'C\',2c:\'C\',2d:\'\',1B:\'\',13:\'4R\'},z:{3:\'\',15:C,y:\'33\',2m:\'\',16:\'\',1I:\'\',13:\'35\'},I:{3:\'\',15:C,Q:\'4K\'},p:{3:\'\',15:C,1j:\'37\'},K:{3:\'\',15:C,11:\'1\'},N:{3:\'\',15:C,22:\'\'},B:{3:\'\',1s:\'\',1C:\'\',11:\'33\'}}},1n={O:"",E:"1D://4J.E.o/4x?q=4u%2X,%4j,%4i,%4h,%4f,%4e,46,%45,%44%42%41%40%2X=%27{3}%27&1y=?",z:"S://3W.3P.z.o/1/3D/y.2G?3={3}&1y=?",I:"S://3l.I.o/2.0/5a.59?54={3}&Q=1c&1y=?",p:\'S://52.p.o/4Q/2G/4B/m?3={3}&1y=?\',K:"",N:"S://1o.N.o/4z/y/L?4r=4o&3={3}&1y=?",B:""},2A={O:6(b){l c=b.4.8.O;$(b.r).X(\'.8\').Z(\'<n G="U 4d"><n G="g-25" m-1j="\'+c.1j+\'" m-1a="\'+(c.3!==\'\'?c.3:b.4.3)+\'" m-2p="\'+c.2p+\'"></n></n>\');g.3Z={13:b.4.8.O.13};l d=0;9(A 2x===\'F\'&&d==0){d=1;(6(){l a=h.1g(\'P\');a.Q=\'x/1c\';a.1r=w;a.17=\'//3w.2w.o/Y/25.Y\';l s=h.1d(\'P\')[0];s.1e.1f(a,s)})()}J{2x.25.3X()}},E:6(c){l e=c.4.8.E;$(c.r).X(\'.8\').Z(\'<n G="U E"><n 2T="1V-47"></n><n G="1V-1L" m-1a="\'+(e.3!==\'\'?e.3:c.4.3)+\'" m-1A="\'+e.1A+\'" m-11="\'+e.11+\'" m-H="\'+e.H+\'" m-3u-2c="\'+e.2c+\'" m-R="\'+e.R+\'" m-2d="\'+e.2d+\'" m-1B="\'+e.1B+\'" m-16="\'+e.16+\'"></n></n>\');l f=0;9(A 1i===\'F\'&&f==0){f=1;(6(d,s,a){l b,2s=d.1d(s)[0];9(d.3x(a)){1v}b=d.1g(s);b.2T=a;b.17=\'//4c.E.4n/\'+e.13+\'/4t.Y#4C=1\';2s.1e.1f(b,2s)}(h,\'P\',\'E-5g\'))}J{1i.3n.3p()}},z:6(b){l c=b.4.8.z;$(b.r).X(\'.8\').Z(\'<n G="U z"><a 1a="1D://z.o/L" G="z-L-U" m-3="\'+(c.3!==\'\'?c.3:b.4.3)+\'" m-y="\'+c.y+\'" m-x="\'+b.4.x+\'" m-16="\'+c.16+\'" m-2m="\'+c.2m+\'" m-1I="\'+c.1I+\'" m-13="\'+c.13+\'">3q</a></n>\');l d=0;9(A 2j===\'F\'&&d==0){d=1;(6(){l a=h.1g(\'P\');a.Q=\'x/1c\';a.1r=w;a.17=\'//1M.z.o/1N.Y\';l s=h.1d(\'P\')[0];s.1e.1f(a,s)})()}J{$.3C({3:\'//1M.z.o/1N.Y\',3E:\'P\',3F:w})}},I:6(a){l b=a.4.8.I;$(a.r).X(\'.8\').Z(\'<n G="U I"><a G="3H \'+b.Q+\'" 3L="3U 3V" 1a="S://I.o/2y?3=\'+V((b.3!==\'\'?b.3:a.4.3))+\'"></a></n>\');l c=0;9(A 43===\'F\'&&c==0){c=1;(6(){l s=h.1g(\'2z\'),24=h.1d(\'2z\')[0];s.Q=\'x/1c\';s.1r=w;s.17=\'//1N.I.o/8.Y\';24.1e.1f(s,24)})()}},p:6(a){9(a.4.8.p.1j==\'4g\'){l b=\'H:2r;\',2e=\'D:2B;H:2r;1B-1j:4y;1t-D:2B;\',2l=\'D:2C;1t-D:2C;2k-50:1H;\'}J{l b=\'H:53;\',2e=\'2g:58;2f:0 1H;D:1u;H:5c;1t-D:1u;\',2l=\'2g:5d;D:1u;1t-D:1u;\'}l c=a.1w(a.4.y.p);9(A c==="F"){c=0}$(a.r).X(\'.8\').Z(\'<n G="U p"><n 1T="\'+b+\'1B:5i 5j,5k,5l-5n;5t:3k;1S:#3m;2D:3o-2E;2g:2F;D:1u;1t-D:3r;2k:0;2f:0;x-3s:0;3t-2b:3v;">\'+\'<n 1T="\'+2e+\'2H-1S:#2I;2k-3y:3z;3A:3B;x-2b:2J;1O:2K 2L #3G;1O-2M:1H;">\'+c+\'</n>\'+\'<n 1T="\'+2l+\'2D:2E;2f:0;x-2b:2J;x-3I:2F;H:2r;2H-1S:#3J;1O:2K 2L #3K;1O-2M:1H;1S:#2I;">\'+\'<2N 17="S://1o.p.o/3M/2N/p.3N.3O" D="10" H="10" 3Q="3R" /> 3S</n></n></n>\');$(a.r).X(\'.p\').3T(\'1P\',6(){a.2O(\'p\')})},K:6(b){l c=b.4.8.K;$(b.r).X(\'.8\').Z(\'<n G="U K"><2P:28 11="\'+c.11+\'" 3h="\'+(c.3!==\'\'?c.3:b.4.3)+\'"></2P:28></n>\');l d=0;9(A 1E===\'F\'&&d==0){d=1;(6(){l a=h.1g(\'P\');a.Q=\'x/1c\';a.1r=w;a.17=\'//1M.K.o/1/1N.Y\';l s=h.1d(\'P\')[0];s.1e.1f(a,s)})();s=g.3Y(6(){9(A 1E!==\'F\'){1E.2Q();21(s)}},20)}J{1E.2Q()}},N:6(b){l c=b.4.8.N;$(b.r).X(\'.8\').Z(\'<n G="U N"><P Q="1Z/L" m-3="\'+(c.3!==\'\'?c.3:b.4.3)+\'" m-22="\'+c.22+\'"></P></n>\');l d=0;9(A g.2R===\'F\'&&d==0){d=1;(6(){l a=h.1g(\'P\');a.Q=\'x/1c\';a.1r=w;a.17=\'//1M.N.o/1Z.Y\';l s=h.1d(\'P\')[0];s.1e.1f(a,s)})()}J{g.2R.1W()}},B:6(b){l c=b.4.8.B;$(b.r).X(\'.8\').Z(\'<n G="U B"><a 1a="S://B.o/1K/2u/U/?3=\'+(c.3!==\'\'?c.3:b.4.3)+\'&1s=\'+c.1s+\'&1C=\'+c.1C+\'" G="1K-3j-U" y-11="\'+c.11+\'">48 49</a></n>\');(6(){l a=h.1g(\'P\');a.Q=\'x/1c\';a.1r=w;a.17=\'//4a.B.o/Y/4b.Y\';l s=h.1d(\'P\')[0];s.1e.1f(a,s)})()}},2S={O:6(){},E:6(){1V=g.2v(6(){9(A 1i!==\'F\'){1i.2t.2q(\'2U.2u\',6(a){1m.1l([\'1k\',\'E\',\'1L\',a])});1i.2t.2q(\'2U.4k\',6(a){1m.1l([\'1k\',\'E\',\'4l\',a])});1i.2t.2q(\'4m.1A\',6(a){1m.1l([\'1k\',\'E\',\'1A\',a])});21(1V)}},2V)},z:6(){2W=g.2v(6(){9(A 2j!==\'F\'){2j.4p.4q(\'1J\',6(a){9(a){1m.1l([\'1k\',\'z\',\'1J\'])}});21(2W)}},2V)},I:6(){},p:6(){},K:6(){},N:6(){6 4s(){1m.1l([\'1k\',\'N\',\'L\'])}},B:6(){}},2Y={O:6(a){g.19("1D://4v.2w.o/L?4w="+a.8.O.13+"&3="+V((a.8.O.3!==\'\'?a.8.O.3:a.3)),"","1b=0, 1G=0, H=2Z, D=20")},E:6(a){g.19("S://1o.E.o/30/30.3d?u="+V((a.8.E.3!==\'\'?a.8.E.3:a.3))+"&t="+a.x+"","","1b=0, 1G=0, H=2Z, D=20")},z:6(a){g.19("1D://z.o/4A/1J?x="+V(a.x)+"&3="+V((a.8.z.3!==\'\'?a.8.z.3:a.3))+(a.8.z.16!==\'\'?\'&16=\'+a.8.z.16:\'\'),"","1b=0, 1G=0, H=31, D=32")},I:6(a){g.19("S://I.o/4D/4E/2y?3="+V((a.8.I.3!==\'\'?a.8.I.3:a.3))+"&12="+a.x+"&1I=w&1T=w","","1b=0, 1G=0, H=31, D=32")},p:6(a){g.19(\'S://1o.p.o/4F?v=5&4G&4H=4I&3=\'+V((a.8.p.3!==\'\'?a.8.p.3:a.3))+\'&12=\'+a.x,\'p\',\'1b=1F,H=1h,D=1h\')},K:6(a){g.19(\'S://1o.K.o/28/?3=\'+V((a.8.p.3!==\'\'?a.8.p.3:a.3)),\'K\',\'1b=1F,H=1h,D=1h\')},N:6(a){g.19(\'1D://1o.N.o/4L/L?3=\'+V((a.8.p.3!==\'\'?a.8.p.3:a.3))+\'&4M=&4N=w\',\'N\',\'1b=1F,H=1h,D=1h\')},B:6(a){g.19(\'S://B.o/1K/2u/U/?3=\'+V((a.8.B.3!==\'\'?a.8.B.3:a.3))+\'&1s=\'+V(a.8.B.1s)+\'&1C=\'+a.8.B.1C,\'B\',\'1b=1F,H=4O,D=4P\')}};6 T(a,b){7.r=a;7.4=$.4S(w,{},23,b);7.4.L=b.L;7.4T=23;7.4U=j;7.1W()};T.W.1W=6(){l c=7;9(7.4.1p!==\'\'){1n.O=7.4.1p+\'?3={3}&Q=O\';1n.K=7.4.1p+\'?3={3}&Q=K\';1n.B=7.4.1p+\'?3={3}&Q=B\'}$(7.r).4W(7.4.3i);9(A $(7.r).m(\'12\')!==\'F\'){7.4.12=$(7.r).4X(\'m-12\')}9(A $(7.r).m(\'3\')!==\'F\'){7.4.3=$(7.r).m(\'3\')}9(A $(7.r).m(\'x\')!==\'F\'){7.4.x=$(7.r).m(\'x\')}$.1z(7.4.L,6(a,b){9(b===w){c.4.2a++}});9(c.4.3b===w){$.1z(7.4.L,6(a,b){9(b===w){4Z{c.34(a)}51(e){}}})}J 9(c.4.18!==\'\'){7.4.26(7,7.4)}J{7.2n()}$(7.r).1X(6(){9($(7).X(\'.8\').36===0&&c.4.3c===w){c.2n()}c.4.1X(c,c.4)},6(){c.4.38(c,c.4)});$(7.r).1P(6(){c.4.1P(c,c.4);1v C})};T.W.2n=6(){l c=7;$(7.r).Z(\'<n G="8"></n>\');$.1z(c.4.L,6(a,b){9(b==w){2A[a](c);9(c.4.2o===w){2S[a]()}}})};T.W.34=6(c){l d=7,y=0,3=1n[c].1x(\'{3}\',V(7.4.3));9(7.4.8[c].15===w&&7.4.8[c].3!==\'\'){3=1n[c].1x(\'{3}\',7.4.8[c].3)}9(3!=\'\'&&d.4.1p!==\'\'){$.55(3,6(a){9(A a.y!=="F"){l b=a.y+\'\';b=b.1x(\'\\56\\57\',\'\');y+=1Q(b,10)}J 9(a.m&&a.m.36>0&&A a.m[0].39!=="F"){y+=1Q(a.m[0].39,10)}J 9(A a.3a!=="F"){y+=1Q(a.3a,10)}J 9(A a[0]!=="F"){y+=1Q(a[0].5b,10)}J 9(A a[0]!=="F"){}d.4.y[c]=y;d.4.1q+=y;d.2i();d.1R()}).5e(6(){d.4.y[c]=0;d.1R()})}J{d.2i();d.4.y[c]=0;d.1R()}};T.W.1R=6(){l a=0;5f(e 1Z 7.4.y){a++}9(a===7.4.2a){7.4.26(7,7.4)}};T.W.2i=6(){l a=7.4.1q,18=7.4.18;9(7.4.1w===w){a=7.1w(a)}9(18!==\'\'){18=18.1x(\'{1q}\',a);$(7.r).1U(18)}J{$(7.r).1U(\'<n G="5h"><a G="y" 1a="#">\'+a+\'</a>\'+(7.4.12!==\'\'?\'<a G="L" 1a="#">\'+7.4.12+\'</a>\':\'\')+\'</n>\')}};T.W.1w=6(a){9(a>=3e){a=(a/3e).3f(2)+"M"}J 9(a>=3g){a=(a/3g).3f(1)+"k"}1v a};T.W.2O=6(a){2Y[a](7.4);9(7.4.2o===w){l b={O:{14:\'5m\',R:\'+1\'},E:{14:\'E\',R:\'1L\'},z:{14:\'z\',R:\'1J\'},I:{14:\'I\',R:\'29\'},p:{14:\'p\',R:\'29\'},K:{14:\'K\',R:\'29\'},N:{14:\'N\',R:\'L\'},B:{14:\'B\',R:\'1K\'}};1m.1l([\'1k\',b[a].14,b[a].R])}};T.W.5o=6(){l a=$(7.r).1U();$(7.r).1U(a.1x(7.4.1q,7.4.1q+1))};T.W.5p=6(a,b){9(a!==\'\'){7.4.3=a}9(b!==\'\'){7.4.x=b}};$.5q[j]=6(b){l c=5r;9(b===i||A b===\'5s\'){1v 7.1z(6(){9(!$.m(7,\'2h\'+j)){$.m(7,\'2h\'+j,5u T(7,b))}})}J 9(A b===\'5v\'&&b[0]!==\'5w\'&&b!==\'1W\'){1v 7.1z(6(){l a=$.m(7,\'2h\'+j);9(a 5x T&&A a[b]===\'6\'){a[b].5y(a,5z.W.5A.5B(c,1))}})}}})(5C,5D,5E);',62,351,'|||url|options||function|this|buttons|if||||||||||||var|data|div|com|delicious||element|||||true|text|count|twitter|typeof|pinterest|false|height|facebook|undefined|class|width|digg|else|stumbleupon|share||linkedin|googlePlus|script|type|action|http|Plugin|button|encodeURIComponent|prototype|find|js|append||layout|title|lang|site|urlCount|via|src|template|open|href|toolbar|javascript|getElementsByTagName|parentNode|insertBefore|createElement|550|FB|size|_trackSocial|push|_gaq|urlJson|www|urlCurl|total|async|media|line|20px|return|shorterTotal|replace|callback|each|send|font|description|https|STMBLPN|no|status|3px|related|tweet|pin|like|platform|widgets|border|click|parseInt|rendererPerso|color|style|html|fb|init|hover|sharrre|in|500|clearInterval|counter|defaults|s1|plusone|render||badge|add|shareTotal|align|faces|colorscheme|cssCount|padding|float|plugin_|renderer|twttr|margin|cssShare|hashtags|loadButtons|enableTracking|annotation|subscribe|50px|fjs|Event|create|setInterval|google|gapi|submit|SCRIPT|loadButton|35px|18px|display|block|none|json|background|fff|center|1px|solid|radius|img|openPopup|su|processWidgets|IN|tracking|id|edge|1000|tw|20url|popup|900|sharer|650|360|horizontal|getSocialJson|en|length|medium|hide|total_count|shares|enableCounter|enableHover|php|1e6|toFixed|1e3|location|className|it|pointer|services|666666|XFBML|inline|parse|Tweet|normal|indent|vertical|show|baseline|apis|getElementById|bottom|5px|overflow|hidden|ajax|urls|dataType|cache|ccc|DiggThisButton|decoration|7EACEE|40679C|rel|static|small|gif|api|alt|Delicious|Add|on|nofollow|external|cdn|go|setTimeout|___gcfg|20WHERE|20link_stat|20FROM|__DBW|20click_count|20comments_fbid|commentsbox_count|root|Pin|It|assets|pinit|connect|googleplus|20total_count|20comment_count|tall|20like_count|20share_count|20normalized_url|remove|unlike|message|net|jsonp|events|bind|format|LinkedInShare|all|SELECT|plus|hl|fql|15px|countserv|intent|urlinfo|xfbml|tools|diggthis|save|noui|jump|close|graph|DiggCompact|cws|token|isFramed|700|300|v2|en_US|extend|_defaults|_name|button_count|addClass|attr|US|try|top|catch|feeds|93px|links|getJSON|u00c2|u00a0|right|getInfo|story|total_posts|26px|left|error|for|jssdk|box|12px|Arial|Helvetica|sans|Google|serif|simulateClick|update|fn|arguments|object|cursor|new|string|_|instanceof|apply|Array|slice|call|jQuery|window|document'.split('|'),0,{}))
@@ -0,0 +1,94 @@
1
+ require 'cgi'
2
+ require 'net/http'
3
+ require 'uri'
4
+ require 'open-uri'
5
+ require 'curb'
6
+ require 'active_support' #for json decode/encode
7
+ require 'nokogiri'
8
+ require 'rsocialize'
9
+
10
+ class RsocializeController < ApplicationController
11
+
12
+ def sharrre
13
+ $_GET = Hash.new
14
+ #$_GET['url'] = 'http://sharrre.com/' ##In PHP, the predefined $_GET variable is used to collect values in a form with method="get".
15
+ $_GET['url'] = params[:url]
16
+ $_GET['type'] = params[:type]
17
+ #source: http://www.rubyinside.com/nethttp-cheat-sheet-2940.html
18
+ uri = URI.parse($_GET['url'])
19
+ http = Net::HTTP.new(uri.host, uri.port)
20
+
21
+ @json = {'url'=>'','count'=>0}
22
+ @json['url'] = $_GET['url'];
23
+ @url = CGI::escape($_GET['url']);
24
+ @type = CGI::escape($_GET['type']);
25
+ #Get HTTP response code
26
+ response = Net::HTTP.get_response(uri)
27
+ if(response.code=="200") ##need to make this FILTER_VALIDATE_URL equivalent in ruby
28
+ if (@type == 'googlePlus')
29
+ @content = parse("https://plusone.google.com/u/0/_/+1/fastbutton?url="+"#{@url}"+"&count=true");
30
+ doc = Nokogiri::HTML(open("https://plusone.google.com/u/0/_/+1/fastbutton?url="+"#{@url}"+"&count=true"))
31
+ doc.xpath("//div[@id='aggregateCount']").each do |node|
32
+ @json['count'] = node.content #only one item returned, so it'd be great to not have to iterate
33
+ end
34
+ elsif (@type == 'stumbleupon')
35
+ @content = parse("http://www.stumbleupon.com/services/1.01/badge.getinfo?url=#{@url}");
36
+ @result = ActiveSupport::JSON.decode(@content.body_str) #json_decode takes a JSON encoded string and converts it into a PHP variable.
37
+ @json['count'] = @result['result']['views']
38
+ @json['count'] = 0 if @json['count'].nil?
39
+ elsif (@type == 'pinterest')
40
+ @content = parse("http://api.pinterest.com/v1/urls/count.json?callback=&url=#{@url}");
41
+ @result = ActiveSupport::JSON.decode(@content.body_str.gsub(/[()]/,""))
42
+ @json['count'] = @result['count']
43
+ @json['count'] = 0 if (@json['count'].nil?||@json['count']=="-")
44
+ end
45
+ end
46
+ #@json => {"url"=>"http://www.google.com/", "count"=>"1.5M"}
47
+ #@return_json = ActiveSupport::JSON.encode(@json)
48
+ #=> "{\"url\":\"http://www.google.com/\",\"count\":\"1.5M\"}"
49
+ # respond_to do |format|
50
+ # format.json { render json: @return_json }
51
+ # end
52
+ render :json=>@json
53
+ end
54
+
55
+ def parse(encUrl)
56
+ #curb method docs for curl::Easy: http://curb.rubyforge.org/classes/Curl/Easy.html#M000038
57
+ @options = Hash.new
58
+
59
+ #curl_setopt() constants in php: http://www.php.net/manual/en/function.curl-setopt.php for translation in ruby below
60
+ @options = {
61
+ :CURLOPT_RETURNTRANSFER => true, #// return web page #TRUE to return the transfer as a string of the return value of php curl_exec() instead of outputting it out directly.
62
+ :CURLOPT_HEADER => false, #// don't return headers #TRUE to include the header in the output.
63
+ :CURLOPT_FOLLOWLOCATION => true, #// follow redirects
64
+ :CURLOPT_ENCODING => "", #// handle all encodings
65
+ :CURLOPT_USERAGENT => 'sharrre', #// who am i
66
+ :CURLOPT_AUTOREFERER => true, #// set referer on redirect
67
+ :CURLOPT_CONNECTTIMEOUT => 5, #// timeout on connect
68
+ :CURLOPT_TIMEOUT => 10, #// timeout on response
69
+ :CURLOPT_MAXREDIRS => 3, #// stop after 10 redirects
70
+ :CURLOPT_SSL_VERIFYHOST => false,
71
+ :CURLOPT_SSL_VERIFYPEER => false,
72
+ }
73
+
74
+ @options[:CURLOPT_URL] = encUrl
75
+ @content= Curl::Easy.http_get(@options[:CURLOPT_URL]) do |curl|
76
+ #curl.returntransfer = ?????
77
+ curl.head = @options[:CURLOPT_HEADER] #??? #not sure if it's headers
78
+ curl.follow_location = @options[:CURLOPT_FOLLOWLOCATION]
79
+ curl.encoding = @options[:CURLOPT_ENCODING]
80
+ curl.useragent = @options[:CURLOPT_USERAGENT]
81
+ curl.autoreferer = @options[:CURLOPT_AUTOREFERER]
82
+ curl.connect_timeout = @options[:CURLOPT_CONNECTTIMEOUT]
83
+ curl.timeout = @options[:CURLOPT_TIMEOUT]
84
+ curl.max_redirects = @options[:CURLOPT_MAXREDIRS]
85
+ curl.ssl_verify_host = @options[:CURLOPT_SSL_VERIFYHOST]
86
+ curl.ssl_verify_peer = @options[:CURLOPT_SSL_VERIFYPEER]
87
+ end
88
+
89
+ #NOTE: may need to add error handling for curl
90
+
91
+ return @content;
92
+ end
93
+
94
+ end #Rsocialize
@@ -0,0 +1,24 @@
1
+ require 'rails/generators'
2
+ module Rsocialize
3
+ class UninstallGenerator < Rails::Generators::Base
4
+ #rails g rsocialize:uninstall
5
+ def self.source_root
6
+ @_rsocialize_root ||= File.expand_path("../templates", __FILE__)
7
+ end
8
+ def destroy_layout
9
+ remove_file 'app/assets/stylesheets/example1css.txt'
10
+ remove_file 'app/assets/stylesheets/example2css.txt'
11
+ remove_file 'app/assets/stylesheets/example3css.txt'
12
+ remove_file 'app/assets/stylesheets/example5css.txt'
13
+ remove_file 'app/assets/stylesheets/example6css.txt'
14
+ remove_file 'app/assets/stylesheets/rsocialize.css'
15
+ remove_file %Q{app/assets/javascripts/#{Rsocialize::JQUERY_SHARRRE_FILE}}
16
+ remove_file 'app/lib/rsocialize_controller.rb'
17
+ remove_file 'app/assets/images'
18
+ end
19
+ def unmodify_routes
20
+ line = %Q{match '/sharrre' => 'Rsocialize#sharrre'}
21
+ gsub_file 'config/routes.rb', /(#{Regexp.escape(line)})/mi,''
22
+ end
23
+ end #class UninstallGenerator
24
+ end
@@ -0,0 +1,5 @@
1
+ require 'rails'
2
+ module Rsocialize
3
+ class Engine < Rails::Engine #cause rails to add its directories to the load path when the gem is required.
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module Rsocialize
2
+ VERSION = "0.0.2"
3
+ end
data/lib/rsocialize.rb ADDED
@@ -0,0 +1,246 @@
1
+ require "rsocialize/version"
2
+ require "action_view"
3
+ module Rsocialize
4
+ require 'rsocialize/engine' if defined?(Rails)
5
+ JQUERY_SHARRRE_FILE = "jquery.sharrre-1.3.4.min.js"
6
+ EXAMPLE1_JS_OPTIONS = {
7
+ :twitter=>{:share=>{:twitter=>true},:enableHover=>false, :enableTracking=>true, :buttons=>{:twitter=>{:via=>'_JulienH'}},:click=>%Q[function(api, options){
8
+ api.simulateClick();
9
+ api.openPopup('twitter');} ]
10
+ },
11
+ :facebook=>{:share=>{:facebook=>true}, :enableHover=>false, :enableTracking=>true, :click=>%Q[function(api, options){
12
+ api.simulateClick();
13
+ api.openPopup('facebook');}
14
+ ]
15
+ },
16
+ :googlePlus=>{:share=>{:googlePlus=>true},:enableHover=>false, :enableTracking=>true, :click=>%Q[function(api, options){
17
+ api.simulateClick();
18
+ api.openPopup('googlePlus');} ]
19
+ }
20
+ }
21
+ EXAMPLE2_JS_OPTIONS = {
22
+ shareme: {
23
+ share: {
24
+ twitter: true,
25
+ facebook: true,
26
+ googlePlus: true
27
+ },
28
+ template: %Q{<div class="box"><div class="left">Share</div><div class="middle"><a href="#" class="facebook">f</a><a href="#" class="twitter">t</a><a href="#" class="googleplus">+1</a></div><div class="right">{total}</div></div>},
29
+ enableHover: false,
30
+ enableTracking: true,
31
+ render: %Q[function(api, options){
32
+ $(api.element).on('click', '.twitter', function() {
33
+ api.openPopup('twitter');
34
+ });
35
+ $(api.element).on('click', '.facebook', function() {
36
+ api.openPopup('facebook');
37
+ });
38
+ $(api.element).on('click', '.googleplus', function() {
39
+ api.openPopup('googlePlus');
40
+ });
41
+ }]
42
+ }
43
+ }
44
+ EXAMPLE3_JS_OPTIONS = {
45
+ shareme: {
46
+ share: {
47
+ googlePlus: true,
48
+ facebook: true,
49
+ twitter: true,
50
+ digg: true,
51
+ delicious: true
52
+ },
53
+ enableTracking: true,
54
+ buttons: {
55
+ googlePlus: {size: 'tall'},
56
+ facebook: {layout: 'box_count'},
57
+ twitter: {count: 'vertical'},
58
+ digg: {type: 'DiggMedium'},
59
+ delicious: {size: 'tall'}
60
+ },
61
+ hover: %Q[function(api, options){
62
+ $(api.element).find('.buttons').show();
63
+ }],
64
+ hide: %Q[function(api, options){
65
+ $(api.element).find('.buttons').hide();
66
+ }]
67
+ }
68
+ }
69
+ EXAMPLE5_JS_OPTIONS = {
70
+ shareme: {
71
+ share: {
72
+ googlePlus: true,
73
+ facebook: true,
74
+ twitter: true,
75
+ digg: true,
76
+ delicious: true,
77
+ stumbleupon: true,
78
+ linkedin: true,
79
+ pinterest: true
80
+ },
81
+ buttons: {
82
+ googlePlus: {size: 'tall'},
83
+ facebook: {layout: 'box_count'},
84
+ twitter: {count: 'vertical'},
85
+ digg: {type: 'DiggMedium'},
86
+ delicious: {size: 'tall'},
87
+ stumbleupon: {layout: '5'},
88
+ linkedin: {counter: 'top'},
89
+ pinterest: {media: 'http://sharrre.com/img/example1.png', description: %Q{$('#shareme').data('text'), layout: 'vertical'}}
90
+ },
91
+ enableHover: false,
92
+ enableCounter: false,
93
+ enableTracking: true
94
+ }
95
+ }
96
+
97
+ EXAMPLE6_JS_OPTIONS ={
98
+ :twitter=>{:share=>{:twitter=>true},:template=>%Q{<a class="box" href="#"><div class="count" href="#">{total}</div><div class="share"><span></span>Tweet</div></a>}, :enableHover=>false, :enableTracking=>true, :buttons =>{ twitter: {via: '_JulienH'}}, :click=>%Q[function(api, options){
99
+ api.simulateClick();
100
+ api.openPopup('twitter');}
101
+ ]
102
+ },
103
+ :facebook=> {:share=>{:facebook=>true},:template=>%Q{<a class="box" href="#"><div class="count" href="#">{total}</div><div class="share"><span></span>Like</div></a>}, :enableHover=>false, :enableTracking=>true, :click=>%Q[function(api, options){
104
+ api.simulateClick();
105
+ api.openPopup('facebook');}
106
+ ]
107
+ },
108
+ :googlePlus=>{:share=>{:googlePlus=>true},:template=>%Q{<a class="box" href="#"><div class="count" href="#">{total}</div><div class="share"><span></span>+1</div></a>}, :enableHover=>false, :enableTracking=>true, :click=>%Q[function(api, options){
109
+ api.simulateClick();
110
+ api.openPopup('googlePlus');}
111
+ ]
112
+ }
113
+ }
114
+ def rsocialize_div_tag(div_tag_str="", options={})
115
+ #options{} :=
116
+ # url: http://www.example.com/
117
+ # text: text for tweeting, facebook, etc.
118
+ options = {:facebook=>{:url=>"http://sharrre.com/", :text=>"Make your sharing widget with Sharrre (jQuery Plugin)", :title=>"Like"},
119
+ :googleplus=>{:url=>"http://sharrre.com/", :text=>"Make your sharing widget with Sharrre (jQuery Plugin)", :title=>"+1"},
120
+ :twitter=>{:url=>"http://sharrre.com/", :text=>"Make your sharing widget with Sharrre (jQuery Plugin)", :title=>"Tweet"},
121
+ :div_template=>"example1", :url=>"http://sharrre.com/", :text=>"Make your sharing widget with Sharrre (jQuery Plugin)", :title=>"share this page"}.merge(options)
122
+
123
+ data_url = options[:url]
124
+ data_text = options[:text]
125
+ data_title = options[:title]
126
+ div_str = "".html_safe
127
+ case options[:div_template]
128
+ when "example1"
129
+ div_str = %Q{
130
+ <div id="example1">
131
+ <div id="twitter" data-url="#{options[:twitter][:url]}" data-text="#{options[:twitter][:text]}" data-title="#{options[:twitter][:title]}"></div>
132
+ <div id="facebook" data-url="#{options[:facebook][:url]}" data-text="#{options[:facebook][:text]}" data-title="#{options[:facebook][:title]}"></div>
133
+ <div id="googleplus" data-url="#{options[:googleplus][:url]}" data-text="#{options[:googleplus][:text]}" data-title="#{options[:googleplus][:title]}"></div>
134
+ </div>
135
+ }.html_safe
136
+ when "example2", "example5"
137
+ div_str = %Q{
138
+ <div id="#{options[:div_template]}">
139
+ <div id="shareme" data-url="#{data_url}" data-text="#{data_text}"></div>
140
+ </div>
141
+ }.html_safe
142
+ when "example3"
143
+ div_str = %Q{
144
+ <div id="example3">
145
+ <div id="shareme" data-url="#{data_url}" data-text="#{data_text}" data-title="#{data_title}"></div>
146
+ </div>
147
+ }.html_safe
148
+ when "example6"
149
+ div_str = %Q{
150
+ <div id="example6">
151
+ <div id="twitter" data-url="#{options[:twitter][:url]}" data-text="#{options[:twitter][:text]}"></div>
152
+ <div id="facebook" data-url="#{options[:facebook][:url]}" data-text="#{options[:facebook][:text]}"></div>
153
+ <div id="googleplus" data-url="#{options[:googleplus][:url]}" data-text="#{options[:googleplus][:text]}"></div>
154
+ </div>
155
+ }.html_safe
156
+ else #assume empty or custom
157
+ if (div_tag_str.empty?) #use template <div>
158
+ div_str = %Q{
159
+ <div id="#{options[:div_template]}">
160
+ <div id="twitter" data-url="#{data_url}" data-text="#{data_text}" data-title="Tweet"></div>
161
+ <div id="facebook" data-url="#{data_url}" data-text="#{data_text}" data-title="Like"></div>
162
+ <div id="googleplus" data-url="#{data_url}" data-text="#{data_text}" data-title="+1"></div>
163
+ </div>
164
+ }.html_safe
165
+ else #use your own <div> classes
166
+ div_str = div_tag_str.html_safe
167
+ end
168
+ end
169
+
170
+ return div_str
171
+ end
172
+ def rsocialize_js_tag(options={})
173
+ case options[:js_template]
174
+ when "example1"
175
+ options = EXAMPLE1_JS_OPTIONS
176
+ when "example2"
177
+ options = EXAMPLE2_JS_OPTIONS
178
+ when "example3"
179
+ options = EXAMPLE3_JS_OPTIONS
180
+ when "example5"
181
+ options = EXAMPLE5_JS_OPTIONS
182
+ when "example6"
183
+ options = EXAMPLE6_JS_OPTIONS
184
+ end
185
+ options=options.merge(options)
186
+
187
+ js_str = "<script>\n".html_safe
188
+ js_str = js_str+rsocialize_build_js(options).html_safe
189
+ js_str += "</script>".html_safe
190
+ return js_str
191
+ end
192
+ def rsocialize_build_js(options={})
193
+ @debug_str = ""
194
+ @js_str = "$(document).ready(function() { "
195
+ options.each_key do |key|
196
+ @js_str = @js_str +
197
+ "$('##{key.to_s.downcase}').sharrre({\n"
198
+ options[key].each_key do |key2|
199
+ @js_str = @js_str+%Q{ #{recursive_js_build(options[key],key2, key.to_s)} }
200
+ @js_str = @js_str+"\n"
201
+ end
202
+ @js_str = @js_str+"});\n"
203
+ end #options.each_key do |key|
204
+ @js_str = @js_str + "});"
205
+ return @js_str
206
+ end
207
+ def recursive_js_build(options, key, button_val)
208
+ @retval=%Q{#{key.to_s}: }
209
+ @retval = @retval+"{" if hash_depth(options[key])>0
210
+ if options[key].is_a?(Hash)
211
+ options[key].each_key do |nested_key|
212
+ @retval = @retval + %Q{ #{recursive_js_build(options[key],nested_key,button_val)} }
213
+ end
214
+ else
215
+ new_key = options[key]
216
+ if !(options[key]==true||options[key]==false)
217
+ new_key = %Q{'#{options[key]}'} if (options[key][0,1])!~/[\$f]/
218
+ #Regexp and mapping to sharrre jQuery options
219
+ #$ = start of jquery
220
+ #f = start of function call
221
+ end
222
+ @retval = @retval + %Q{#{new_key}}
223
+ @retval = @retval+"," if options.length>1 && options.keys.last!=key
224
+ end
225
+ if hash_depth(options[key])>0 && options.keys.last!=key
226
+ @retval = @retval + "},\n"
227
+ elsif hash_depth(options[key])>0
228
+ @retval = @retval + "}\n"
229
+ end
230
+ return @retval
231
+ end
232
+ def hash_depth(bhash)
233
+ #return depth of hash as an integer
234
+ return 0 if !bhash.is_a?(Hash) #no hash = 0
235
+ if bhash[bhash.keys.first].is_a?(Hash) #could be nil if hash is only one level deep
236
+ @depth = hash_depth(bhash[bhash.keys.first])+1
237
+ else #so return 1
238
+ return 1
239
+ end
240
+ @depth
241
+ end
242
+ end #end module Rsocialize
243
+
244
+ class ActionView::Base # :nodoc:
245
+ include Rsocialize
246
+ end
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/rsocialize/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Bruce Park"]
6
+ gem.email = ["bruce at binarywebpark.com"]
7
+ gem.description = %q{Provides a simple way to add social media buttons to your rails application}
8
+ gem.summary = %q{Provides a simple way to add social media buttons to your rails application. It's a ruby wrapper for the sharrre jQuery plugin.'}
9
+ gem.homepage = ""
10
+
11
+ #gem.files = `git ls-files`.split($\)
12
+ #gem.files = Dir["{lib}/**/*"] + ["LICENSE", "README.md"]
13
+ #gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
14
+ #gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
+ gem.files = `git ls-files`.split("\n")
16
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+ gem.name = "rsocialize"
19
+ gem.require_paths = ["lib"]
20
+ gem.version = Rsocialize::VERSION
21
+
22
+ gem.add_development_dependency "rspec","~>2.11.0"
23
+ gem.add_development_dependency "rake","~>0.9.2.2"
24
+ gem.add_runtime_dependency "curb", "~>0.8.2"
25
+ gem.add_runtime_dependency "activesupport", "~>3.2.8"
26
+ gem.add_runtime_dependency "nokogiri", "~>1.5.5"
27
+ gem.add_runtime_dependency "actionpack", "~>3.2.8"
28
+ end