yc-algoliasearch-rails 2.1.4
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.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/.rspec +1 -0
- data/CHANGELOG.MD +566 -0
- data/Gemfile +38 -0
- data/Gemfile.lock +213 -0
- data/LICENSE +21 -0
- data/README.md +1171 -0
- data/Rakefile +17 -0
- data/algoliasearch-rails.gemspec +95 -0
- data/lib/algoliasearch/algolia_job.rb +9 -0
- data/lib/algoliasearch/configuration.rb +30 -0
- data/lib/algoliasearch/pagination/kaminari.rb +40 -0
- data/lib/algoliasearch/pagination/will_paginate.rb +15 -0
- data/lib/algoliasearch/pagination.rb +19 -0
- data/lib/algoliasearch/railtie.rb +11 -0
- data/lib/algoliasearch/tasks/algoliasearch.rake +19 -0
- data/lib/algoliasearch/utilities.rb +48 -0
- data/lib/algoliasearch/version.rb +3 -0
- data/lib/algoliasearch-rails.rb +1083 -0
- data/spec/spec_helper.rb +52 -0
- data/spec/utilities_spec.rb +30 -0
- data/vendor/assets/javascripts/algolia/algoliasearch.angular.js +2678 -0
- data/vendor/assets/javascripts/algolia/algoliasearch.angular.min.js +7 -0
- data/vendor/assets/javascripts/algolia/algoliasearch.jquery.js +2678 -0
- data/vendor/assets/javascripts/algolia/algoliasearch.jquery.min.js +7 -0
- data/vendor/assets/javascripts/algolia/algoliasearch.js +2663 -0
- data/vendor/assets/javascripts/algolia/algoliasearch.min.js +7 -0
- data/vendor/assets/javascripts/algolia/bloodhound.js +727 -0
- data/vendor/assets/javascripts/algolia/bloodhound.min.js +7 -0
- data/vendor/assets/javascripts/algolia/typeahead.bundle.js +1782 -0
- data/vendor/assets/javascripts/algolia/typeahead.bundle.min.js +7 -0
- data/vendor/assets/javascripts/algolia/typeahead.jquery.js +1184 -0
- data/vendor/assets/javascripts/algolia/typeahead.jquery.min.js +7 -0
- data/vendor/assets/javascripts/algolia/v2/algoliasearch.angular.js +2678 -0
- data/vendor/assets/javascripts/algolia/v2/algoliasearch.angular.min.js +7 -0
- data/vendor/assets/javascripts/algolia/v2/algoliasearch.jquery.js +2678 -0
- data/vendor/assets/javascripts/algolia/v2/algoliasearch.jquery.min.js +7 -0
- data/vendor/assets/javascripts/algolia/v2/algoliasearch.js +2663 -0
- data/vendor/assets/javascripts/algolia/v2/algoliasearch.min.js +7 -0
- data/vendor/assets/javascripts/algolia/v3/algoliasearch.angular.js +6277 -0
- data/vendor/assets/javascripts/algolia/v3/algoliasearch.angular.min.js +3 -0
- data/vendor/assets/javascripts/algolia/v3/algoliasearch.jquery.js +6223 -0
- data/vendor/assets/javascripts/algolia/v3/algoliasearch.jquery.min.js +3 -0
- data/vendor/assets/javascripts/algolia/v3/algoliasearch.js +6070 -0
- data/vendor/assets/javascripts/algolia/v3/algoliasearch.min.js +3 -0
- metadata +174 -0
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
require 'timeout'
|
4
|
+
|
5
|
+
Bundler.setup :test
|
6
|
+
|
7
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
8
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
9
|
+
|
10
|
+
require 'algoliasearch-rails'
|
11
|
+
require 'rspec'
|
12
|
+
require 'rails/all'
|
13
|
+
|
14
|
+
raise "missing ALGOLIA_APPLICATION_ID or ALGOLIA_API_KEY environment variables" if ENV['ALGOLIA_APPLICATION_ID'].nil? || ENV['ALGOLIA_API_KEY'].nil?
|
15
|
+
|
16
|
+
Thread.current[:algolia_hosts] = nil
|
17
|
+
|
18
|
+
RSpec.configure do |c|
|
19
|
+
c.mock_with :rspec
|
20
|
+
c.filter_run :focus => true
|
21
|
+
c.run_all_when_everything_filtered = true
|
22
|
+
c.formatter = 'documentation'
|
23
|
+
|
24
|
+
c.around(:each) do |example|
|
25
|
+
Timeout::timeout(120) {
|
26
|
+
example.run
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
# Remove all indexes setup in this run in local or CI
|
31
|
+
c.after(:suite) do
|
32
|
+
safe_index_list.each do |i|
|
33
|
+
index = AlgoliaSearch.client.init_index(i['name'])
|
34
|
+
index.delete!
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# A unique prefix for your test run in local or CI
|
40
|
+
SAFE_INDEX_PREFIX = "rails_#{SecureRandom.hex(8)}".freeze
|
41
|
+
|
42
|
+
# avoid concurrent access to the same index in local or CI
|
43
|
+
def safe_index_name(name)
|
44
|
+
"#{SAFE_INDEX_PREFIX}_#{name}"
|
45
|
+
end
|
46
|
+
|
47
|
+
# get a list of safe indexes in local or CI
|
48
|
+
def safe_index_list
|
49
|
+
list = AlgoliaSearch.client.list_indexes['items']
|
50
|
+
list = list.select { |index| index["name"].include?(SAFE_INDEX_PREFIX) }
|
51
|
+
list.sort_by { |index| index["primary"] || "" }
|
52
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
|
2
|
+
|
3
|
+
AlgoliaSearch.configuration = { :application_id => ENV['ALGOLIA_APPLICATION_ID'], :api_key => ENV['ALGOLIA_API_KEY'] }
|
4
|
+
|
5
|
+
describe AlgoliaSearch::Utilities do
|
6
|
+
|
7
|
+
before(:each) do
|
8
|
+
@included_in = AlgoliaSearch.instance_variable_get :@included_in
|
9
|
+
AlgoliaSearch.instance_variable_set :@included_in, []
|
10
|
+
|
11
|
+
class Dummy
|
12
|
+
include AlgoliaSearch
|
13
|
+
|
14
|
+
def self.model_name
|
15
|
+
"Dummy"
|
16
|
+
end
|
17
|
+
|
18
|
+
algoliasearch
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
after(:each) do
|
23
|
+
AlgoliaSearch.instance_variable_set :@included_in, @included_in
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should get the models where AlgoliaSearch module was included" do
|
27
|
+
(AlgoliaSearch::Utilities.get_model_classes - [Dummy]).should == []
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|