elasticsearch_autocomplete 0.1.0 → 0.1.1

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.
@@ -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: