elastic_record 1.1.8 → 1.2.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -1
  3. data/Gemfile +3 -1
  4. data/elastic_record.gemspec +1 -1
  5. data/lib/elastic_record/callbacks.rb +2 -0
  6. data/lib/elastic_record/connection.rb +5 -9
  7. data/lib/elastic_record/index/mapping.rb +2 -2
  8. data/lib/elastic_record/model.rb +1 -1
  9. data/lib/elastic_record/relation/search_methods.rb +0 -9
  10. data/lib/elastic_record/relation/value_methods.rb +1 -1
  11. data/lib/elastic_record/relation.rb +7 -26
  12. data/lib/elastic_record.rb +0 -1
  13. data/test/elastic_record/config_test.rb +1 -1
  14. data/test/elastic_record/connection_test.rb +2 -2
  15. data/test/elastic_record/index/mapping_test.rb +11 -1
  16. data/test/elastic_record/integration/active_record_test.rb +62 -25
  17. data/test/elastic_record/relation_test.rb +0 -47
  18. data/test/helper.rb +1 -7
  19. data/test/support/models/test_model.rb +1 -19
  20. data/test/support/models/warehouse.rb +0 -1
  21. data/test/support/models/widget.rb +0 -2
  22. metadata +11 -24
  23. data/lib/elastic_record/searches_many/association.rb +0 -149
  24. data/lib/elastic_record/searches_many/autosave.rb +0 -72
  25. data/lib/elastic_record/searches_many/builder.rb +0 -42
  26. data/lib/elastic_record/searches_many/collection_proxy.rb +0 -26
  27. data/lib/elastic_record/searches_many/reflection.rb +0 -45
  28. data/lib/elastic_record/searches_many.rb +0 -100
  29. data/test/elastic_record/searches_many/association_test.rb +0 -47
  30. data/test/elastic_record/searches_many/autosave_test.rb +0 -32
  31. data/test/elastic_record/searches_many/collection_proxy_test.rb +0 -23
  32. data/test/elastic_record/searches_many/reflection_test.rb +0 -33
  33. data/test/elastic_record/searches_many_test.rb +0 -76
  34. data/test/support/models/option.rb +0 -24
  35. data/test/support/query_counter.rb +0 -56
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51cb1409dc9723d93f90460254076361b76d06d9
4
- data.tar.gz: 04cc38fec1620e2f2858758d8a8b6c9c34fd619d
3
+ metadata.gz: 87cc4a4cf72e33d968d2d7ffaa9a28eab62e3bfb
4
+ data.tar.gz: ca646f6157b72b51cd77c0886c71bc935418e456
5
5
  SHA512:
6
- metadata.gz: fe950144e596ed58fbd5cd3944d4a25868ddae217e84ed61bcd319a259a63eab201ca2d3e19caee798c609dbf21277ff149fb56368ab7289636d9228e38570a3
7
- data.tar.gz: 4908924df6ed4e420dd9dbba400b9155f2557020d8e91b24a549c16b07afd78bf1685942f6cf00bca3e83eb7996a7c5278687541a6ea5d281a9ebd75ece210ca
6
+ metadata.gz: d64bd38ead974d0e42b65b1fa472779661f0a48f3e9c7aea831228f87655cf1c3e63f1b1277fc69df3c806cd5ca6c5491debba14029c64e99d125c5a0887d1ea
7
+ data.tar.gz: bed6b22da214f2aadccb6f01a7a39afe02ce3faf8bd0da29348d03562f9769b5daff9b0e7b95f69f875338467fe7617e8ae2d4132efeeb651ee6ab24d32bf855
data/.travis.yml CHANGED
@@ -1,4 +1,7 @@
1
1
  services:
2
2
  - elasticsearch
3
3
  rvm:
4
- - 2.0.0
4
+ - 2.0.0
5
+ env:
6
+ - "GEM=ar:mysql2"
7
+ - "GEM=ar:postgresql"
data/Gemfile CHANGED
@@ -3,6 +3,8 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  gem 'activerecord'
6
- gem 'mysql2'
7
6
  gem 'fakeweb'
8
7
  gem 'rake'
8
+
9
+ gem 'mysql2'
10
+ gem 'pg'
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'elastic_record'
5
- s.version = '1.1.8'
5
+ s.version = '1.2.1'
6
6
  s.summary = 'Use Elastic Search with your objects'
7
7
  s.description = 'Find your records with elastic search'
8
8
 
@@ -1,6 +1,8 @@
1
1
  module ElasticRecord
2
2
  module Callbacks
3
3
  def self.included(base)
4
+ return unless base.respond_to?(:after_save) && base.respond_to?(:after_destroy)
5
+
4
6
  base.class_eval do
5
7
  after_save if: :changed? do
6
8
  self.class.elastic_index.index_record self
@@ -7,11 +7,7 @@ module ElasticRecord
7
7
  attr_accessor :max_request_count
8
8
  attr_accessor :bulk_stack
9
9
  def initialize(servers, options = {})
10
- if servers.is_a?(Array)
11
- self.servers = servers
12
- else
13
- self.servers = servers.split(',')
14
- end
10
+ self.servers = Array(servers)
15
11
 
16
12
  self.current_server = next_server
17
13
  self.request_count = 0
@@ -51,10 +47,10 @@ module ElasticRecord
51
47
  end
52
48
 
53
49
  METHODS = {
54
- head: Net::HTTP::Head,
55
- get: Net::HTTP::Get,
56
- post: Net::HTTP::Post,
57
- put: Net::HTTP::Put,
50
+ head: Net::HTTP::Head,
51
+ get: Net::HTTP::Get,
52
+ post: Net::HTTP::Post,
53
+ put: Net::HTTP::Put,
58
54
  delete: Net::HTTP::Delete
59
55
  }
60
56
 
@@ -1,8 +1,8 @@
1
1
  module ElasticRecord
2
2
  class Index
3
3
  module Mapping
4
- def mapping=(mapping)
5
- mapping.deep_merge!(mapping)
4
+ def mapping=(custom_mapping)
5
+ mapping.deep_merge!(custom_mapping)
6
6
  end
7
7
 
8
8
  def update_mapping(index_name = alias_name)
@@ -4,7 +4,7 @@ module ElasticRecord
4
4
  base.class_eval do
5
5
  extend Searching
6
6
  extend ClassMethods
7
- include SearchesMany
7
+ include Callbacks
8
8
 
9
9
  class_attribute :elastic_connection
10
10
  self.elastic_connection = ElasticRecord::Connection.new(ElasticRecord::Config.servers, ElasticRecord::Config.connection_options)
@@ -47,15 +47,6 @@ module ElasticRecord
47
47
  filter(*args).first!
48
48
  end
49
49
 
50
- def eager_load!(*args)
51
- self.eager_load_values += args.flatten
52
- self
53
- end
54
-
55
- def eager_load(*args)
56
- clone.eager_load! *args
57
- end
58
-
59
50
  def limit!(value)
60
51
  self.limit_value = value
61
52
  self
@@ -1,6 +1,6 @@
1
1
  module ElasticRecord
2
2
  class Relation
3
- MULTI_VALUE_METHODS = [:extending, :facet, :filter, :order, :select, :eager_load]
3
+ MULTI_VALUE_METHODS = [:extending, :facet, :filter, :order, :select]
4
4
  SINGLE_VALUE_METHODS = [:query, :limit, :offset, :reverse_order]
5
5
  end
6
6
  end
@@ -35,16 +35,8 @@ module ElasticRecord
35
35
  reset
36
36
  end
37
37
 
38
- def eager_loading?
39
- @should_eager_load ||= eager_load_values.any?
40
- end
41
-
42
38
  def to_a
43
- @records ||= begin
44
- records = load_hits(to_ids)
45
- eager_load_associations(records) if eager_loading?
46
- records
47
- end
39
+ @records ||= load_hits(to_ids)
48
40
  end
49
41
 
50
42
  def to_ids
@@ -69,7 +61,6 @@ module ElasticRecord
69
61
  private
70
62
  def reset
71
63
  @search_results = @records = nil
72
- @should_eager_load = nil
73
64
  end
74
65
 
75
66
  def search_hits
@@ -83,24 +74,14 @@ module ElasticRecord
83
74
  def load_hits(ids)
84
75
  scope = select_values.any? ? klass.select(select_values) : klass
85
76
  if defined?(ActiveRecord::Base) && klass < ActiveRecord::Base
86
- scope = scope.order("FIELD(#{connection.quote_column_name(primary_key)}, #{ids.join(',')})")
87
- end
88
- scope.find(ids)
89
- end
90
-
91
- def eager_load_associations(records)
92
- records = records.reject(&:marked_for_destruction?)
93
- ids = records.map(&:id)
94
- eager_load_values.each do |to_load|
95
- reflection = klass.searches_many_reflections[to_load] ||(raise "searches_many #{to_load} does not exist on #{klass}")
96
- foreign_key = reflection.foreign_key.to_sym
97
- grouped_children = reflection.klass.elastic_search.filter(foreign_key => ids).limit(1000000).group_by(&foreign_key)
98
- records.each do |record|
99
- children = grouped_children.fetch(record.id, [])
100
- record.send(to_load).eager_loaded(children)
77
+ case klass.connection.adapter_name
78
+ when /Mysql/
79
+ scope = scope.order("FIELD(#{connection.quote_column_name(primary_key)}, #{ids.join(',')})")
80
+ when /Pos/
81
+ scope = scope.order(ids.map { |id| "ID=#{connection.quote(id)} DESC" }.join(','))
101
82
  end
102
83
  end
103
- records
84
+ scope.find(ids)
104
85
  end
105
86
  end
106
87
  end
@@ -11,7 +11,6 @@ module ElasticRecord
11
11
  autoload :Lucene, 'elastic_record/lucene'
12
12
  autoload :Model, 'elastic_record/model'
13
13
  autoload :Relation, 'elastic_record/relation'
14
- autoload :SearchesMany, 'elastic_record/searches_many'
15
14
  autoload :Searching, 'elastic_record/searching'
16
15
 
17
16
  class << self
@@ -8,6 +8,6 @@ class ElasticRecord::ConfigTest < MiniTest::Unit::TestCase
8
8
  def test_models
9
9
  ElasticRecord::Config.model_names = %w(Widget)
10
10
 
11
- assert_equal [Warehouse, Widget, Option], ElasticRecord::Config.models
11
+ assert_equal [Warehouse, Widget], ElasticRecord::Config.models
12
12
  end
13
13
  end
@@ -2,7 +2,7 @@ require 'helper'
2
2
 
3
3
  class ElasticRecord::ConnectionTest < MiniTest::Unit::TestCase
4
4
  def test_servers
5
- assert_equal ['foo', 'bar'], ElasticRecord::Connection.new('foo,bar').servers
5
+ assert_equal ['foo'], ElasticRecord::Connection.new('foo').servers
6
6
  assert_equal ['foo', 'bar'], ElasticRecord::Connection.new(['foo', 'bar']).servers
7
7
  end
8
8
 
@@ -43,7 +43,7 @@ class ElasticRecord::ConnectionTest < MiniTest::Unit::TestCase
43
43
 
44
44
  ElasticRecord::Connection.new(ElasticRecord::Config.servers, retries: 0).tap do |connection|
45
45
  FakeWeb.register_uri :get, %r[/error], responses
46
- assert_raises(Errno::ECONNREFUSED) { connection.json_get("/error") }
46
+ assert_raises(Errno::ECONNREFUSED) { connection.json_get("/error") }
47
47
  end
48
48
 
49
49
  ElasticRecord::Connection.new(ElasticRecord::Config.servers, retries: 1).tap do |connection|
@@ -6,7 +6,7 @@ class ElasticRecord::Index::MappingTest < MiniTest::Unit::TestCase
6
6
  index.get_mapping(index_name)
7
7
 
8
8
  index.delete_mapping(index_name)
9
-
9
+
10
10
  assert_raises ElasticRecord::ConnectionError do
11
11
  index.get_mapping(index_name)
12
12
  end
@@ -19,6 +19,16 @@ class ElasticRecord::Index::MappingTest < MiniTest::Unit::TestCase
19
19
  refute_nil mapping[:properties]
20
20
  end
21
21
 
22
+ def test_merge_mapping
23
+ index.mapping.clear
24
+ index.mapping[:properties] = {color: {type: 'string'}}
25
+
26
+ custom = {properties: {color: {type: 'integer'}}, other: 'stuff'}
27
+ index.mapping = custom
28
+
29
+ assert_equal custom, index.mapping
30
+ end
31
+
22
32
  private
23
33
  def index
24
34
  @index ||= ElasticRecord::Index.new(Widget)
@@ -1,45 +1,82 @@
1
1
  require 'helper'
2
2
 
3
3
  require 'active_record'
4
- require 'mysql2'
5
-
6
- ActiveSupport.on_load :active_record do
7
- ActiveRecord::Base.establish_connection(
8
- adapter: 'mysql2',
9
- host: "localhost",
10
- database: "elastic_record_test",
11
- username: "root"
12
- )
13
4
 
14
- `mysqladmin -u root -f drop elastic_record_test`
15
- `mysqladmin -u root create elastic_record_test`
16
-
17
- ActiveRecord::Migration.create_table :projects do |t|
18
- t.string :name, null: false
19
- end
20
- end
5
+ require 'mysql2'
6
+ require 'pg'
21
7
 
22
8
  class Project < ActiveRecord::Base
23
9
  include ElasticRecord::Model
24
- include ElasticRecord::Callbacks
25
10
 
26
11
  self.elastic_index.mapping[:properties].update(
27
12
  name: { type: 'string', index: 'not_analyzed' }
28
13
  )
29
14
  end
30
15
 
31
- class ElasticRecord::ActiveRecordTest < MiniTest::Unit::TestCase
16
+ module ElasticRecord
17
+ module ActiveRecordIntegration
18
+ def setup_project_database(config)
19
+ ActiveRecord::Tasks::DatabaseTasks.drop config
20
+ ActiveRecord::Tasks::DatabaseTasks.create config
21
+ ActiveRecord::Base.establish_connection config
22
+
23
+ quietly do
24
+ ActiveRecord::Migration.create_table :projects do |t|
25
+ t.string :name, null: false
26
+ end
27
+ end
28
+
29
+ Project.elastic_index.create_and_deploy if Project.elastic_index.all_names.empty?
30
+ end
31
+
32
+ def test_ordering
33
+ poo_product = Project.create! name: "Poo"
34
+ bear_product = Project.create! name: "Bear"
35
+ Project.elastic_index.refresh
36
+
37
+ assert_equal [bear_product, poo_product], Project.elastic_relation.order(name: 'asc')
38
+ assert_equal [poo_product, bear_product], Project.elastic_relation.order(name: 'desc')
39
+ end
40
+
41
+ def test_update_callback
42
+ project = Project.create! name: "Ideas"
43
+ Project.elastic_index.refresh
44
+ project.update! name: 'Terrible Stuff'
45
+ Project.elastic_index.refresh
46
+
47
+ assert_equal [project], Project.elastic_relation.filter(name: 'Terrible Stuff')
48
+ end
49
+ end
50
+ end
51
+
52
+ class ElasticRecord::Mysql2Test < MiniTest::Unit::TestCase
53
+ include ElasticRecord::ActiveRecordIntegration
54
+
32
55
  def setup
33
56
  super
34
- Project.elastic_index.create_and_deploy if Project.elastic_index.all_names.empty?
57
+
58
+ setup_project_database(
59
+ 'adapter' => 'mysql2',
60
+ 'host' => "localhost",
61
+ 'database' => 'elastic_record_test',
62
+ 'username' => 'root'
63
+ )
35
64
  end
65
+ end
66
+
67
+ class ElasticRecord::PostgresqlTest < MiniTest::Unit::TestCase
68
+ include ElasticRecord::ActiveRecordIntegration
36
69
 
37
- def test_ordering
38
- poo_product = Project.create! name: "Poo"
39
- bear_product = Project.create! name: "Bear"
40
- Project.elastic_index.refresh
70
+ def setup
71
+ super
41
72
 
42
- assert_equal [bear_product, poo_product], Project.elastic_relation.order(name: 'asc')
43
- assert_equal [poo_product, bear_product], Project.elastic_relation.order(name: 'desc')
73
+ setup_project_database(
74
+ 'adapter' => 'postgresql',
75
+ 'encoding' => 'unicode',
76
+ 'database' => 'content_system_development',
77
+ 'pool' => 5,
78
+ 'username' => 'postgres',
79
+ 'password' => ''
80
+ )
44
81
  end
45
82
  end
@@ -25,53 +25,6 @@ class ElasticRecord::RelationTest < MiniTest::Unit::TestCase
25
25
  # assert Widget.elastic_relation.search_results.is_a?(ElasticSearch::Api::Hits)
26
26
  end
27
27
 
28
- def test_eager_loading?
29
- assert Widget.elastic_relation.eager_load(:options).eager_loading?
30
- end
31
-
32
- def test_eager_loading_is_not_default
33
- assert !Widget.elastic_relation.eager_loading?
34
- end
35
-
36
- def test_eager_load_on_collection_proxy
37
-
38
- warehouse = Warehouse.new
39
- widget = Widget.new(warehouse_id: warehouse.id)
40
- Widget.elastic_index.bulk_add [ widget ]
41
-
42
- Option.elastic_index.bulk_add [
43
- Option.new(id: 5, widget_id: widget.id),
44
- Option.new(id: 10, widget_id: widget.id),
45
- ]
46
-
47
- widgets = warehouse.widgets.eager_load(:options)
48
- widgets = widgets.to_a
49
-
50
- assert_no_queries do
51
- assert_equal ["5", "10"].to_set, widgets.first.options.map(&:id).to_set
52
- end
53
-
54
- end
55
-
56
- def test_eager_load_on_relation
57
-
58
- widget = Widget.new
59
- Widget.elastic_index.bulk_add [ widget ]
60
-
61
- Option.elastic_index.bulk_add [
62
- Option.new(id: 5, widget_id: widget.id),
63
- Option.new(id: 10, widget_id: widget.id),
64
- ]
65
-
66
- widgets = Widget.elastic_relation.eager_load(:options)
67
- widgets = widgets.to_a
68
-
69
- assert_no_queries do
70
- assert_equal ["5", "10"].to_set, widgets.first.options.map(&:id).to_set
71
- end
72
-
73
- end
74
-
75
28
  def test_to_ids
76
29
  create_widgets [Widget.new(id: 5, color: 'red'), Widget.new(id: 10, color: 'blue')]
77
30
 
data/test/helper.rb CHANGED
@@ -4,14 +4,11 @@ Bundler.require
4
4
  require 'minitest/autorun'
5
5
 
6
6
  require 'support/connect'
7
- require 'support/query_counter'
8
7
  require 'support/models/test_model'
9
8
  require 'support/models/warehouse'
10
9
  require 'support/models/widget'
11
- require 'support/models/option'
12
- require 'pp'
13
10
 
14
- ElasticRecord::Config.model_names = %w(Warehouse Widget Option)
11
+ ElasticRecord::Config.model_names = %w(Warehouse Widget)
15
12
 
16
13
  FakeWeb.allow_net_connect = %r[^https?://127.0.0.1]
17
14
 
@@ -19,9 +16,6 @@ module MiniTest
19
16
  class Unit
20
17
  class TestCase
21
18
  def setup
22
- Widget._test_cache.clear
23
- Option._test_cache.clear
24
-
25
19
  FakeWeb.clean_registry
26
20
 
27
21
  ElasticRecord::Config.models.each do |model|
@@ -10,25 +10,11 @@ module TestModel
10
10
  include ActiveModel::Validations
11
11
 
12
12
  include ElasticRecord::Model
13
- include ElasticRecord::Callbacks
14
-
15
13
  end
16
14
 
17
15
  module ClassMethods
18
-
19
- def _test_cache
20
- @_test_cache ||= []
21
- end
22
-
23
- def load_elastic_record_hits(*args)
24
- find(*args)
25
- end
26
-
27
16
  def find(ids)
28
- ids.map do |id|
29
- record = _test_cache.detect { |m| m.id.to_s == id.to_s }
30
- record.nil? ? new(id: id, color: 'red') : record.clone
31
- end
17
+ ids.map { |id| new(id: id) }
32
18
  end
33
19
 
34
20
  def primary_key
@@ -67,10 +53,6 @@ module TestModel
67
53
 
68
54
  def initialize(attrs = {})
69
55
  self.attributes = attrs
70
- cloned = self.clone
71
- cloned.id = cloned.id.to_s
72
- self.class._test_cache.delete_if { |record| record.id == cloned.id }
73
- self.class._test_cache << cloned
74
56
  end
75
57
 
76
58
  def attributes=(attrs)
@@ -2,5 +2,4 @@ class Warehouse
2
2
  include TestModel
3
3
 
4
4
  define_attributes [:name]
5
- searches_many :widgets, :autosave => true
6
5
  end
@@ -5,8 +5,6 @@ class Widget
5
5
 
6
6
  define_attributes [:name, :color, :warehouse_id]
7
7
 
8
- searches_many :options
9
-
10
8
  self.elastic_index.mapping[:properties].update(
11
9
  name: {
12
10
  type: 'multi_field',
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infogroup
@@ -9,34 +9,34 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-17 00:00:00.000000000 Z
12
+ date: 2014-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: arelastic
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: 0.4.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: 0.4.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: activemodel
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  description: Find your records with elastic search
@@ -46,8 +46,8 @@ extensions: []
46
46
  extra_rdoc_files:
47
47
  - README.rdoc
48
48
  files:
49
- - .gitignore
50
- - .travis.yml
49
+ - ".gitignore"
50
+ - ".travis.yml"
51
51
  - Gemfile
52
52
  - LICENSE
53
53
  - README.rdoc
@@ -81,12 +81,6 @@ files:
81
81
  - lib/elastic_record/relation/none.rb
82
82
  - lib/elastic_record/relation/search_methods.rb
83
83
  - lib/elastic_record/relation/value_methods.rb
84
- - lib/elastic_record/searches_many.rb
85
- - lib/elastic_record/searches_many/association.rb
86
- - lib/elastic_record/searches_many/autosave.rb
87
- - lib/elastic_record/searches_many/builder.rb
88
- - lib/elastic_record/searches_many/collection_proxy.rb
89
- - lib/elastic_record/searches_many/reflection.rb
90
84
  - lib/elastic_record/searching.rb
91
85
  - lib/elastic_record/tasks/index.rake
92
86
  - test/elastic_record/callbacks_test.rb
@@ -113,19 +107,12 @@ files:
113
107
  - test/elastic_record/relation/none_test.rb
114
108
  - test/elastic_record/relation/search_methods_test.rb
115
109
  - test/elastic_record/relation_test.rb
116
- - test/elastic_record/searches_many/association_test.rb
117
- - test/elastic_record/searches_many/autosave_test.rb
118
- - test/elastic_record/searches_many/collection_proxy_test.rb
119
- - test/elastic_record/searches_many/reflection_test.rb
120
- - test/elastic_record/searches_many_test.rb
121
110
  - test/elastic_record/searching_test.rb
122
111
  - test/helper.rb
123
112
  - test/support/connect.rb
124
- - test/support/models/option.rb
125
113
  - test/support/models/test_model.rb
126
114
  - test/support/models/warehouse.rb
127
115
  - test/support/models/widget.rb
128
- - test/support/query_counter.rb
129
116
  homepage: http://github.com/data-axle/elastic_record
130
117
  licenses:
131
118
  - MIT
@@ -136,17 +123,17 @@ require_paths:
136
123
  - lib
137
124
  required_ruby_version: !ruby/object:Gem::Requirement
138
125
  requirements:
139
- - - '>='
126
+ - - ">="
140
127
  - !ruby/object:Gem::Version
141
128
  version: 1.9.3
142
129
  required_rubygems_version: !ruby/object:Gem::Requirement
143
130
  requirements:
144
- - - '>='
131
+ - - ">="
145
132
  - !ruby/object:Gem::Version
146
133
  version: 1.8.11
147
134
  requirements: []
148
135
  rubyforge_project:
149
- rubygems_version: 2.0.3
136
+ rubygems_version: 2.2.1
150
137
  signing_key:
151
138
  specification_version: 4
152
139
  summary: Use Elastic Search with your objects