has_searcher 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,6 +3,7 @@ class HasSearcher::Base < ::ApplicationController
3
3
  base.class_eval do
4
4
  include HasSearcher::Helpers
5
5
  helper_method :searcher_for
6
+ helper_method :searcher
6
7
  end
7
8
 
8
9
  end
@@ -2,6 +2,10 @@ module HasSearcher::Helpers
2
2
 
3
3
  protected
4
4
 
5
+ def searcher
6
+ @searcher ||= searcher_for(resource_instance_name)
7
+ end
8
+
5
9
  def searcher_for(name)
6
10
  instance_variable_get("@#{searcher_name(name)}") ||
7
11
  instance_variable_set("@#{searcher_name(name)}", create_searcher(searcher_name(name)))
@@ -16,13 +20,14 @@ module HasSearcher::Helpers
16
20
  def create_searcher(searcher_name)
17
21
  begin
18
22
  searcher_clazz = searcher_name.classify.constantize
19
- searcher_clazz.new(params[searcher_name]) do | searcher |
20
- searcher_clazz.column_names.each do | column_name |
21
- searcher[column_name] ||= params[column_name]
22
- end
23
- end
24
23
  rescue NameError
24
+ return
25
25
  end
26
- end
26
+ searcher_clazz.new(params[searcher_name]) do | searcher |
27
+ searcher_clazz.column_names.each do | column_name |
28
+ searcher.send("#{column_name}=", params[column_name]) if searcher.send(column_name).blank?
29
+ end
30
+ end
31
+ end
27
32
 
28
33
  end
@@ -1,3 +1,3 @@
1
1
  module HasSearcher
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 2
9
- version: 0.0.2
8
+ - 3
9
+ version: 0.0.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Dmitry Lihachev
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-04-14 00:00:00 +07:00
17
+ date: 2011-04-18 00:00:00 +07:00
18
18
  default_executable:
19
19
  dependencies: []
20
20