algoliasearch-rails 2.3.0 → 2.3.2
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 +4 -4
- data/CHANGELOG.MD +10 -1
- data/Gemfile +1 -0
- data/algoliasearch-rails.gemspec +2 -0
- data/lib/algoliasearch/algolia_job.rb +1 -1
- data/lib/algoliasearch/configuration.rb +16 -4
- data/lib/algoliasearch/pagination/pagy.rb +22 -0
- data/lib/algoliasearch/pagination.rb +1 -0
- data/lib/algoliasearch/version.rb +1 -1
- data/lib/algoliasearch-rails.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f1f301750d7affc346eea8252c11e98722a8ac4c82be59fb8a248a69fa459ce
|
4
|
+
data.tar.gz: ce9e1536025efd0f881b6e45be3db203d7dc0eafc6f4b0d07cf8f9b8aea95761
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9de7d8769fc9c19adbfbe70cef64e643c5d25d55774962d041962f570826566dd518a550fd23f73f4293bcdf5e1d048af354d2c9dc1c41ebe574dac64b5d996
|
7
|
+
data.tar.gz: '05787dce080a885c00ae4efdff6a9b4f26e2109979845ec8405d78f27f5c9757c30e77b814cb0f6957b49f8787cd468df15c8c8369091d80f39adc83e33f1adf'
|
data/CHANGELOG.MD
CHANGED
@@ -2,7 +2,16 @@
|
|
2
2
|
|
3
3
|
## [Unreleased](https://github.com/algolia/algoliasearch-rails/compare/2.2.1...master)
|
4
4
|
|
5
|
-
## [2.
|
5
|
+
## [2.3.2](https://github.com/algolia/algoliasearch-rails/compare/2.3.1...2.3.2)
|
6
|
+
### Added
|
7
|
+
* Support for Pagy pagination provider [`#443`](https://github.com/algolia/algoliasearch-rails/pull/443)
|
8
|
+
|
9
|
+
## [2.3.1](https://github.com/algolia/algoliasearch-rails/compare/2.3.0...2.3.1)
|
10
|
+
### Added
|
11
|
+
* Allow ActiveJob queue configuration [`#439`](https://github.com/algolia/algoliasearch-rails/pull/439)
|
12
|
+
* allow to configure user agent and other default options [`#438`](https://github.com/algolia/algoliasearch-rails/pull/438)
|
13
|
+
|
14
|
+
## [2.3.0](https://github.com/algolia/algoliasearch-rails/compare/2.2.2...2.3.0)
|
6
15
|
### Fixed
|
7
16
|
* bugfix: don't consider objectID changed when using custom ID through method [`#436`](https://github.com/algolia/algoliasearch-rails/pull/436)
|
8
17
|
|
data/Gemfile
CHANGED
data/algoliasearch-rails.gemspec
CHANGED
@@ -33,6 +33,7 @@ Gem::Specification.new do |s|
|
|
33
33
|
"lib/algoliasearch/configuration.rb",
|
34
34
|
"lib/algoliasearch/pagination.rb",
|
35
35
|
"lib/algoliasearch/pagination/kaminari.rb",
|
36
|
+
"lib/algoliasearch/pagination/pagy.rb",
|
36
37
|
"lib/algoliasearch/pagination/will_paginate.rb",
|
37
38
|
"lib/algoliasearch/railtie.rb",
|
38
39
|
"lib/algoliasearch/tasks/algoliasearch.rake",
|
@@ -81,6 +82,7 @@ Gem::Specification.new do |s|
|
|
81
82
|
s.add_runtime_dependency(%q<algolia>, ["< 3.0.0"])
|
82
83
|
s.add_development_dependency(%q<will_paginate>, [">= 2.3.15"])
|
83
84
|
s.add_development_dependency(%q<kaminari>, [">= 0"])
|
85
|
+
s.add_development_dependency(%q<pagy>, [">= 0"])
|
84
86
|
s.add_development_dependency "rake"
|
85
87
|
s.add_development_dependency "rdoc"
|
86
88
|
else
|
@@ -1,5 +1,10 @@
|
|
1
1
|
module AlgoliaSearch
|
2
2
|
module Configuration
|
3
|
+
REQUIRED_CONFIGURATION = {
|
4
|
+
user_agent: "Algolia for Rails (#{AlgoliaSearch::VERSION}); Rails (#{defined?(::Rails::VERSION::STRING) ? ::Rails::VERSION::STRING : 'unknown'})",
|
5
|
+
symbolize_keys: false
|
6
|
+
}
|
7
|
+
|
3
8
|
def initialize
|
4
9
|
@client = nil
|
5
10
|
end
|
@@ -9,10 +14,11 @@ module AlgoliaSearch
|
|
9
14
|
end
|
10
15
|
|
11
16
|
def configuration=(configuration)
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
17
|
+
user_agent = [REQUIRED_CONFIGURATION[:user_agent], configuration[:append_to_user_agent]].compact.join('; ')
|
18
|
+
@@configuration = default_configuration
|
19
|
+
.merge(configuration)
|
20
|
+
.merge(REQUIRED_CONFIGURATION)
|
21
|
+
.merge({ user_agent: user_agent })
|
16
22
|
end
|
17
23
|
|
18
24
|
def client_opts
|
@@ -34,5 +40,11 @@ module AlgoliaSearch
|
|
34
40
|
def setup_client
|
35
41
|
@client = Algolia::Search::Client.new(Algolia::Search::Config.new(@@configuration), client_opts)
|
36
42
|
end
|
43
|
+
|
44
|
+
def default_configuration
|
45
|
+
{
|
46
|
+
queue_name: 'algoliasearch'
|
47
|
+
}
|
48
|
+
end
|
37
49
|
end
|
38
50
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
unless defined? Pagy
|
2
|
+
raise(AlgoliaSearch::BadConfiguration, "AlgoliaSearch: Please add 'pagy' to your Gemfile to use Pagy pagination backend")
|
3
|
+
end
|
4
|
+
|
5
|
+
module AlgoliaSearch
|
6
|
+
module Pagination
|
7
|
+
class Pagy
|
8
|
+
def self.create(results, total_hits, options = {})
|
9
|
+
vars = {
|
10
|
+
count: total_hits,
|
11
|
+
page: options[:page],
|
12
|
+
items: options[:per_page]
|
13
|
+
}
|
14
|
+
|
15
|
+
pagy = ::Pagy.new(vars)
|
16
|
+
[pagy, results]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
@@ -3,6 +3,7 @@ module AlgoliaSearch
|
|
3
3
|
|
4
4
|
autoload :WillPaginate, 'algoliasearch/pagination/will_paginate'
|
5
5
|
autoload :Kaminari, 'algoliasearch/pagination/kaminari'
|
6
|
+
autoload :Pagy, 'algoliasearch/pagination/pagy'
|
6
7
|
|
7
8
|
def self.create(results, total_hits, options = {})
|
8
9
|
return results if AlgoliaSearch.configuration[:pagination_backend].nil?
|
data/lib/algoliasearch-rails.rb
CHANGED
@@ -683,7 +683,7 @@ module AlgoliaSearch
|
|
683
683
|
|
684
684
|
def algolia_search(q, params = {})
|
685
685
|
if AlgoliaSearch.configuration[:pagination_backend]
|
686
|
-
# kaminari and
|
686
|
+
# kaminari, will_paginate, and pagy start pagination at 1, Algolia starts at 0
|
687
687
|
params[:page] = (params.delete('page') || params.delete(:page)).to_i
|
688
688
|
params[:page] -= 1 if params[:page].to_i > 0
|
689
689
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: algoliasearch-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Algolia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pagy
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rake
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,6 +131,7 @@ files:
|
|
117
131
|
- lib/algoliasearch/configuration.rb
|
118
132
|
- lib/algoliasearch/pagination.rb
|
119
133
|
- lib/algoliasearch/pagination/kaminari.rb
|
134
|
+
- lib/algoliasearch/pagination/pagy.rb
|
120
135
|
- lib/algoliasearch/pagination/will_paginate.rb
|
121
136
|
- lib/algoliasearch/railtie.rb
|
122
137
|
- lib/algoliasearch/tasks/algoliasearch.rake
|