elastictastic 0.10.4 → 0.10.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -6,6 +6,8 @@ is to define model classes which use ElasticSearch as a primary
6
6
  document-oriented data store, and to expose ElasticSearch's search functionality
7
7
  to query for those models.
8
8
 
9
+ [![Build Status](https://secure.travis-ci.org/brewster/elastictastic.png)](http://travis-ci.org/brewster/elastictastic)
10
+
9
11
  ## Dependencies ##
10
12
 
11
13
  Elastictastic requires Ruby 1.9 and ActiveSupport 3. Elastictastic does not
@@ -469,7 +471,17 @@ Post.highlight { fields(:title => {}) }.find_in_batches do |batch|
469
471
  end
470
472
  ```
471
473
 
472
- Both `find_each` and `find_in_batches` accept a :batch_size option.
474
+ Both `find_each` and `find_in_batches` accept a `:batch_size` option.
475
+
476
+ ## Support & Bugs ##
477
+
478
+ If you find a bug, feel free to
479
+ [open an issue](https://github.com/brewster/elastictastic/issues/new) on GitHub.
480
+ Pull requests are most welcome.
481
+
482
+ For questions or feedback, hit up our mailing list at
483
+ [elastictastic@groups.google.com](http://groups.google.com/group/elastictastic)
484
+ or find outoftime on the #elasticsearch IRC channel on Freenode.
473
485
 
474
486
  ## License ##
475
487
 
@@ -116,6 +116,8 @@ module Elastictastic
116
116
  :script_fields, :preference, :facets, :routing,
117
117
  :to => :current_scope
118
118
 
119
+ attr_writer :default_index
120
+
119
121
  def mapping
120
122
  mapping_for_type = { 'properties' => properties }
121
123
  mapping_for_type['_boost'] = @_boost if @_boost
@@ -143,7 +145,11 @@ module Elastictastic
143
145
  private
144
146
 
145
147
  def default_scope
146
- in_index(Index.default)
148
+ in_index(default_index)
149
+ end
150
+
151
+ def default_index
152
+ @default_index || Index.default
147
153
  end
148
154
  end
149
155
 
@@ -192,7 +198,7 @@ module Elastictastic
192
198
  end
193
199
 
194
200
  def ==(other)
195
- index == other.index && id == other.id
201
+ index == other.index && self.class == other.class && id == other.id
196
202
  end
197
203
 
198
204
  def attributes
@@ -15,5 +15,9 @@ module Elastictastic
15
15
  def to_s
16
16
  @name
17
17
  end
18
+
19
+ def ==(other)
20
+ name == other.name
21
+ end
18
22
  end
19
23
  end
@@ -262,7 +262,8 @@ module Elastictastic
262
262
  def deserialize_value(field_name, value)
263
263
  return nil if value.nil?
264
264
  if self.class.properties_for_field(field_name)['type'].to_s == 'date'
265
- if value.is_a? Fixnum
265
+ case value
266
+ when Fixnum, Bignum
266
267
  sec, usec = value / 1000, (value % 1000) * 1000
267
268
  Time.at(sec, usec).utc
268
269
  else
@@ -1,3 +1,3 @@
1
1
  module Elastictastic
2
- VERSION = '0.10.4'
2
+ VERSION = '0.10.5'
3
3
  end
@@ -659,4 +659,24 @@ describe Elastictastic::Document do
659
659
  end
660
660
  end
661
661
  end
662
+
663
+ describe '#==' do
664
+ it 'should return true if index, id and class of both objects are equal' do
665
+ first_post = Post.new(index: "post", title: "Hello, world!")
666
+ first_post.id = 1
667
+ other_post = Post.new(index: "post", title: "Hello, world!")
668
+ other_post.id = 1
669
+
670
+ other_post.should eq first_post
671
+ end
672
+
673
+ it 'should fail when classes are not equal' do
674
+ post = Post.new
675
+ post.id = 1
676
+ photo = Photo.new
677
+ photo.id = 1
678
+
679
+ photo.should_not eq post
680
+ end
681
+ end
662
682
  end
@@ -1,5 +1,4 @@
1
1
  require File.expand_path('../spec_helper', __FILE__)
2
- require 'ruby-debug'
3
2
 
4
3
  describe Elastictastic::OptimisticLocking do
5
4
  include Elastictastic::TestHelpers
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastictastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.4
4
+ version: 0.10.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-09-07 00:00:00.000000000 Z
14
+ date: 2012-12-08 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
18
- requirement: !ruby/object:Gem::Requirement
18
+ requirement: &24452880 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
@@ -23,15 +23,10 @@ dependencies:
23
23
  version: '3.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - ~>
30
- - !ruby/object:Gem::Version
31
- version: '3.0'
26
+ version_requirements: *24452880
32
27
  - !ruby/object:Gem::Dependency
33
28
  name: activemodel
34
- requirement: !ruby/object:Gem::Requirement
29
+ requirement: &24452420 !ruby/object:Gem::Requirement
35
30
  none: false
36
31
  requirements:
37
32
  - - ~>
@@ -39,15 +34,10 @@ dependencies:
39
34
  version: '3.0'
40
35
  type: :runtime
41
36
  prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: '3.0'
37
+ version_requirements: *24452420
48
38
  - !ruby/object:Gem::Dependency
49
39
  name: hashie
50
- requirement: !ruby/object:Gem::Requirement
40
+ requirement: &24452040 !ruby/object:Gem::Requirement
51
41
  none: false
52
42
  requirements:
53
43
  - - ! '>='
@@ -55,15 +45,10 @@ dependencies:
55
45
  version: '0'
56
46
  type: :runtime
57
47
  prerelease: false
58
- version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
- requirements:
61
- - - ! '>='
62
- - !ruby/object:Gem::Version
63
- version: '0'
48
+ version_requirements: *24452040
64
49
  - !ruby/object:Gem::Dependency
65
50
  name: i18n
66
- requirement: !ruby/object:Gem::Requirement
51
+ requirement: &24451580 !ruby/object:Gem::Requirement
67
52
  none: false
68
53
  requirements:
69
54
  - - ! '>='
@@ -71,15 +56,10 @@ dependencies:
71
56
  version: '0'
72
57
  type: :runtime
73
58
  prerelease: false
74
- version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
77
- - - ! '>='
78
- - !ruby/object:Gem::Version
79
- version: '0'
59
+ version_requirements: *24451580
80
60
  - !ruby/object:Gem::Dependency
81
61
  name: multi_json
82
- requirement: !ruby/object:Gem::Requirement
62
+ requirement: &24451160 !ruby/object:Gem::Requirement
83
63
  none: false
84
64
  requirements:
85
65
  - - ! '>='
@@ -87,15 +67,10 @@ dependencies:
87
67
  version: '0'
88
68
  type: :runtime
89
69
  prerelease: false
90
- version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
- requirements:
93
- - - ! '>='
94
- - !ruby/object:Gem::Version
95
- version: '0'
70
+ version_requirements: *24451160
96
71
  - !ruby/object:Gem::Dependency
97
72
  name: rspec
98
- requirement: !ruby/object:Gem::Requirement
73
+ requirement: &24450660 !ruby/object:Gem::Requirement
99
74
  none: false
100
75
  requirements:
101
76
  - - ~>
@@ -103,15 +78,10 @@ dependencies:
103
78
  version: '2.0'
104
79
  type: :development
105
80
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
- requirements:
109
- - - ~>
110
- - !ruby/object:Gem::Version
111
- version: '2.0'
81
+ version_requirements: *24450660
112
82
  - !ruby/object:Gem::Dependency
113
83
  name: fakeweb
114
- requirement: !ruby/object:Gem::Requirement
84
+ requirement: &24450160 !ruby/object:Gem::Requirement
115
85
  none: false
116
86
  requirements:
117
87
  - - ~>
@@ -119,31 +89,10 @@ dependencies:
119
89
  version: '1.3'
120
90
  type: :development
121
91
  prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
- requirements:
125
- - - ~>
126
- - !ruby/object:Gem::Version
127
- version: '1.3'
128
- - !ruby/object:Gem::Dependency
129
- name: debugger
130
- requirement: !ruby/object:Gem::Requirement
131
- none: false
132
- requirements:
133
- - - ! '>='
134
- - !ruby/object:Gem::Version
135
- version: '0'
136
- type: :development
137
- prerelease: false
138
- version_requirements: !ruby/object:Gem::Requirement
139
- none: false
140
- requirements:
141
- - - ! '>='
142
- - !ruby/object:Gem::Version
143
- version: '0'
92
+ version_requirements: *24450160
144
93
  - !ruby/object:Gem::Dependency
145
94
  name: yard
146
- requirement: !ruby/object:Gem::Requirement
95
+ requirement: &24449700 !ruby/object:Gem::Requirement
147
96
  none: false
148
97
  requirements:
149
98
  - - ~>
@@ -151,12 +100,7 @@ dependencies:
151
100
  version: '0.6'
152
101
  type: :development
153
102
  prerelease: false
154
- version_requirements: !ruby/object:Gem::Requirement
155
- none: false
156
- requirements:
157
- - - ~>
158
- - !ruby/object:Gem::Version
159
- version: '0.6'
103
+ version_requirements: *24449700
160
104
  description: ! 'Elastictastic is an object-document mapper and lightweight API adapter
161
105
  for
162
106
 
@@ -173,74 +117,74 @@ extensions: []
173
117
  extra_rdoc_files:
174
118
  - README.md
175
119
  files:
176
- - lib/elastictastic.rb
177
- - lib/elastictastic/optimistic_locking.rb
178
- - lib/elastictastic/server_error.rb
179
- - lib/elastictastic/document.rb
180
- - lib/elastictastic/nested_document.rb
181
- - lib/elastictastic/child_collection_proxy.rb
182
- - lib/elastictastic/mass_assignment_security.rb
183
- - lib/elastictastic/scope_builder.rb
184
- - lib/elastictastic/util.rb
185
- - lib/elastictastic/index.rb
186
- - lib/elastictastic/bulk_persistence_strategy.rb
187
- - lib/elastictastic/basic_document.rb
188
- - lib/elastictastic/thrift/rest.rb
189
- - lib/elastictastic/thrift/constants.rb
190
- - lib/elastictastic/thrift/types.rb
191
120
  - lib/elastictastic/multi_search.rb
192
- - lib/elastictastic/association.rb
193
- - lib/elastictastic/adapter.rb
194
- - lib/elastictastic/discrete_persistence_strategy.rb
195
- - lib/elastictastic/callbacks.rb
121
+ - lib/elastictastic/transport_methods.rb
122
+ - lib/elastictastic/basic_document.rb
196
123
  - lib/elastictastic/observer.rb
124
+ - lib/elastictastic/middleware.rb
125
+ - lib/elastictastic/child_collection_proxy.rb
126
+ - lib/elastictastic/dirty.rb
127
+ - lib/elastictastic/rotor.rb
128
+ - lib/elastictastic/errors.rb
129
+ - lib/elastictastic/scope.rb
130
+ - lib/elastictastic/discrete_persistence_strategy.rb
131
+ - lib/elastictastic/parent_child.rb
132
+ - lib/elastictastic/adapter.rb
197
133
  - lib/elastictastic/embedded_document.rb
198
- - lib/elastictastic/test_helpers.rb
199
- - lib/elastictastic/thrift_adapter.rb
200
- - lib/elastictastic/version.rb
201
- - lib/elastictastic/validations.rb
202
- - lib/elastictastic/persistence.rb
203
- - lib/elastictastic/railtie.rb
134
+ - lib/elastictastic/new_relic_instrumentation.rb
135
+ - lib/elastictastic/optimistic_locking.rb
136
+ - lib/elastictastic/callbacks.rb
137
+ - lib/elastictastic/util.rb
138
+ - lib/elastictastic/nested_document.rb
139
+ - lib/elastictastic/association.rb
204
140
  - lib/elastictastic/client.rb
141
+ - lib/elastictastic/document.rb
205
142
  - lib/elastictastic/properties.rb
206
- - lib/elastictastic/rotor.rb
143
+ - lib/elastictastic/test_helpers.rb
144
+ - lib/elastictastic/search.rb
145
+ - lib/elastictastic/thrift/types.rb
146
+ - lib/elastictastic/thrift/rest.rb
147
+ - lib/elastictastic/thrift/constants.rb
207
148
  - lib/elastictastic/multi_get.rb
208
- - lib/elastictastic/parent_child.rb
149
+ - lib/elastictastic/mass_assignment_security.rb
150
+ - lib/elastictastic/server_error.rb
151
+ - lib/elastictastic/version.rb
152
+ - lib/elastictastic/scope_builder.rb
153
+ - lib/elastictastic/persistence.rb
154
+ - lib/elastictastic/observing.rb
155
+ - lib/elastictastic/index.rb
156
+ - lib/elastictastic/validations.rb
157
+ - lib/elastictastic/bulk_persistence_strategy.rb
209
158
  - lib/elastictastic/field.rb
210
- - lib/elastictastic/scope.rb
211
159
  - lib/elastictastic/scoped.rb
212
- - lib/elastictastic/new_relic_instrumentation.rb
213
- - lib/elastictastic/search.rb
214
- - lib/elastictastic/transport_methods.rb
215
- - lib/elastictastic/middleware.rb
160
+ - lib/elastictastic/thrift_adapter.rb
161
+ - lib/elastictastic/railtie.rb
216
162
  - lib/elastictastic/configuration.rb
217
- - lib/elastictastic/dirty.rb
218
- - lib/elastictastic/errors.rb
219
- - lib/elastictastic/observing.rb
163
+ - lib/elastictastic.rb
164
+ - spec/models/photo.rb
165
+ - spec/models/post.rb
166
+ - spec/models/blog.rb
167
+ - spec/models/author.rb
168
+ - spec/models/post_observer.rb
169
+ - spec/models/comment.rb
220
170
  - spec/environment.rb
171
+ - spec/examples/callbacks_spec.rb
172
+ - spec/examples/mass_assignment_security_spec.rb
173
+ - spec/examples/rotor_spec.rb
174
+ - spec/examples/middleware_spec.rb
175
+ - spec/examples/optimistic_locking_spec.rb
176
+ - spec/examples/parent_child_spec.rb
177
+ - spec/examples/scope_spec.rb
221
178
  - spec/examples/bulk_persistence_strategy_spec.rb
222
- - spec/examples/document_spec.rb
223
179
  - spec/examples/properties_spec.rb
224
- - spec/examples/validation_spec.rb
225
- - spec/examples/optimistic_locking_spec.rb
226
- - spec/examples/middleware_spec.rb
227
- - spec/examples/mass_assignment_security_spec.rb
228
- - spec/examples/dirty_spec.rb
229
- - spec/examples/spec_helper.rb
230
180
  - spec/examples/multi_search_spec.rb
231
- - spec/examples/rotor_spec.rb
232
- - spec/examples/callbacks_spec.rb
233
181
  - spec/examples/multi_get_spec.rb
234
- - spec/examples/scope_spec.rb
235
- - spec/examples/parent_child_spec.rb
236
- - spec/examples/observing_spec.rb
237
182
  - spec/examples/search_spec.rb
238
- - spec/models/post_observer.rb
239
- - spec/models/author.rb
240
- - spec/models/blog.rb
241
- - spec/models/post.rb
242
- - spec/models/photo.rb
243
- - spec/models/comment.rb
183
+ - spec/examples/document_spec.rb
184
+ - spec/examples/dirty_spec.rb
185
+ - spec/examples/validation_spec.rb
186
+ - spec/examples/observing_spec.rb
187
+ - spec/examples/spec_helper.rb
244
188
  - spec/support/fakeweb_request_history.rb
245
189
  - README.md
246
190
  - LICENSE
@@ -266,26 +210,26 @@ required_rubygems_version: !ruby/object:Gem::Requirement
266
210
  requirements:
267
211
  - ElasticSearch
268
212
  rubyforge_project:
269
- rubygems_version: 1.8.24
213
+ rubygems_version: 1.8.15
270
214
  signing_key:
271
215
  specification_version: 3
272
216
  summary: Object-document mapper for ElasticSearch
273
217
  test_files:
218
+ - spec/examples/callbacks_spec.rb
219
+ - spec/examples/mass_assignment_security_spec.rb
220
+ - spec/examples/rotor_spec.rb
221
+ - spec/examples/middleware_spec.rb
222
+ - spec/examples/optimistic_locking_spec.rb
223
+ - spec/examples/parent_child_spec.rb
224
+ - spec/examples/scope_spec.rb
274
225
  - spec/examples/bulk_persistence_strategy_spec.rb
275
- - spec/examples/document_spec.rb
276
226
  - spec/examples/properties_spec.rb
277
- - spec/examples/validation_spec.rb
278
- - spec/examples/optimistic_locking_spec.rb
279
- - spec/examples/middleware_spec.rb
280
- - spec/examples/mass_assignment_security_spec.rb
281
- - spec/examples/dirty_spec.rb
282
- - spec/examples/spec_helper.rb
283
227
  - spec/examples/multi_search_spec.rb
284
- - spec/examples/rotor_spec.rb
285
- - spec/examples/callbacks_spec.rb
286
228
  - spec/examples/multi_get_spec.rb
287
- - spec/examples/scope_spec.rb
288
- - spec/examples/parent_child_spec.rb
289
- - spec/examples/observing_spec.rb
290
229
  - spec/examples/search_spec.rb
230
+ - spec/examples/document_spec.rb
231
+ - spec/examples/dirty_spec.rb
232
+ - spec/examples/validation_spec.rb
233
+ - spec/examples/observing_spec.rb
234
+ - spec/examples/spec_helper.rb
291
235
  has_rdoc: true