elasticsearch_autocomplete 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,10 +22,16 @@ module ElasticsearchAutocomplete
22
22
 
23
23
  elasticsearch(options)
24
24
 
25
- class_attribute :ac_opts, :ac_attr, :instance_writer => false
25
+ class_attribute :ac_opts, :ac_attr, :ac_search_attrs, :ac_search_fields, :ac_mode_config, :instance_writer => false
26
26
  self.ac_opts = options.reverse_merge(ElasticsearchAutocomplete.defaults)
27
27
  self.ac_attr = args.first || ElasticsearchAutocomplete.defaults[:attr]
28
28
 
29
+ self.ac_mode_config = ElasticsearchAutocomplete::MODES[ac_opts[:mode]]
30
+
31
+ self.ac_search_attrs = ac_opts[:search_fields] || (ac_opts[:localized] ? I18n.available_locales.map { |l| "#{ac_attr}_#{l}" } : [ac_attr])
32
+ self.ac_search_fields = ac_search_attrs.map { |attr| ac_mode_config.values.map { |prefix| "#{prefix}_#{attr}" } }.flatten
33
+
34
+
29
35
  define_ac_index(ac_opts[:mode]) unless options[:skip_settings]
30
36
  end
31
37
  end
@@ -61,23 +67,6 @@ module ElasticsearchAutocomplete
61
67
  end
62
68
  end
63
69
 
64
- def ac_search_attrs
65
- @ac_search_attrs ||=
66
- if ac_opts[:search_fields]
67
- ac_opts[:search_fields]
68
- else
69
- if ac_opts[:localized]
70
- I18n.available_locales.map { |l| "#{ac_attr}_#{l}" }
71
- else
72
- [ac_attr]
73
- end
74
- end
75
- end
76
-
77
- def ac_mode_config
78
- ElasticsearchAutocomplete::MODES[ac_opts[:mode]]
79
- end
80
-
81
70
  def define_ac_index(mode=:word)
82
71
  model = self
83
72
  settings ElasticsearchAutocomplete::Analyzers::AC_BASE do
@@ -112,10 +101,6 @@ module ElasticsearchAutocomplete
112
101
  end
113
102
  {:type => 'multi_field', :fields => fields}
114
103
  end
115
-
116
- def ac_search_fields
117
- @ac_search_fields ||= ac_search_attrs.map { |attr| ac_mode_config.values.map { |prefix| "#{prefix}_#{attr}" } }.flatten
118
- end
119
104
  end
120
105
 
121
106
  module InstanceMethods
@@ -1,3 +1,3 @@
1
1
  module ElasticsearchAutocomplete
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: elasticsearch_autocomplete
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Alex Leschenko
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-18 00:00:00.000000000 Z
12
+ date: 2013-02-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  version_requirements: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
114
  version: '0'
115
115
  segments:
116
116
  - 0
117
- hash: 1737804148958330559
117
+ hash: 1914463261395260588
118
118
  none: false
119
119
  required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  requirements:
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  version: '0'
124
124
  segments:
125
125
  - 0
126
- hash: 1737804148958330559
126
+ hash: 1914463261395260588
127
127
  none: false
128
128
  requirements: []
129
129
  rubyforge_project: