elastic_record 1.1.8 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,56 +0,0 @@
1
- class ElasticSearchCounter
2
- class << self
3
- attr_accessor :ignored_elastic, :log, :log_all
4
- def clear_log; self.log = []; self.log_all = []; end
5
- end
6
-
7
- self.clear_log
8
-
9
- self.ignored_elastic = []
10
-
11
- elastic_search_ignored = []
12
-
13
- [elastic_search_ignored].each do |db_ignored_elastic|
14
- ignored_elastic.concat db_ignored_elastic
15
- end
16
-
17
- attr_reader :ignore
18
-
19
- def initialize(ignore = Regexp.union(self.class.ignored_elastic))
20
- @ignore = ignore
21
- end
22
-
23
- def call(name, start, finish, message_id, values)
24
- self.class.log_all << values
25
- self.class.log << values unless ignore =~ values[:request].path
26
- end
27
- end
28
-
29
- ActiveSupport::Notifications.subscribe('request.elastic_record', ElasticSearchCounter.new)
30
-
31
- module MiniTest
32
- class Unit
33
- class TestCase
34
- def assert_queries(num = 1, options = {})
35
- ignore_none = options.fetch(:ignore_none) { num == :any }
36
- ElasticSearchCounter.clear_log
37
- x = yield
38
- the_log = ignore_none ? ElasticSearchCounter.log_all : ElasticSearchCounter.log
39
- if num == :any
40
- assert_operator the_log.size, :>=, 1, "1 or more queries expected, but none were executed."
41
- else
42
- queries = the_log.map { |event| " #{event[:request].method} #{event[:request].path} #{event[:request].body}\n" }.join("\n")
43
-
44
- mesg = "#{the_log.size} instead of #{num} queries were executed.#{the_log.size == 0 ? '' : "\nQueries:\n#{queries}"}"
45
- assert_equal num, the_log.size, mesg
46
- end
47
-
48
- x
49
- end
50
-
51
- def assert_no_queries(&block)
52
- assert_queries(0, :ignore_none => true, &block)
53
- end
54
- end
55
- end
56
- end