jquery-atwho-rails 0.3.1 → 0.3.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e175b0c1d92d3d414cbe8cf439b14ab7fcf98e42
4
+ data.tar.gz: d561cd5c31287188104ed2417af2dd44c2418d91
5
+ SHA512:
6
+ metadata.gz: fc281180227c6e072a7bc07b8e1bb409962d9b50681ddd75c80421710ca6afa09435819bc8e2993d8e8715e439da6ff502cadc1f783b607c2cd732309fde5226
7
+ data.tar.gz: 0a54a8ce1e6018e0925e69352dedce87fb5c1b06045120d0030c9b652e934456327256a0c2cc46e5e160a184bac5e36f358456f3b7360962383ae1222d795c26
data/LICENSE-MIT ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 chord.luo@gmail.com
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,29 +1,24 @@
1
- ### Notice
2
- updated to `v0.2.0`.
3
- The stable and old one would live in branch `stable-v0.1.x` branch taged `v0.1.7`
4
- **More details** in [At.js](https://github.com/ichord/At.js) project.
5
-
6
1
  ### Usage
7
2
  ---
8
- bind your textarea
3
+ Bind your textarea
9
4
 
10
5
  ```javascript
11
6
  data = ['tom','john'];
12
- $('textarea').atwho("@",{'data':data});
7
+ $('textarea').atwho({at:"@", 'data':data});
13
8
  ```
14
9
 
15
10
  that's it, check it out!
16
11
  more details in [At.js Home Page](http://ichord.github.com/At.js/)
17
12
 
18
- ### Installtion
13
+ ### Installation
19
14
  ---
20
15
  #### Rails 3.0.x
21
- issue commnd line bellow:
16
+ Issue command line bellow:
22
17
  `rails generate atwho:install`
23
18
  then It will show in `public/[javascript|stylesheets]/` directory.
24
19
 
25
20
  #### Rails 3.1.x
26
- add this gem in `Gemfile` like this:
21
+ Add this gem in `Gemfile` like this:
27
22
  `gem jquery-atwho-rails`
28
23
 
29
24
  then add
@@ -31,8 +26,11 @@ then add
31
26
  to `app/assets/javascripts/application.js`
32
27
  and `app/assets/stylesheets/applications.css`
33
28
 
34
- ### development
29
+ #### History Versions
30
+ All in [At.js](https://github.com/ichord/At.js) project.
31
+
32
+ ### Development
35
33
  ---
36
34
  #### Test generator
37
- just issue
35
+ Just issue
38
36
  `bundle` then `rspec`
@@ -1,3 +1,293 @@
1
+ //@ sourceMappingURL=jquery.caret.map
2
+ /*
3
+ Implement Github like autocomplete mentions
4
+ http://ichord.github.com/At.js
5
+
6
+ Copyright (c) 2013 chord.luo@gmail.com
7
+ Licensed under the MIT license.
8
+ */
9
+
10
+
11
+ /*
12
+ 本插件操作 textarea 或者 input 内的插入符
13
+ 只实现了获得插入符在文本框中的位置,我设置
14
+ 插入符的位置.
15
+ */
16
+
17
+
18
+ (function() {
19
+ (function(factory) {
20
+ if (typeof define === 'function' && define.amd) {
21
+ return define(['jquery'], factory);
22
+ } else {
23
+ return factory(window.jQuery);
24
+ }
25
+ })(function($) {
26
+ "use strict";
27
+ var Caret, Mirror, methods, pluginName;
28
+
29
+ pluginName = 'caret';
30
+ Caret = (function() {
31
+ function Caret($inputor) {
32
+ this.$inputor = $inputor;
33
+ this.domInputor = this.$inputor[0];
34
+ }
35
+
36
+ Caret.prototype.getPos = function() {
37
+ var end, endRange, inputor, len, normalizedValue, pos, range, start, textInputRange;
38
+
39
+ inputor = this.domInputor;
40
+ inputor.focus();
41
+ if (document.selection) {
42
+ /*
43
+ #assume we select "HATE" in the inputor such as textarea -> { }.
44
+ * start end-point.
45
+ * /
46
+ * < I really [HATE] IE > between the brackets is the selection range.
47
+ * \
48
+ * end end-point.
49
+ */
50
+
51
+ range = document.selection.createRange();
52
+ pos = 0;
53
+ if (range && range.parentElement() === inputor) {
54
+ normalizedValue = inputor.value.replace(/\r\n/g, "\n");
55
+ /* SOMETIME !!!
56
+ "/r/n" is counted as two char.
57
+ one line is two, two will be four. balalala.
58
+ so we have to using the normalized one's length.;
59
+ */
60
+
61
+ len = normalizedValue.length;
62
+ /*
63
+ <[ I really HATE IE ]>:
64
+ the whole content in the inputor will be the textInputRange.
65
+ */
66
+
67
+ textInputRange = inputor.createTextRange();
68
+ /* _here must be the position of bookmark.
69
+ /
70
+ <[ I really [HATE] IE ]>
71
+ [---------->[ ] : this is what moveToBookmark do.
72
+ < I really [[HATE] IE ]> : here is result.
73
+ \ two brackets in should be in line.
74
+ */
75
+
76
+ textInputRange.moveToBookmark(range.getBookmark());
77
+ endRange = inputor.createTextRange();
78
+ /* [--------------------->[] : if set false all end-point goto end.
79
+ < I really [[HATE] IE []]>
80
+ */
81
+
82
+ endRange.collapse(false);
83
+ /*
84
+ ___VS____
85
+ / \
86
+ < I really [[HATE] IE []]>
87
+ \_endRange end-point.
88
+
89
+ " > -1" mean the start end-point will be the same or right to the end end-point
90
+ * simplelly, all in the end.
91
+ */
92
+
93
+ if (textInputRange.compareEndPoints("StartToEnd", endRange) > -1) {
94
+ start = end = len;
95
+ } else {
96
+ /*
97
+ I really |HATE] IE ]>
98
+ <-|
99
+ I really[ [HATE] IE ]>
100
+ <-[
101
+ I reall[y [HATE] IE ]>
102
+
103
+ will return how many unit have moved.
104
+ */
105
+
106
+ start = -textInputRange.moveStart("character", -len);
107
+ end = -textInputRange.moveEnd("character", -len);
108
+ }
109
+ }
110
+ } else {
111
+ start = inputor.selectionStart;
112
+ }
113
+ return start;
114
+ };
115
+
116
+ Caret.prototype.setPos = function(pos) {
117
+ var inputor, range;
118
+
119
+ inputor = this.domInputor;
120
+ if (document.selection) {
121
+ range = inputor.createTextRange();
122
+ range.move("character", pos);
123
+ return range.select();
124
+ } else {
125
+ return inputor.setSelectionRange(pos, pos);
126
+ }
127
+ };
128
+
129
+ Caret.prototype.getPosition = function(pos) {
130
+ var $inputor, at_rect, format, h, html, mirror, start_range, x, y;
131
+
132
+ $inputor = this.$inputor;
133
+ format = function(value) {
134
+ return value.replace(/</g, '&lt').replace(/>/g, '&gt').replace(/`/g, '&#96').replace(/"/g, '&quot').replace(/\r\n|\r|\n/g, "<br />");
135
+ };
136
+ if (pos === void 0) {
137
+ pos = this.getPos();
138
+ }
139
+ start_range = $inputor.val().slice(0, pos);
140
+ html = "<span>" + format(start_range) + "</span>";
141
+ html += "<span id='caret'>|</span>";
142
+ mirror = new Mirror($inputor);
143
+ at_rect = mirror.create(html).rect();
144
+ x = at_rect.left - $inputor.scrollLeft();
145
+ y = at_rect.top - $inputor.scrollTop();
146
+ h = at_rect.height;
147
+ return {
148
+ left: x,
149
+ top: y,
150
+ height: h
151
+ };
152
+ };
153
+
154
+ Caret.prototype.getOffset = function(pos) {
155
+ var $inputor, h, offset, position, x, y;
156
+
157
+ $inputor = this.$inputor;
158
+ offset = $inputor.offset();
159
+ position = this.getPosition(pos);
160
+ x = offset.left + position.left;
161
+ y = offset.top + position.top;
162
+ h = position.height;
163
+ return {
164
+ left: x,
165
+ top: y,
166
+ height: h
167
+ };
168
+ };
169
+
170
+ Caret.prototype.getIEPosition = function(pos) {
171
+ var h, inputorOffset, offset, x, y;
172
+
173
+ offset = this.getIEOffset(pos);
174
+ inputorOffset = this.$inputor.offset();
175
+ x = offset.left - inputorOffset.left;
176
+ y = offset.top - inputorOffset.top;
177
+ h = offset.height;
178
+ return {
179
+ left: x,
180
+ top: y,
181
+ height: h
182
+ };
183
+ };
184
+
185
+ Caret.prototype.getIEOffset = function(pos) {
186
+ var h, range, x, y;
187
+
188
+ range = this.domInputor.createTextRange();
189
+ if (pos) {
190
+ range.move('character', pos);
191
+ }
192
+ x = range.boundingLeft + $inputor.scrollLeft();
193
+ y = range.boundingTop + $(window).scrollTop() + $inputor.scrollTop();
194
+ h = range.boundingHeight;
195
+ return {
196
+ left: x,
197
+ top: y,
198
+ height: h
199
+ };
200
+ };
201
+
202
+ return Caret;
203
+
204
+ })();
205
+ Mirror = (function() {
206
+ Mirror.prototype.css_attr = ["overflowY", "height", "width", "paddingTop", "paddingLeft", "paddingRight", "paddingBottom", "marginTop", "marginLeft", "marginRight", "marginBottom", "fontFamily", "borderStyle", "borderWidth", "wordWrap", "fontSize", "lineHeight", "overflowX", "text-align"];
207
+
208
+ function Mirror($inputor) {
209
+ this.$inputor = $inputor;
210
+ }
211
+
212
+ Mirror.prototype.mirrorCss = function() {
213
+ var css,
214
+ _this = this;
215
+
216
+ css = {
217
+ position: 'absolute',
218
+ left: -9999,
219
+ top: 0,
220
+ zIndex: -20000,
221
+ 'white-space': 'pre-wrap'
222
+ };
223
+ $.each(this.css_attr, function(i, p) {
224
+ return css[p] = _this.$inputor.css(p);
225
+ });
226
+ return css;
227
+ };
228
+
229
+ Mirror.prototype.create = function(html) {
230
+ this.$mirror = $('<div></div>');
231
+ this.$mirror.css(this.mirrorCss());
232
+ this.$mirror.html(html);
233
+ this.$inputor.after(this.$mirror);
234
+ return this;
235
+ };
236
+
237
+ Mirror.prototype.rect = function() {
238
+ var $flag, pos, rect;
239
+
240
+ $flag = this.$mirror.find("#caret");
241
+ pos = $flag.position();
242
+ rect = {
243
+ left: pos.left,
244
+ top: pos.top,
245
+ height: $flag.height()
246
+ };
247
+ this.$mirror.remove();
248
+ return rect;
249
+ };
250
+
251
+ return Mirror;
252
+
253
+ })();
254
+ methods = {
255
+ pos: function(pos) {
256
+ if (pos) {
257
+ return this.setPos(pos);
258
+ } else {
259
+ return this.getPos();
260
+ }
261
+ },
262
+ position: function(pos) {
263
+ if (document.selection) {
264
+ return this.getIEPosition(pos);
265
+ } else {
266
+ return this.getPosition(pos);
267
+ }
268
+ },
269
+ offset: function(pos) {
270
+ if (document.selection) {
271
+ return this.getIEOffset(pos);
272
+ } else {
273
+ return this.getOffset(pos);
274
+ }
275
+ }
276
+ };
277
+ return $.fn.caret = function(method) {
278
+ var caret;
279
+
280
+ caret = new Caret(this);
281
+ if (methods[method]) {
282
+ return methods[method].apply(caret, Array.prototype.slice.call(arguments, 1));
283
+ } else {
284
+ return $.error("Method " + method + " does not exist on jQuery.caret");
285
+ }
286
+ };
287
+ });
288
+
289
+ }).call(this);
290
+
1
291
 
2
292
  /*
3
293
  Implement Github like autocomplete mentions
@@ -153,7 +443,7 @@
153
443
  return this.model.reload(this.setting.data);
154
444
  };
155
445
 
156
- Controller.prototype.super_call = function() {
446
+ Controller.prototype.call_default = function() {
157
447
  var args, func_name;
158
448
  func_name = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
159
449
  try {
@@ -188,7 +478,7 @@
188
478
  content = this.$inputor.val();
189
479
  caret_pos = this.$inputor.caret('pos');
190
480
  subtext = content.slice(0, caret_pos);
191
- query = this.callbacks("matcher").call(this, this.key, subtext);
481
+ query = this.callbacks("matcher").call(this, this.key, subtext, this.get_opt('start_with_space'));
192
482
  if (typeof query === "string" && query.length <= this.get_opt('max_len', 20)) {
193
483
  start = caret_pos - query.length;
194
484
  end = start + query.length;
@@ -217,12 +507,11 @@
217
507
  };
218
508
 
219
509
  Controller.prototype.insert = function(str) {
220
- var $inputor, flag_len, source, start_str, text;
510
+ var $inputor, source, start_str, text;
221
511
  $inputor = this.$inputor;
222
512
  str = '' + str;
223
513
  source = $inputor.val();
224
- flag_len = this.get_opt("display_flag") ? 0 : this.key.length;
225
- start_str = source.slice(0, (this.query['head_pos'] || 0) - flag_len);
514
+ start_str = source.slice(0, this.query['head_pos'] || 0);
226
515
  text = "" + start_str + str + " " + (source.slice(this.query['end_pos'] || 0));
227
516
  $inputor.val(text);
228
517
  $inputor.caret('pos', start_str.length + str.length + 1);
@@ -454,9 +743,12 @@
454
743
  }
455
744
  return _results;
456
745
  },
457
- matcher: function(flag, subtext) {
746
+ matcher: function(flag, subtext, should_start_with_space) {
458
747
  var match, regexp;
459
- flag = '(?:^|\\s)' + flag.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
748
+ flag = flag.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
749
+ if (should_start_with_space) {
750
+ flag = '(?:^|\\s)' + flag;
751
+ }
460
752
  regexp = new RegExp(flag + '([A-Za-z0-9_\+\-]*)$|' + flag + '([^\\x00-\\xff]*)$', 'gi');
461
753
  match = regexp.exec(subtext);
462
754
  if (match) {
@@ -564,263 +856,9 @@
564
856
  search_key: "name",
565
857
  limit: 5,
566
858
  max_len: 20,
567
- display_flag: true,
859
+ start_with_space: true,
568
860
  display_timeout: 300
569
861
  };
570
862
  });
571
863
 
572
864
  }).call(this);
573
-
574
-
575
- /*
576
- Implement Github like autocomplete mentions
577
- http://ichord.github.com/At.js
578
-
579
- Copyright (c) 2013 chord.luo@gmail.com
580
- Licensed under the MIT license.
581
- */
582
-
583
-
584
- /*
585
- 本插件操作 textarea 或者 input 内的插入符
586
- 只实现了获得插入符在文本框中的位置,我设置
587
- 插入符的位置.
588
- */
589
-
590
-
591
- (function() {
592
-
593
- (function(factory) {
594
- if (typeof define === 'function' && define.amd) {
595
- return define(['jquery'], factory);
596
- } else {
597
- return factory(window.jQuery);
598
- }
599
- })(function($) {
600
- "use strict";
601
-
602
- var Caret, Mirror, methods, pluginName;
603
- pluginName = 'caret';
604
- Caret = (function() {
605
-
606
- function Caret($inputor) {
607
- this.$inputor = $inputor;
608
- this.domInputor = this.$inputor[0];
609
- }
610
-
611
- Caret.prototype.getPos = function() {
612
- var end, endRange, inputor, len, normalizedValue, pos, range, start, textInputRange;
613
- inputor = this.domInputor;
614
- inputor.focus();
615
- if (document.selection) {
616
- /*
617
- #assume we select "HATE" in the inputor such as textarea -> { }.
618
- * start end-point.
619
- * /
620
- * < I really [HATE] IE > between the brackets is the selection range.
621
- * \
622
- * end end-point.
623
- */
624
-
625
- range = document.selection.createRange();
626
- pos = 0;
627
- if (range && range.parentElement() === inputor) {
628
- normalizedValue = inputor.value.replace(/\r\n/g, "\n");
629
- /* SOMETIME !!!
630
- "/r/n" is counted as two char.
631
- one line is two, two will be four. balalala.
632
- so we have to using the normalized one's length.;
633
- */
634
-
635
- len = normalizedValue.length;
636
- /*
637
- <[ I really HATE IE ]>:
638
- the whole content in the inputor will be the textInputRange.
639
- */
640
-
641
- textInputRange = inputor.createTextRange();
642
- /* _here must be the position of bookmark.
643
- /
644
- <[ I really [HATE] IE ]>
645
- [---------->[ ] : this is what moveToBookmark do.
646
- < I really [[HATE] IE ]> : here is result.
647
- \ two brackets in should be in line.
648
- */
649
-
650
- textInputRange.moveToBookmark(range.getBookmark());
651
- endRange = inputor.createTextRange();
652
- /* [--------------------->[] : if set false all end-point goto end.
653
- < I really [[HATE] IE []]>
654
- */
655
-
656
- endRange.collapse(false);
657
- /*
658
- ___VS____
659
- / \
660
- < I really [[HATE] IE []]>
661
- \_endRange end-point.
662
-
663
- " > -1" mean the start end-point will be the same or right to the end end-point
664
- * simplelly, all in the end.
665
- */
666
-
667
- if (textInputRange.compareEndPoints("StartToEnd", endRange) > -1) {
668
- start = end = len;
669
- } else {
670
- /*
671
- I really |HATE] IE ]>
672
- <-|
673
- I really[ [HATE] IE ]>
674
- <-[
675
- I reall[y [HATE] IE ]>
676
-
677
- will return how many unit have moved.
678
- */
679
-
680
- start = -textInputRange.moveStart("character", -len);
681
- end = -textInputRange.moveEnd("character", -len);
682
- }
683
- }
684
- } else {
685
- start = inputor.selectionStart;
686
- }
687
- return start;
688
- };
689
-
690
- Caret.prototype.setPos = function(pos) {
691
- var inputor, range;
692
- inputor = this.domInputor;
693
- if (document.selection) {
694
- range = inputor.createTextRange();
695
- range.move("character", pos);
696
- return range.select();
697
- } else {
698
- return inputor.setSelectionRange(pos, pos);
699
- }
700
- };
701
-
702
- Caret.prototype.getPosition = function(pos) {
703
- var $inputor, at_rect, format, h, html, mirror, start_range, x, y;
704
- $inputor = this.$inputor;
705
- format = function(value) {
706
- return value.replace(/</g, '&lt').replace(/>/g, '&gt').replace(/`/g, '&#96').replace(/"/g, '&quot').replace(/\r\n|\r|\n/g, "<br />");
707
- };
708
- pos = pos || this.getPos();
709
- start_range = $inputor.val().slice(0, pos);
710
- html = "<span>" + format(start_range) + "</span>";
711
- html += "<span id='caret'>|</span>";
712
- mirror = new Mirror($inputor);
713
- at_rect = mirror.create(html).rect();
714
- x = at_rect.left - $inputor.scrollLeft();
715
- y = at_rect.top - $inputor.scrollTop();
716
- h = at_rect.height;
717
- return {
718
- left: x,
719
- top: y,
720
- height: h
721
- };
722
- };
723
-
724
- Caret.prototype.getOffset = function(pos) {
725
- var $inputor, h, offset, position, range, x, y;
726
- $inputor = this.$inputor;
727
- if (document.selection) {
728
- range = this.domInputor.createTextRange();
729
- if (pos) {
730
- range.move('character', pos);
731
- }
732
- x = range.boundingLeft + $inputor.scrollLeft();
733
- y = range.boundingTop + $(window).scrollTop() + $inputor.scrollTop();
734
- h = range.boundingHeight;
735
- } else {
736
- offset = $inputor.offset();
737
- position = this.getPosition(pos);
738
- x = offset.left + position.left;
739
- y = offset.top + position.top;
740
- h = position.height;
741
- }
742
- return {
743
- left: x,
744
- top: y,
745
- height: h
746
- };
747
- };
748
-
749
- return Caret;
750
-
751
- })();
752
- Mirror = (function() {
753
-
754
- Mirror.prototype.css_attr = ["overflowY", "height", "width", "paddingTop", "paddingLeft", "paddingRight", "paddingBottom", "marginTop", "marginLeft", "marginRight", "marginBottom", "fontFamily", "borderStyle", "borderWidth", "wordWrap", "fontSize", "lineHeight", "overflowX", "text-align"];
755
-
756
- function Mirror($inputor) {
757
- this.$inputor = $inputor;
758
- }
759
-
760
- Mirror.prototype.mirrorCss = function() {
761
- var css,
762
- _this = this;
763
- css = {
764
- position: 'absolute',
765
- left: -9999,
766
- top: 0,
767
- zIndex: -20000,
768
- 'white-space': 'pre-wrap'
769
- };
770
- $.each(this.css_attr, function(i, p) {
771
- return css[p] = _this.$inputor.css(p);
772
- });
773
- return css;
774
- };
775
-
776
- Mirror.prototype.create = function(html) {
777
- this.$mirror = $('<div></div>');
778
- this.$mirror.css(this.mirrorCss());
779
- this.$mirror.html(html);
780
- this.$inputor.after(this.$mirror);
781
- return this;
782
- };
783
-
784
- Mirror.prototype.rect = function() {
785
- var $flag, pos, rect;
786
- $flag = this.$mirror.find("#caret");
787
- pos = $flag.position();
788
- rect = {
789
- left: pos.left,
790
- top: pos.top,
791
- height: $flag.height()
792
- };
793
- this.$mirror.remove();
794
- return rect;
795
- };
796
-
797
- return Mirror;
798
-
799
- })();
800
- methods = {
801
- pos: function(pos) {
802
- if (pos) {
803
- return this.setPos(pos);
804
- } else {
805
- return this.getPos();
806
- }
807
- },
808
- position: function(pos) {
809
- return this.getPosition(pos);
810
- },
811
- offset: function(pos) {
812
- return this.getOffset(pos);
813
- }
814
- };
815
- return $.fn.caret = function(method) {
816
- var caret;
817
- caret = new Caret(this);
818
- if (methods[method]) {
819
- return methods[method].apply(caret, Array.prototype.slice.call(arguments, 1));
820
- } else {
821
- return $.error("Method " + method + " does not exist on jQuery.caret");
822
- }
823
- };
824
- });
825
-
826
- }).call(this);
@@ -1,7 +1,7 @@
1
1
  module Jquery
2
2
  module Atwho
3
3
  module Rails
4
- VERSION = "0.3.1"
4
+ VERSION = "0.3.2"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-atwho-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
5
- prerelease:
4
+ version: 0.3.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - ichord
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-03 00:00:00.000000000 Z
11
+ date: 2013-08-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: generator_spec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - '>='
44
39
  - !ruby/object:Gem::Version
@@ -54,6 +49,7 @@ extra_rdoc_files: []
54
49
  files:
55
50
  - .gitignore
56
51
  - Gemfile
52
+ - LICENSE-MIT
57
53
  - README.md
58
54
  - Rakefile
59
55
  - changelog.md
@@ -67,29 +63,27 @@ files:
67
63
  - spec/spec_helper.rb
68
64
  homepage: http://ichord.github.com/jquery-atwho-rails
69
65
  licenses: []
66
+ metadata: {}
70
67
  post_install_message:
71
68
  rdoc_options: []
72
69
  require_paths:
73
70
  - lib
74
71
  required_ruby_version: !ruby/object:Gem::Requirement
75
- none: false
76
72
  requirements:
77
73
  - - '>='
78
74
  - !ruby/object:Gem::Version
79
75
  version: '0'
80
76
  required_rubygems_version: !ruby/object:Gem::Requirement
81
- none: false
82
77
  requirements:
83
78
  - - '>='
84
79
  - !ruby/object:Gem::Version
85
80
  version: '0'
86
81
  requirements: []
87
82
  rubyforge_project: jquery-atwho-rails
88
- rubygems_version: 1.8.25
83
+ rubygems_version: 2.0.3
89
84
  signing_key:
90
- specification_version: 3
85
+ specification_version: 4
91
86
  summary: 'jquery plugin: @mentions'
92
87
  test_files:
93
88
  - spec/generators/install_generator_spec.rb
94
89
  - spec/spec_helper.rb
95
- has_rdoc: