indexes 4.0.0.2 → 4.0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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