indexes 4.0.0.2 → 4.0.0.3

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 (75) hide show
  1. checksums.yaml +4 -4
  2. metadata +11 -198
  3. data/MIT-LICENSE +0 -20
  4. data/README.md +0 -265
  5. data/Rakefile +0 -19
  6. data/lib/generators/index/index_generator.rb +0 -15
  7. data/lib/generators/index/templates/index.rb +0 -12
  8. data/lib/generators/indexes/install/install_generator.rb +0 -15
  9. data/lib/generators/indexes/install/templates/initializer.rb +0 -10
  10. data/lib/indexes.rb +0 -85
  11. data/lib/indexes/collection.rb +0 -186
  12. data/lib/indexes/concern.rb +0 -23
  13. data/lib/indexes/configuration.rb +0 -39
  14. data/lib/indexes/definitions.rb +0 -24
  15. data/lib/indexes/dsl/api.rb +0 -90
  16. data/lib/indexes/dsl/mappings.rb +0 -14
  17. data/lib/indexes/dsl/search.rb +0 -27
  18. data/lib/indexes/dsl/serialization.rb +0 -17
  19. data/lib/indexes/index.rb +0 -147
  20. data/lib/indexes/pagination.rb +0 -33
  21. data/lib/indexes/proxy.rb +0 -17
  22. data/lib/indexes/railtie.rb +0 -15
  23. data/lib/indexes/version.rb +0 -5
  24. data/lib/tasks/indexes.rake +0 -11
  25. data/test/dsl_test.rb +0 -128
  26. data/test/dummy/Rakefile +0 -5
  27. data/test/dummy/app/assets/javascripts/application.js +0 -13
  28. data/test/dummy/app/assets/stylesheets/application.css +0 -15
  29. data/test/dummy/app/controllers/application_controller.rb +0 -5
  30. data/test/dummy/app/helpers/application_helper.rb +0 -2
  31. data/test/dummy/app/indexes/products_index.rb +0 -51
  32. data/test/dummy/app/indexes/shops_index.rb +0 -28
  33. data/test/dummy/app/models/product.rb +0 -5
  34. data/test/dummy/app/models/shop.rb +0 -5
  35. data/test/dummy/app/views/layouts/application.html.erb +0 -12
  36. data/test/dummy/bin/bundle +0 -4
  37. data/test/dummy/bin/rails +0 -5
  38. data/test/dummy/bin/rake +0 -5
  39. data/test/dummy/bin/setup +0 -30
  40. data/test/dummy/config.ru +0 -4
  41. data/test/dummy/config/application.rb +0 -25
  42. data/test/dummy/config/boot.rb +0 -5
  43. data/test/dummy/config/database.yml +0 -7
  44. data/test/dummy/config/database.yml.travis +0 -3
  45. data/test/dummy/config/environment.rb +0 -5
  46. data/test/dummy/config/environments/development.rb +0 -41
  47. data/test/dummy/config/environments/production.rb +0 -79
  48. data/test/dummy/config/environments/test.rb +0 -42
  49. data/test/dummy/config/initializers/assets.rb +0 -11
  50. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  51. data/test/dummy/config/initializers/cookies_serializer.rb +0 -3
  52. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  53. data/test/dummy/config/initializers/indexes.rb +0 -67
  54. data/test/dummy/config/initializers/inflections.rb +0 -16
  55. data/test/dummy/config/initializers/mime_types.rb +0 -4
  56. data/test/dummy/config/initializers/session_store.rb +0 -3
  57. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  58. data/test/dummy/config/locales/en.yml +0 -23
  59. data/test/dummy/config/routes.rb +0 -56
  60. data/test/dummy/config/secrets.yml +0 -22
  61. data/test/dummy/db/migrate/20161104164148_create_products.rb +0 -14
  62. data/test/dummy/db/migrate/20161104182219_create_shops.rb +0 -9
  63. data/test/dummy/db/schema.rb +0 -36
  64. data/test/dummy/log/development.log +0 -38
  65. data/test/dummy/log/test.log +0 -3643
  66. data/test/dummy/public/404.html +0 -61
  67. data/test/dummy/public/422.html +0 -61
  68. data/test/dummy/public/500.html +0 -60
  69. data/test/dummy/public/favicon.ico +0 -0
  70. data/test/generator_test.rb +0 -25
  71. data/test/index_test.rb +0 -46
  72. data/test/record_test.rb +0 -25
  73. data/test/search_test.rb +0 -164
  74. data/test/task_test.rb +0 -25
  75. data/test/test_helper.rb +0 -14
@@ -1,61 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>The page you were looking for doesn't exist (404)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
14
- div.dialog {
15
- width: 95%;
16
- max-width: 33em;
17
- margin: 4em auto 0;
18
- }
19
- div.dialog > div {
20
- border: 1px solid #CCC;
21
- border-right-color: #999;
22
- border-left-color: #999;
23
- border-bottom-color: #BBB;
24
- border-top: #B00100 solid 4px;
25
- border-top-left-radius: 9px;
26
- border-top-right-radius: 9px;
27
- background-color: white;
28
- padding: 7px 12% 0;
29
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
30
- }
31
- h1 {
32
- font-size: 100%;
33
- color: #730E15;
34
- line-height: 1.5em;
35
- }
36
- div.dialog > p {
37
- margin: 0 0 1em;
38
- padding: 1em;
39
- background-color: #F7F7F7;
40
- border: 1px solid #CCC;
41
- border-right-color: #999;
42
- border-left-color: #999;
43
- border-bottom-color: #999;
44
- border-bottom-left-radius: 4px;
45
- border-bottom-right-radius: 4px;
46
- border-top-color: #DADADA;
47
- color: #666;
48
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
49
- }
50
- </style>
51
- </head>
52
- <body>
53
- <div class="dialog">
54
- <div>
55
- <h1>The page you were looking for doesn't exist.</h1>
56
- <p>You may have mistyped the address or the page may have moved.</p>
57
- </div>
58
- <p>If you are the application owner check the logs for more information.</p>
59
- </div>
60
- </body>
61
- </html>
@@ -1,61 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>The change you wanted was rejected (422)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
14
- div.dialog {
15
- width: 95%;
16
- max-width: 33em;
17
- margin: 4em auto 0;
18
- }
19
- div.dialog > div {
20
- border: 1px solid #CCC;
21
- border-right-color: #999;
22
- border-left-color: #999;
23
- border-bottom-color: #BBB;
24
- border-top: #B00100 solid 4px;
25
- border-top-left-radius: 9px;
26
- border-top-right-radius: 9px;
27
- background-color: white;
28
- padding: 7px 12% 0;
29
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
30
- }
31
- h1 {
32
- font-size: 100%;
33
- color: #730E15;
34
- line-height: 1.5em;
35
- }
36
- div.dialog > p {
37
- margin: 0 0 1em;
38
- padding: 1em;
39
- background-color: #F7F7F7;
40
- border: 1px solid #CCC;
41
- border-right-color: #999;
42
- border-left-color: #999;
43
- border-bottom-color: #999;
44
- border-bottom-left-radius: 4px;
45
- border-bottom-right-radius: 4px;
46
- border-top-color: #DADADA;
47
- color: #666;
48
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
49
- }
50
- </style>
51
- </head>
52
- <body>
53
- <div class="dialog">
54
- <div>
55
- <h1>The change you wanted was rejected.</h1>
56
- <p>Maybe you tried to change something you didn't have access to.</p>
57
- </div>
58
- <p>If you are the application owner check the logs for more information.</p>
59
- </div>
60
- </body>
61
- </html>
@@ -1,60 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>We're sorry, but something went wrong (500)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
14
- div.dialog {
15
- width: 95%;
16
- max-width: 33em;
17
- margin: 4em auto 0;
18
- }
19
- div.dialog > div {
20
- border: 1px solid #CCC;
21
- border-right-color: #999;
22
- border-left-color: #999;
23
- border-bottom-color: #BBB;
24
- border-top: #B00100 solid 4px;
25
- border-top-left-radius: 9px;
26
- border-top-right-radius: 9px;
27
- background-color: white;
28
- padding: 7px 12% 0;
29
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
30
- }
31
- h1 {
32
- font-size: 100%;
33
- color: #730E15;
34
- line-height: 1.5em;
35
- }
36
- div.dialog > p {
37
- margin: 0 0 1em;
38
- padding: 1em;
39
- background-color: #F7F7F7;
40
- border: 1px solid #CCC;
41
- border-right-color: #999;
42
- border-left-color: #999;
43
- border-bottom-color: #999;
44
- border-bottom-left-radius: 4px;
45
- border-bottom-right-radius: 4px;
46
- border-top-color: #DADADA;
47
- color: #666;
48
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
49
- }
50
- </style>
51
- </head>
52
- <body>
53
- <div class="dialog">
54
- <div>
55
- <h1>We're sorry, but something went wrong.</h1>
56
- </div>
57
- <p>If you are the application owner check the logs for more information.</p>
58
- </div>
59
- </body>
60
- </html>
File without changes
@@ -1,25 +0,0 @@
1
- require 'test_helper'
2
- require 'rails/generators'
3
- require 'generators/indexes/install/install_generator'
4
- require 'generators/index/index_generator'
5
-
6
- class GeneratorTest < Rails::Generators::TestCase
7
- destination Rails.root.join('tmp')
8
-
9
- teardown do
10
- FileUtils.rm_rf destination_root
11
- end
12
-
13
- test 'install' do
14
- self.class.tests Indexes::Generators::InstallGenerator
15
- run_generator
16
- assert_file 'config/initializers/indexes.rb'
17
- end
18
-
19
- test 'index' do
20
- self.class.tests Indexes::Generators::IndexGenerator
21
- run_generator %w(products)
22
- assert_file 'app/indexes/products_index.rb'
23
- end
24
-
25
- end
@@ -1,46 +0,0 @@
1
- require 'test_helper'
2
-
3
- class IndexTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- Indexes.build
7
- end
8
-
9
- teardown do
10
- Indexes.destroy
11
- end
12
-
13
- test 'namespace' do
14
- assert_equal 'dummy_test', Indexes.namespace
15
- end
16
-
17
- test 'find' do
18
- assert Indexes.definitions.find(:products)
19
- end
20
-
21
- test 'exist' do
22
- assert Indexes.exist?(:products)
23
- end
24
-
25
- test 'suggest' do
26
- shop = Shop.create
27
- ['Les Paul', 'Stratocaster'].each do |name|
28
- product = shop.products.create(name: name)
29
- product.run_callbacks :commit
30
- end
31
- sleep 2
32
-
33
- assert_equal [], suggest('', shop)
34
- assert_equal ['Les Paul'], suggest('les', shop)
35
- assert_equal ['Stratocaster'], suggest('str', shop)
36
- end
37
-
38
- private
39
-
40
- def suggest(term, shop)
41
- Indexes.suggest(:products, term, shop: shop).map do |suggestion|
42
- suggestion[:text]
43
- end
44
- end
45
-
46
- end
@@ -1,25 +0,0 @@
1
- require 'test_helper'
2
-
3
- class RecordTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- Indexes.build
7
- end
8
-
9
- teardown do
10
- Indexes.destroy
11
- end
12
-
13
- test 'indexing' do
14
- shop = Shop.create(name: 'Anderstons')
15
- product = shop.products.create(name: 'Les Paul', category: 'Gibson')
16
- product.run_callbacks :commit
17
- sleep 2
18
-
19
- assert_equal 1, Product.search.count
20
- product.destroy
21
- product.run_callbacks :commit
22
- assert_equal 0, Product.search.count
23
- end
24
-
25
- end
@@ -1,164 +0,0 @@
1
- require 'test_helper'
2
-
3
- class SearchTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- Indexes.build
7
- end
8
-
9
- teardown do
10
- Indexes.destroy
11
- end
12
-
13
- test 'order' do
14
- shop = Shop.create
15
- shop.run_callbacks :commit
16
- (1..3).step do |id|
17
- product = shop.products.create(
18
- id: id,
19
- name: id,
20
- price: id,
21
- position: id,
22
- currency: 'UYU'
23
- )
24
- product.run_callbacks :commit
25
- product
26
- end
27
- sleep 2
28
-
29
- assert_equal [1, 2, 3], Product.search.order(id: :asc).map(&:id)
30
- assert_equal [3, 2, 1], Product.search.order(id: :desc).map(&:id)
31
-
32
- assert_equal [1, 2, 3], Product.search.order(name: :asc).map(&:id)
33
- assert_equal [3, 2, 1], Product.search.order(name: :desc).map(&:id)
34
-
35
- assert_equal [1, 2, 3], Product.search.order(price: :asc).map(&:id)
36
- assert_equal [3, 2, 1], Product.search.order(price: :desc).map(&:id)
37
-
38
- assert_equal [3, 2, 1], Product.search.order(position: :asc).map(&:id)
39
- assert_equal [3, 2, 1], Product.search.order(position: :desc).map(&:id)
40
- end
41
-
42
- test 'with and without' do
43
- (1..3).step do |id|
44
- shop = Shop.create(id: id)
45
- shop.run_callbacks :commit
46
- end
47
- Shop.create id: 4
48
- sleep 2
49
-
50
- assert_equal [4, 3], Shop.search.with(4).page(1, length: 2).map(&:id)
51
- assert_equal [2, 1], Shop.search.without(3).map(&:id)
52
- end
53
-
54
- test 'includes' do
55
- shop = Shop.create
56
- product = shop.products.create(name: 'Test')
57
- product.run_callbacks :commit
58
- sleep 2
59
-
60
- product = Product.search.includes(:shop).first
61
- Shop.expects(:connection).never
62
- assert_equal shop, product.shop
63
- end
64
-
65
- test 'pagination' do
66
- (1..5).step do |id|
67
- shop = Shop.create(id: id)
68
- shop.run_callbacks :commit
69
- end
70
- sleep 2
71
-
72
- collection = Shop.search.page(1, length: 2)
73
- assert_equal 1, collection.first_page
74
- assert_equal 3, collection.last_page
75
- assert_equal 3, collection.total_pages
76
- assert_equal 5, collection.total_count
77
- assert_equal 1, collection.current_page
78
- assert_equal 2, collection.page_length
79
- assert_equal 0, collection.padding
80
- assert_nil collection.previous_page
81
- assert_equal 2, collection.next_page
82
- assert_not collection.out_of_bounds?
83
- assert_equal [5, 4], collection.map(&:id)
84
-
85
- collection = Shop.search.page(2, length: 2)
86
- assert_equal 1, collection.first_page
87
- assert_equal 3, collection.last_page
88
- assert_equal 3, collection.total_pages
89
- assert_equal 5, collection.total_count
90
- assert_equal 2, collection.current_page
91
- assert_equal 2, collection.page_length
92
- assert_equal 0, collection.padding
93
- assert_equal 1, collection.previous_page
94
- assert_equal 3, collection.next_page
95
- assert_not collection.out_of_bounds?
96
- assert_equal [3, 2], collection.map(&:id)
97
-
98
- collection = Shop.search.page(3, length: 2)
99
- assert_equal 1, collection.first_page
100
- assert_equal 3, collection.last_page
101
- assert_equal 3, collection.total_pages
102
- assert_equal 5, collection.total_count
103
- assert_equal 3, collection.current_page
104
- assert_equal 2, collection.page_length
105
- assert_equal 0, collection.padding
106
- assert_equal 2, collection.previous_page
107
- assert_nil collection.next_page
108
- assert_not collection.out_of_bounds?
109
- assert_equal [1], collection.map(&:id)
110
-
111
- collection = Shop.search.page(4, length: 2)
112
- assert_equal 1, collection.first_page
113
- assert_equal 3, collection.last_page
114
- assert_equal 3, collection.total_pages
115
- assert_equal 5, collection.total_count
116
- assert_equal 4, collection.current_page
117
- assert_equal 2, collection.page_length
118
- assert_equal 0, collection.padding
119
- assert_equal 3, collection.previous_page
120
- assert_nil collection.next_page
121
- assert collection.out_of_bounds?
122
- assert_equal [], collection.to_a
123
-
124
- collection = Shop.search.page(1, length: 2, padding: 2)
125
- assert_equal 1, collection.first_page
126
- assert_equal 2, collection.last_page
127
- assert_equal 2, collection.total_pages
128
- assert_equal 3, collection.total_count
129
- assert_equal 1, collection.current_page
130
- assert_equal 2, collection.page_length
131
- assert_equal 2, collection.padding
132
- assert_nil collection.previous_page
133
- assert_equal 2, collection.next_page
134
- assert_not collection.out_of_bounds?
135
- assert_equal [3, 2], collection.map(&:id)
136
-
137
- collection = Shop.search.page(2, length: 2, padding: 2)
138
- assert_equal 1, collection.first_page
139
- assert_equal 2, collection.last_page
140
- assert_equal 2, collection.total_pages
141
- assert_equal 3, collection.total_count
142
- assert_equal 2, collection.current_page
143
- assert_equal 2, collection.page_length
144
- assert_equal 2, collection.padding
145
- assert_equal 1, collection.previous_page
146
- assert_nil collection.next_page
147
- assert_not collection.out_of_bounds?
148
- assert_equal [1], collection.map(&:id)
149
-
150
- collection = Shop.search.page(3, length: 2, padding: 2)
151
- assert_equal 1, collection.first_page
152
- assert_equal 2, collection.last_page
153
- assert_equal 2, collection.total_pages
154
- assert_equal 3, collection.total_count
155
- assert_equal 3, collection.current_page
156
- assert_equal 2, collection.page_length
157
- assert_equal 2, collection.padding
158
- assert_equal 2, collection.previous_page
159
- assert_nil collection.next_page
160
- assert collection.out_of_bounds?
161
- assert_equal [], collection.to_a
162
- end
163
-
164
- end