rails3-jquery-autocomplete 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
1
  # A sample Gemfile
2
2
  source :gemcutter
3
3
  #
4
- gem 'rails', '3.0.0.rc'
4
+ gem 'rails', '3.0.0'
5
5
  gem 'sqlite3-ruby'
6
6
  gem 'jeweler'
7
+ gem 'reek'
data/Gemfile.lock CHANGED
@@ -2,34 +2,34 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  abstract (1.0.0)
5
- actionmailer (3.0.0.rc)
6
- actionpack (= 3.0.0.rc)
5
+ actionmailer (3.0.0)
6
+ actionpack (= 3.0.0)
7
7
  mail (~> 2.2.5)
8
- actionpack (3.0.0.rc)
9
- activemodel (= 3.0.0.rc)
10
- activesupport (= 3.0.0.rc)
8
+ actionpack (3.0.0)
9
+ activemodel (= 3.0.0)
10
+ activesupport (= 3.0.0)
11
11
  builder (~> 2.1.2)
12
12
  erubis (~> 2.6.6)
13
13
  i18n (~> 0.4.1)
14
14
  rack (~> 1.2.1)
15
- rack-mount (~> 0.6.9)
15
+ rack-mount (~> 0.6.12)
16
16
  rack-test (~> 0.5.4)
17
- tzinfo (~> 0.3.22)
18
- activemodel (3.0.0.rc)
19
- activesupport (= 3.0.0.rc)
17
+ tzinfo (~> 0.3.23)
18
+ activemodel (3.0.0)
19
+ activesupport (= 3.0.0)
20
20
  builder (~> 2.1.2)
21
21
  i18n (~> 0.4.1)
22
- activerecord (3.0.0.rc)
23
- activemodel (= 3.0.0.rc)
24
- activesupport (= 3.0.0.rc)
25
- arel (~> 0.4.0)
26
- tzinfo (~> 0.3.22)
27
- activeresource (3.0.0.rc)
28
- activemodel (= 3.0.0.rc)
29
- activesupport (= 3.0.0.rc)
30
- activesupport (3.0.0.rc)
31
- arel (0.4.0)
32
- activesupport (>= 3.0.0.beta)
22
+ activerecord (3.0.0)
23
+ activemodel (= 3.0.0)
24
+ activesupport (= 3.0.0)
25
+ arel (~> 1.0.0)
26
+ tzinfo (~> 0.3.23)
27
+ activeresource (3.0.0)
28
+ activemodel (= 3.0.0)
29
+ activesupport (= 3.0.0)
30
+ activesupport (3.0.0)
31
+ arel (1.0.1)
32
+ activesupport (~> 3.0.0)
33
33
  builder (2.1.2)
34
34
  erubis (2.6.6)
35
35
  abstract (>= 1.0.0)
@@ -48,36 +48,47 @@ GEM
48
48
  mime-types (1.16)
49
49
  polyglot (0.3.1)
50
50
  rack (1.2.1)
51
- rack-mount (0.6.10)
51
+ rack-mount (0.6.12)
52
52
  rack (>= 1.0.0)
53
53
  rack-test (0.5.4)
54
54
  rack (>= 1.0)
55
- rails (3.0.0.rc)
56
- actionmailer (= 3.0.0.rc)
57
- actionpack (= 3.0.0.rc)
58
- activerecord (= 3.0.0.rc)
59
- activeresource (= 3.0.0.rc)
60
- activesupport (= 3.0.0.rc)
61
- bundler (>= 1.0.0.rc.1)
62
- railties (= 3.0.0.rc)
63
- railties (3.0.0.rc)
64
- actionpack (= 3.0.0.rc)
65
- activesupport (= 3.0.0.rc)
66
- rake (>= 0.8.3)
55
+ rails (3.0.0)
56
+ actionmailer (= 3.0.0)
57
+ actionpack (= 3.0.0)
58
+ activerecord (= 3.0.0)
59
+ activeresource (= 3.0.0)
60
+ activesupport (= 3.0.0)
61
+ bundler (~> 1.0.0)
62
+ railties (= 3.0.0)
63
+ railties (3.0.0)
64
+ actionpack (= 3.0.0)
65
+ activesupport (= 3.0.0)
66
+ rake (>= 0.8.4)
67
67
  thor (~> 0.14.0)
68
68
  rake (0.8.7)
69
+ reek (1.2.8)
70
+ ruby2ruby (~> 1.2)
71
+ ruby_parser (~> 2.0)
72
+ sexp_processor (~> 3.0)
73
+ ruby2ruby (1.2.4)
74
+ ruby_parser (~> 2.0)
75
+ sexp_processor (~> 3.0)
76
+ ruby_parser (2.0.4)
77
+ sexp_processor (~> 3.0)
69
78
  rubyforge (2.0.4)
70
79
  json_pure (>= 1.1.7)
80
+ sexp_processor (3.0.4)
71
81
  sqlite3-ruby (1.3.1)
72
82
  thor (0.14.0)
73
83
  treetop (1.4.8)
74
84
  polyglot (>= 0.3.1)
75
- tzinfo (0.3.22)
85
+ tzinfo (0.3.23)
76
86
 
77
87
  PLATFORMS
78
88
  ruby
79
89
 
80
90
  DEPENDENCIES
81
91
  jeweler
82
- rails (= 3.0.0.rc)
92
+ rails (= 3.0.0)
93
+ reek
83
94
  sqlite3-ruby
data/README.markdown CHANGED
@@ -62,14 +62,16 @@ This will create an action _autocomplete_brand_name_ on your controller, don't f
62
62
  get :autocomplete_brand_name, :on => :collection
63
63
  end
64
64
 
65
+ ### Options
66
+
67
+ #### :full => true
68
+
65
69
  By default, the search starts from the beginning of the string you're searching for. If you want to do a full search, set the _full_ parameter to true.
66
70
 
67
71
  class ProductsController < Admin::BaseController
68
72
  autocomplete :brand, :name, :full => true
69
73
  end
70
74
 
71
- #### :full => true
72
-
73
75
  The following terms would match the query 'un':
74
76
 
75
77
  * Luna
@@ -82,6 +84,27 @@ Only the following terms mould match the query 'un':
82
84
 
83
85
  * Unacceptable
84
86
 
87
+ #### :display_value
88
+
89
+ If you want to display a different version of what you're looking for, you can use the :display_value option.
90
+
91
+ This options receives a method name as the parameter, and that method will be called on the instance when displaying the results.
92
+
93
+ class Brand < ActiveRecord::Base
94
+ def funky_method
95
+ "#{self.name}.camelize"
96
+ end
97
+ end
98
+
99
+
100
+ class ProductsController < Admin::BaseController
101
+ autocomplete :brand, :name, :display_value => :funky_method
102
+ end
103
+
104
+ In the example above, you will search by _name_, but the autocomplete list will display the result of _funky_method_
105
+
106
+ This wouldn't really make much sense unless you use it with the :id_element HTML tag. (See below)
107
+
85
108
  ### View
86
109
 
87
110
  On your view, all you have to do is include the attribute autocomplete on the text field
@@ -110,7 +133,7 @@ If you want to make changes to the gem, first install bundler 1.0.0:
110
133
 
111
134
  gem install bundler --pre
112
135
 
113
- And then, install all your dependecies:
136
+ And then, install all your dependencies:
114
137
 
115
138
  bundle install
116
139
 
data/Rakefile CHANGED
@@ -10,7 +10,7 @@ begin
10
10
  gem.email = "david.padilla@crowdint.com"
11
11
  gem.homepage = "http://github.com/crowdint/rails3-jquery-autocomplete"
12
12
  gem.authors = ["David Padilla"]
13
- # gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
13
+ gem.add_development_dependency "rails", ">= 3.0.0.rc2"
14
14
  end
15
15
  Jeweler::GemcutterTasks.new
16
16
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.3
@@ -35,14 +35,14 @@ module Rails3JQueryAutocomplete
35
35
  items = {}
36
36
  end
37
37
 
38
- render :json => json_for_autocomplete(items, method)
38
+ render :json => json_for_autocomplete(items, (options[:display_value] ? options[:display_value] : method))
39
39
  end
40
40
  end
41
41
  end
42
42
 
43
43
  private
44
44
  def json_for_autocomplete(items, method)
45
- items.collect {|i| {"id" => i.id, "label" => i[method], "value" => i[method]}}
45
+ items.collect {|i| {"id" => i.id, "label" => i.send(method), "value" => i.send(method)}}
46
46
  end
47
47
  end
48
48
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rails3-jquery-autocomplete}
8
- s.version = "0.2.2"
8
+ s.version = "0.2.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["David Padilla"]
12
- s.date = %q{2010-08-20}
12
+ s.date = %q{2010-08-31}
13
13
  s.description = %q{Use jQuery's autocomplete plugin with Rails 3.}
14
14
  s.email = %q{david.padilla@crowdint.com}
15
15
  s.extra_rdoc_files = [
@@ -49,9 +49,12 @@ Gem::Specification.new do |s|
49
49
  s.specification_version = 3
50
50
 
51
51
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
52
+ s.add_development_dependency(%q<rails>, [">= 3.0.0.rc2"])
52
53
  else
54
+ s.add_dependency(%q<rails>, [">= 3.0.0.rc2"])
53
55
  end
54
56
  else
57
+ s.add_dependency(%q<rails>, [">= 3.0.0.rc2"])
55
58
  end
56
59
  end
57
60
 
@@ -11,6 +11,9 @@ class Actor < ActiveRecord::Base
11
11
  end
12
12
 
13
13
  class Movie < ActiveRecord::Base
14
+ def display_name
15
+ "Movie: #{name}"
16
+ end
14
17
  end
15
18
 
16
19
  def setup_db
@@ -117,4 +120,18 @@ class ActorsControllerTest < ActionController::TestCase
117
120
  assert_equal(json_response.length, 1)
118
121
  assert_equal(json_response.first["label"], 'aLpHa')
119
122
  end
123
+
124
+ def test_value_option
125
+ ActorsController.send(:autocomplete, :movie, :name, {:display_value => :display_name})
126
+
127
+ @movie = Movie.create(:name => 'Alpha')
128
+
129
+ get :autocomplete_movie_name, :term => 'Al'
130
+
131
+ json_response = JSON.parse(@response.body)
132
+
133
+ assert_equal(@movie.display_name, json_response.first["label"])
134
+ assert_equal(@movie.display_name, json_response.first["value"])
135
+ assert_equal(@movie.id, json_response.first["id"])
136
+ end
120
137
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails3-jquery-autocomplete
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 2
10
- version: 0.2.2
9
+ - 3
10
+ version: 0.2.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - David Padilla
@@ -15,10 +15,26 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-20 00:00:00 -07:00
18
+ date: 2010-08-31 00:00:00 -05:00
19
19
  default_executable:
20
- dependencies: []
21
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rails
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 977940607
30
+ segments:
31
+ - 3
32
+ - 0
33
+ - 0
34
+ - rc2
35
+ version: 3.0.0.rc2
36
+ type: :development
37
+ version_requirements: *id001
22
38
  description: Use jQuery's autocomplete plugin with Rails 3.
23
39
  email: david.padilla@crowdint.com
24
40
  executables: []