rails3-jquery-autocomplete 1.0.14 → 1.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +9 -2
- data/lib/assets/javascripts/autocomplete-rails-uncompressed.js +39 -21
- data/lib/assets/javascripts/autocomplete-rails.js +1 -15
- data/lib/rails3-jquery-autocomplete/autocomplete.rb +2 -2
- data/lib/rails3-jquery-autocomplete/version.rb +1 -1
- data/test/lib/rails3-jquery-autocomplete/autocomplete_test.rb +23 -0
- metadata +39 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d800ede5179580d6b7c2c31b5ea7c6332ef35694
|
4
|
+
data.tar.gz: ac4ff21bc21180e1fc2211f96b588a5de9290bad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d314d728d3cb76c4994c0c6670243a5aedc60c26a1112783f25cb635e445bab8ea25ceda0fd8e94800aa2262d1b291e8339c6a0c2f03f4e41b370cb0ae72b4f5
|
7
|
+
data.tar.gz: 9a420963c15c45ac1c9a067f4e5929d182ad82e0b0d06b637403f87153592f2827a653987e8c9266f4438840ce9dd3a22fb06d51c22a9ae0ae73f4e07e59501a
|
data/README.md
CHANGED
@@ -264,6 +264,15 @@ To generate an autocomplete input field that accepts multiple values separated b
|
|
264
264
|
|
265
265
|
NOTE: Setting the `:multiple` option to `true` will result in the chosen values being submitted as an array. Leaving this option off will result in the values being passed as a single string, with the values separated by your chosen delimiter.
|
266
266
|
|
267
|
+
#### Automatically focus on the first autocompleted item
|
268
|
+
|
269
|
+
To have the first item be automatically focused on when the autocomplete menu is shown, add the `'data-auto-focus'` option and set it to `true`.
|
270
|
+
|
271
|
+
form_for @product do |f|
|
272
|
+
f.autocomplete_field :brand_names, autocomplete_brand_name_products_path,
|
273
|
+
'data-auto-focus' => true
|
274
|
+
end
|
275
|
+
|
267
276
|
Now your autocomplete code is unobtrusive, Rails 3 style.
|
268
277
|
|
269
278
|
### Getting the object id
|
@@ -307,8 +316,6 @@ form elements to get the values:
|
|
307
316
|
end
|
308
317
|
end
|
309
318
|
|
310
|
-
The previous example would fetch the extra attribute slogan and update jQuery('#some_other_element') with the slogan value.
|
311
|
-
|
312
319
|
### Getting extra object data
|
313
320
|
|
314
321
|
If you need to extra data about the selected object, you can use the *:update_elements* HTML attribute.
|
@@ -32,7 +32,7 @@
|
|
32
32
|
};
|
33
33
|
|
34
34
|
jQuery.railsAutocomplete = function (e) {
|
35
|
-
_e = e;
|
35
|
+
var _e = e;
|
36
36
|
this.init(_e);
|
37
37
|
};
|
38
38
|
|
@@ -46,6 +46,7 @@
|
|
46
46
|
e.delimiter = jQuery(e).attr('data-delimiter') || null;
|
47
47
|
e.min_length = jQuery(e).attr('min-length') || 2;
|
48
48
|
e.append_to = jQuery(e).attr('data-append-to') || null;
|
49
|
+
e.autoFocus = jQuery(e).attr('data-auto-focus') || false;
|
49
50
|
function split( val ) {
|
50
51
|
return val.split( e.delimiter );
|
51
52
|
}
|
@@ -55,17 +56,20 @@
|
|
55
56
|
|
56
57
|
jQuery(e).autocomplete({
|
57
58
|
appendTo: e.append_to,
|
59
|
+
autoFocus: e.autoFocus,
|
60
|
+
delay: jQuery(e).attr('delay') || 0,
|
58
61
|
source: function( request, response ) {
|
59
|
-
|
62
|
+
var firedFrom = this.element[0];
|
63
|
+
var params = {term: extractLast( request.term )};
|
60
64
|
if (jQuery(e).attr('data-autocomplete-fields')) {
|
61
65
|
jQuery.each(jQuery.parseJSON(jQuery(e).attr('data-autocomplete-fields')), function(field, selector) {
|
62
66
|
params[field] = jQuery(selector).val();
|
63
67
|
});
|
64
68
|
}
|
65
69
|
jQuery.getJSON( jQuery(e).attr('data-autocomplete'), params, function() {
|
66
|
-
if(arguments[0].length
|
67
|
-
arguments[0] = []
|
68
|
-
arguments[0][0] = { id: "", label: "no existing match" }
|
70
|
+
if(arguments[0].length === 0) {
|
71
|
+
arguments[0] = [];
|
72
|
+
arguments[0][0] = { id: "", label: "no existing match" };
|
69
73
|
}
|
70
74
|
jQuery(arguments[0]).each(function(i, el) {
|
71
75
|
var obj = {};
|
@@ -73,23 +77,24 @@
|
|
73
77
|
jQuery(e).data(obj);
|
74
78
|
});
|
75
79
|
response.apply(null, arguments);
|
80
|
+
jQuery(firedFrom).trigger('railsAutocomplete.source', arguments);
|
76
81
|
});
|
77
82
|
},
|
78
83
|
change: function( event, ui ) {
|
79
84
|
if(!jQuery(this).is('[data-id-element]') ||
|
80
|
-
jQuery(jQuery(this).attr('data-id-element')).val()
|
81
|
-
|
82
|
-
|
85
|
+
jQuery(jQuery(this).attr('data-id-element')).val() === "") {
|
86
|
+
return;
|
87
|
+
}
|
83
88
|
jQuery(jQuery(this).attr('data-id-element')).val(ui.item ? ui.item.id : "");
|
84
|
-
|
89
|
+
|
85
90
|
if (jQuery(this).attr('data-update-elements')) {
|
86
91
|
var update_elements = jQuery.parseJSON(jQuery(this).attr("data-update-elements"));
|
87
92
|
var data = ui.item ? jQuery(this).data(ui.item.id.toString()) : {};
|
88
|
-
if(update_elements && jQuery(update_elements['id']).val()
|
89
|
-
|
93
|
+
if(update_elements && jQuery(update_elements['id']).val() === "") {
|
94
|
+
return;
|
90
95
|
}
|
91
96
|
for (var key in update_elements) {
|
92
|
-
element = jQuery(update_elements[key]);
|
97
|
+
var element = jQuery(update_elements[key]);
|
93
98
|
if (element.is(':checkbox')) {
|
94
99
|
if (data[key] != null) {
|
95
100
|
element.prop('checked', data[key]);
|
@@ -112,6 +117,10 @@
|
|
112
117
|
return false;
|
113
118
|
},
|
114
119
|
select: function( event, ui ) {
|
120
|
+
if(ui.item.value.toLowerCase().indexOf('no match') != -1 || ui.item.value.toLowerCase().indexOf('too many results') != -1){
|
121
|
+
jQuery(this).trigger('railsAutocomplete.noMatch', ui);
|
122
|
+
return false;
|
123
|
+
}
|
115
124
|
var terms = split( this.value );
|
116
125
|
// remove the current input
|
117
126
|
terms.pop();
|
@@ -127,18 +136,26 @@
|
|
127
136
|
jQuery(jQuery(this).attr('data-id-element')).val(ui.item.id);
|
128
137
|
}
|
129
138
|
if (jQuery(this).attr('data-update-elements')) {
|
130
|
-
var data =
|
139
|
+
var data = ui.item;
|
140
|
+
var new_record = ui.item.value.indexOf('Create New') != -1 ? true : false;
|
131
141
|
var update_elements = jQuery.parseJSON(jQuery(this).attr("data-update-elements"));
|
132
142
|
for (var key in update_elements) {
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
143
|
+
if(jQuery(update_elements[key]).attr("type") === "checkbox"){
|
144
|
+
if(data[key] === true || data[key] === 1) {
|
145
|
+
jQuery(update_elements[key]).attr("checked","checked");
|
146
|
+
}
|
147
|
+
else {
|
148
|
+
jQuery(update_elements[key]).removeAttr("checked");
|
149
|
+
}
|
150
|
+
}
|
151
|
+
else{
|
152
|
+
if((new_record && data[key] && data[key].indexOf('Create New') == -1) || !new_record){
|
153
|
+
jQuery(update_elements[key]).val(data[key]);
|
154
|
+
}else{
|
155
|
+
jQuery(update_elements[key]).val('');
|
140
156
|
}
|
141
|
-
|
157
|
+
}
|
158
|
+
}
|
142
159
|
}
|
143
160
|
}
|
144
161
|
var remember_string = this.value;
|
@@ -149,6 +166,7 @@
|
|
149
166
|
}
|
150
167
|
});
|
151
168
|
jQuery(e).trigger('railsAutocomplete.select', ui);
|
169
|
+
|
152
170
|
return false;
|
153
171
|
}
|
154
172
|
});
|
@@ -1,15 +1 @@
|
|
1
|
-
|
2
|
-
* Unobtrusive autocomplete
|
3
|
-
*
|
4
|
-
* To use it, you just have to include the HTML attribute autocomplete
|
5
|
-
* with the autocomplete URL as the value
|
6
|
-
*
|
7
|
-
* Example:
|
8
|
-
* <input type="text" data-autocomplete="/url/to/autocomplete">
|
9
|
-
*
|
10
|
-
* Optionally, you can use a jQuery selector to specify a field that can
|
11
|
-
* be updated with the element id whenever you find a matching value
|
12
|
-
*
|
13
|
-
* Example:
|
14
|
-
* <input type="text" data-autocomplete="/url/to/autocomplete" data-id-element="#id_field">
|
15
|
-
*/(function(e){var t=null;e.fn.railsAutocomplete=function(){var t=function(){this.railsAutoCompleter||(this.railsAutoCompleter=new e.railsAutocomplete(this))};return e.fn.on!==undefined?e(document).on("focus",this.selector,t):this.live("focus",t)},e.railsAutocomplete=function(e){_e=e,this.init(_e)},e.railsAutocomplete.fn=e.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"},e.railsAutocomplete.fn.extend=e.railsAutocomplete.extend=e.extend,e.railsAutocomplete.fn.extend({init:function(t){function n(e){return e.split(t.delimiter)}function r(e){return n(e).pop().replace(/^\s+/,"")}t.delimiter=e(t).attr("data-delimiter")||null,t.min_length=e(t).attr("min-length")||2,t.append_to=e(t).attr("data-append-to")||null,e(t).autocomplete({appendTo:t.append_to,source:function(n,i){params={term:r(n.term)},e(t).attr("data-autocomplete-fields")&&e.each(e.parseJSON(e(t).attr("data-autocomplete-fields")),function(t,n){params[t]=e(n).val()}),e.getJSON(e(t).attr("data-autocomplete"),params,function(){arguments[0].length==0&&(arguments[0]=[],arguments[0][0]={id:"",label:"no existing match"}),e(arguments[0]).each(function(n,r){var i={};i[r.id]=r,e(t).data(i)}),i.apply(null,arguments)})},change:function(t,n){if(!e(this).is("[data-id-element]")||e(e(this).attr("data-id-element")).val()=="")return;e(e(this).attr("data-id-element")).val(n.item?n.item.id:"");if(e(this).attr("data-update-elements")){var r=e.parseJSON(e(this).attr("data-update-elements")),i=n.item?e(this).data(n.item.id.toString()):{};if(r&&e(r["id"]).val()=="")return;for(var s in r)element=e(r[s]),element.is(":checkbox")?i[s]!=null&&element.prop("checked",i[s]):element.val(n.item?i[s]:"")}},search:function(){var e=r(this.value);if(e.length<t.min_length)return!1},focus:function(){return!1},select:function(r,i){var s=n(this.value);s.pop(),s.push(i.item.value);if(t.delimiter!=null)s.push(""),this.value=s.join(t.delimiter);else{this.value=s.join(""),e(this).attr("data-id-element")&&e(e(this).attr("data-id-element")).val(i.item.id);if(e(this).attr("data-update-elements")){var o=e(this).data(i.item.id.toString()),u=e.parseJSON(e(this).attr("data-update-elements"));for(var a in u)element=e(u[a]),element.is(":checkbox")?o[a]!=null&&element.prop("checked",o[a]):element.val(o[a])}}var f=this.value;return e(this).bind("keyup.clearId",function(){e.trim(e(this).val())!=e.trim(f)&&(e(e(this).attr("data-id-element")).val(""),e(this).unbind("keyup.clearId"))}),e(t).trigger("railsAutocomplete.select",i),!1}})}}),e(document).ready(function(){e("input[data-autocomplete]").railsAutocomplete()})})(jQuery);
|
1
|
+
!function(t){t.fn.railsAutocomplete=function(){var e=function(){this.railsAutoCompleter||(this.railsAutoCompleter=new t.railsAutocomplete(this))};return void 0!==t.fn.on?t(document).on("focus",this.selector,e):this.live("focus",e)},t.railsAutocomplete=function(t){var e=t;this.init(e)},t.railsAutocomplete.fn=t.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"},t.railsAutocomplete.fn.extend=t.railsAutocomplete.extend=t.extend,t.railsAutocomplete.fn.extend({init:function(e){function a(t){return t.split(e.delimiter)}function i(t){return a(t).pop().replace(/^\s+/,"")}e.delimiter=t(e).attr("data-delimiter")||null,e.min_length=t(e).attr("min-length")||2,e.append_to=t(e).attr("data-append-to")||null,e.autoFocus=t(e).attr("data-auto-focus")||!1,t(e).autocomplete({appendTo:e.append_to,autoFocus:e.autoFocus,delay:t(e).attr("delay")||0,source:function(a,n){var r=this.element[0],o={term:i(a.term)};t(e).attr("data-autocomplete-fields")&&t.each(t.parseJSON(t(e).attr("data-autocomplete-fields")),function(e,a){o[e]=t(a).val()}),t.getJSON(t(e).attr("data-autocomplete"),o,function(){0===arguments[0].length&&(arguments[0]=[],arguments[0][0]={id:"",label:"no existing match"}),t(arguments[0]).each(function(a,i){var n={};n[i.id]=i,t(e).data(n)}),n.apply(null,arguments),t(r).trigger("railsAutocomplete.source",arguments)})},change:function(e,a){if(t(this).is("[data-id-element]")&&""!==t(t(this).attr("data-id-element")).val()&&(t(t(this).attr("data-id-element")).val(a.item?a.item.id:""),t(this).attr("data-update-elements"))){var i=t.parseJSON(t(this).attr("data-update-elements")),n=a.item?t(this).data(a.item.id.toString()):{};if(i&&""===t(i.id).val())return;for(var r in i){var o=t(i[r]);o.is(":checkbox")?null!=n[r]&&o.prop("checked",n[r]):o.val(a.item?n[r]:"")}}},search:function(){var t=i(this.value);return t.length<e.min_length?!1:void 0},focus:function(){return!1},select:function(i,n){if(-1!=n.item.value.toLowerCase().indexOf("no match")||-1!=n.item.value.toLowerCase().indexOf("too many results"))return t(this).trigger("railsAutocomplete.noMatch",n),!1;var r=a(this.value);if(r.pop(),r.push(n.item.value),null!=e.delimiter)r.push(""),this.value=r.join(e.delimiter);else if(this.value=r.join(""),t(this).attr("data-id-element")&&t(t(this).attr("data-id-element")).val(n.item.id),t(this).attr("data-update-elements")){var o=n.item,l=-1!=n.item.value.indexOf("Create New")?!0:!1,u=t.parseJSON(t(this).attr("data-update-elements"));for(var s in u)"checkbox"===t(u[s]).attr("type")?o[s]===!0||1===o[s]?t(u[s]).attr("checked","checked"):t(u[s]).removeAttr("checked"):t(u[s]).val(l&&o[s]&&-1==o[s].indexOf("Create New")||!l?o[s]:"")}var c=this.value;return t(this).bind("keyup.clearId",function(){t.trim(t(this).val())!=t.trim(c)&&(t(t(this).attr("data-id-element")).val(""),t(this).unbind("keyup.clearId"))}),t(e).trigger("railsAutocomplete.select",n),!1}})}}),t(document).ready(function(){t("input[data-autocomplete]").railsAutocomplete()})}(jQuery);
|
@@ -41,9 +41,9 @@ module Rails3JQueryAutocomplete
|
|
41
41
|
def autocomplete(object, method, options = {}, &block)
|
42
42
|
|
43
43
|
define_method("get_prefix") do |model|
|
44
|
-
if
|
44
|
+
if defined?(Mongoid::Document) && model.include?(Mongoid::Document)
|
45
45
|
'mongoid'
|
46
|
-
elsif
|
46
|
+
elsif defined?(MongoMapper::Document) && model.include?(MongoMapper::Document)
|
47
47
|
'mongo_mapper'
|
48
48
|
else
|
49
49
|
'active_record'
|
@@ -4,6 +4,29 @@ module Rails3JQueryAutocomplete
|
|
4
4
|
class AutocompleteTest < Test::Unit::TestCase
|
5
5
|
include Rails3JQueryAutocomplete::Autocomplete
|
6
6
|
|
7
|
+
context 'ClassMethods' do
|
8
|
+
context '#autocomplete' do
|
9
|
+
context '#get_prefix' do
|
10
|
+
context 'Mongoid and MongoMapper is not defined' do
|
11
|
+
setup do
|
12
|
+
ActorsController = Class.new(ActionController::Base)
|
13
|
+
ActorsController.autocomplete(:movie, :name)
|
14
|
+
@controller = ActorsController.new
|
15
|
+
|
16
|
+
@model = Class.new(ActiveRecord::Base)
|
17
|
+
|
18
|
+
Object.send(:remove_const, :Mongoid)
|
19
|
+
Object.send(:remove_const, :MongoMapper)
|
20
|
+
end
|
21
|
+
|
22
|
+
should 'not raise exception' do
|
23
|
+
@controller.get_prefix(@model)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
7
30
|
context '#get_autocomplete_limit' do
|
8
31
|
context 'the limit option was specified' do
|
9
32
|
should "return the limit option" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails3-jquery-autocomplete
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Padilla
|
@@ -10,188 +10,188 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-01-20 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '3.
|
21
|
+
version: '3.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '3.
|
28
|
+
version: '3.2'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: sqlite3-ruby
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: '0'
|
36
36
|
type: :development
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: mongoid
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- -
|
47
|
+
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: 2.0.0
|
50
50
|
type: :development
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
|
-
- -
|
54
|
+
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: 2.0.0
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: mongo_mapper
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
|
-
- -
|
61
|
+
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: '0.9'
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - ">="
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0.9'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: mongo
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
|
-
- - ~>
|
75
|
+
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: 1.6.2
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- - ~>
|
82
|
+
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: 1.6.2
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: bson_ext
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- - ~>
|
89
|
+
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: 1.6.2
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
|
-
- - ~>
|
96
|
+
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: 1.6.2
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: guard
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
|
-
- -
|
103
|
+
- - ">="
|
104
104
|
- !ruby/object:Gem::Version
|
105
105
|
version: '0'
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
|
-
- -
|
110
|
+
- - ">="
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: '0'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: guard-test
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
|
-
- -
|
117
|
+
- - ">="
|
118
118
|
- !ruby/object:Gem::Version
|
119
119
|
version: '0'
|
120
120
|
type: :development
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- -
|
124
|
+
- - ">="
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: '0'
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: test-unit
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
|
-
- - ~>
|
131
|
+
- - "~>"
|
132
132
|
- !ruby/object:Gem::Version
|
133
133
|
version: 2.2.0
|
134
134
|
type: :development
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
|
-
- - ~>
|
138
|
+
- - "~>"
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: 2.2.0
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
142
|
name: shoulda
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
144
144
|
requirements:
|
145
|
-
- - ~>
|
145
|
+
- - "~>"
|
146
146
|
- !ruby/object:Gem::Version
|
147
147
|
version: 3.0.1
|
148
148
|
type: :development
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
|
-
- - ~>
|
152
|
+
- - "~>"
|
153
153
|
- !ruby/object:Gem::Version
|
154
154
|
version: 3.0.1
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
156
|
name: uglifier
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|
158
158
|
requirements:
|
159
|
-
- -
|
159
|
+
- - ">="
|
160
160
|
- !ruby/object:Gem::Version
|
161
161
|
version: '0'
|
162
162
|
type: :development
|
163
163
|
prerelease: false
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
165
165
|
requirements:
|
166
|
-
- -
|
166
|
+
- - ">="
|
167
167
|
- !ruby/object:Gem::Version
|
168
168
|
version: '0'
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: rr
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|
172
172
|
requirements:
|
173
|
-
- -
|
173
|
+
- - ">="
|
174
174
|
- !ruby/object:Gem::Version
|
175
175
|
version: '0'
|
176
176
|
type: :development
|
177
177
|
prerelease: false
|
178
178
|
version_requirements: !ruby/object:Gem::Requirement
|
179
179
|
requirements:
|
180
|
-
- -
|
180
|
+
- - ">="
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: '0'
|
183
183
|
- !ruby/object:Gem::Dependency
|
184
184
|
name: simple_form
|
185
185
|
requirement: !ruby/object:Gem::Requirement
|
186
186
|
requirements:
|
187
|
-
- - ~>
|
187
|
+
- - "~>"
|
188
188
|
- !ruby/object:Gem::Version
|
189
189
|
version: '1.5'
|
190
190
|
type: :development
|
191
191
|
prerelease: false
|
192
192
|
version_requirements: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
|
-
- - ~>
|
194
|
+
- - "~>"
|
195
195
|
- !ruby/object:Gem::Version
|
196
196
|
version: '1.5'
|
197
197
|
description: Use jQuery's autocomplete plugin with Rails 3.
|
@@ -200,28 +200,28 @@ executables: []
|
|
200
200
|
extensions: []
|
201
201
|
extra_rdoc_files: []
|
202
202
|
files:
|
203
|
+
- CHANGELOG.md
|
204
|
+
- LICENSE
|
205
|
+
- README.md
|
206
|
+
- Rakefile
|
203
207
|
- lib/assets/javascripts/autocomplete-rails-uncompressed.js
|
204
208
|
- lib/assets/javascripts/autocomplete-rails.js
|
205
209
|
- lib/cucumber/autocomplete.rb
|
206
210
|
- lib/generators/autocomplete/install_generator.rb
|
207
211
|
- lib/generators/autocomplete/uncompressed_generator.rb
|
212
|
+
- lib/rails3-jquery-autocomplete.rb
|
208
213
|
- lib/rails3-jquery-autocomplete/autocomplete.rb
|
209
214
|
- lib/rails3-jquery-autocomplete/form_helper.rb
|
210
215
|
- lib/rails3-jquery-autocomplete/formtastic.rb
|
211
216
|
- lib/rails3-jquery-autocomplete/formtastic_plugin.rb
|
217
|
+
- lib/rails3-jquery-autocomplete/orm.rb
|
212
218
|
- lib/rails3-jquery-autocomplete/orm/active_record.rb
|
213
219
|
- lib/rails3-jquery-autocomplete/orm/mongo_mapper.rb
|
214
220
|
- lib/rails3-jquery-autocomplete/orm/mongoid.rb
|
215
|
-
- lib/rails3-jquery-autocomplete/orm.rb
|
216
221
|
- lib/rails3-jquery-autocomplete/rails/engine.rb
|
217
222
|
- lib/rails3-jquery-autocomplete/simple_form_plugin.rb
|
218
223
|
- lib/rails3-jquery-autocomplete/version.rb
|
219
|
-
- lib/rails3-jquery-autocomplete.rb
|
220
224
|
- lib/steak/autocomplete.rb
|
221
|
-
- CHANGELOG.md
|
222
|
-
- LICENSE
|
223
|
-
- README.md
|
224
|
-
- Rakefile
|
225
225
|
- test/form_helper_test.rb
|
226
226
|
- test/generators/autocomplete/install_generator_test.rb
|
227
227
|
- test/generators/autocomplete/uncompressed_generator_test.rb
|
@@ -243,17 +243,17 @@ require_paths:
|
|
243
243
|
- lib
|
244
244
|
required_ruby_version: !ruby/object:Gem::Requirement
|
245
245
|
requirements:
|
246
|
-
- -
|
246
|
+
- - ">="
|
247
247
|
- !ruby/object:Gem::Version
|
248
248
|
version: '0'
|
249
249
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
250
250
|
requirements:
|
251
|
-
- -
|
251
|
+
- - ">="
|
252
252
|
- !ruby/object:Gem::Version
|
253
253
|
version: '0'
|
254
254
|
requirements: []
|
255
255
|
rubyforge_project:
|
256
|
-
rubygems_version: 2.
|
256
|
+
rubygems_version: 2.4.3
|
257
257
|
signing_key:
|
258
258
|
specification_version: 4
|
259
259
|
summary: Use jQuery's autocomplete plugin with Rails 3.
|