pagy 3.4.0 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a00174d5d8af0760d883355ba8e77f9f9118954a7c6dec7e5e6e7ab503dcfde9
4
- data.tar.gz: 64a379d944f3b013e6b17ec8f899661346ac837780c028295e1916e796a1930e
3
+ metadata.gz: 6623351e17c1612e6a27f72491dc2dc3402550295f1d58b41f222de35195577a
4
+ data.tar.gz: 51127de303671a68cc3c219f4fa4423ae461a5281eca74e4aec71fa78aa53d3e
5
5
  SHA512:
6
- metadata.gz: 4d2d2d25d9df71c80de2786165ed678b82744ba617bad804beb8a56eb41011a239ad3d7ce96abfef80a4e6313f483edab43e9f9d331a161a4fead6f07675013d
7
- data.tar.gz: e4dba23f4e9fd2ccc1d77c1f8e0bcb00c3a3ba7b770126afd57eb7247a51168e0bcb2ba4ec4ebfb30e34eac97913099e79e2409225ddbcd72ba618f77fa20597
6
+ metadata.gz: 8385841d14b773eba91ee9bff068765698fa6b09736dc1dfdbfbd5bb8b6c022db58d495c8e0d7fc423ca5837f2543f9672c2594a7d8f271eb0fa4bbcfa6400aa
7
+ data.tar.gz: 7889d3d82b6928ed58c4a095e540d5c227619a0ab102eff77afb0ac93f481af25fe5513cba0d1cd54beda7a23cceb97ab83a17792f9610800edb53605cda7c70
@@ -1,7 +1,7 @@
1
1
  # encoding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
- # Pagy initializer file (3.4.0)
4
+ # Pagy initializer file (3.4.1)
5
5
  # Customize only what you really need and notice that Pagy works also without any of the following lines.
6
6
  # Should you just cherry pick part of this file, please maintain the require-order of the extras
7
7
 
@@ -2,6 +2,8 @@
2
2
 
3
3
  function Pagy(){}
4
4
 
5
+ Pagy.version = '3.4.1';
6
+
5
7
  Pagy.init = function(arg){
6
8
  var target = arg instanceof Event || arg === undefined ? document : arg,
7
9
  jsonTags = target.getElementsByClassName('pagy-json');
@@ -4,7 +4,7 @@
4
4
 
5
5
  require 'pathname'
6
6
 
7
- class Pagy ; VERSION = '3.4.0'
7
+ class Pagy ; VERSION = '3.4.1'
8
8
 
9
9
  # Root pathname to get the path of Pagy files like templates or dictionaries
10
10
  def self.root; @root ||= Pathname.new(__FILE__).dirname.freeze end
@@ -21,17 +21,17 @@ class Pagy
21
21
  module Backend ; private
22
22
 
23
23
  # Return Pagy object and items
24
- def pagy_elasticsearch_rails(search_args, vars={})
25
- model, query_or_payload, options, _block, *called = search_args
26
- vars = pagy_elasticsearch_rails_get_vars(nil, vars)
27
- options[:size] = vars[:items]
28
- options[:from] = vars[:items] * (vars[:page] - 1)
29
- response = model.search(query_or_payload, options)
30
- vars[:count] = response.raw_response['hits']['total']
24
+ def pagy_elasticsearch_rails(pagy_search_args, vars={})
25
+ model, search_args, _block, *called = pagy_search_args
26
+ vars = pagy_elasticsearch_rails_get_vars(nil, vars)
27
+ search_args[-1][:size] = vars[:items]
28
+ search_args[-1][:from] = vars[:items] * (vars[:page] - 1)
29
+ response = model.search(*search_args)
30
+ vars[:count] = response.raw_response['hits']['total']
31
31
  pagy = Pagy.new(vars)
32
32
  # with :last_page overflow we need to re-run the method in order to get the hits
33
33
  if defined?(OVERFLOW) && pagy.overflow? && pagy.vars[:overflow] == :last_page
34
- return pagy_elasticsearch_rails(search_args, vars.merge(page: pagy.page))
34
+ return pagy_elasticsearch_rails(pagy_search_args, vars.merge(page: pagy.page))
35
35
  end
36
36
  return pagy, called.empty? ? response : response.send(*called)
37
37
  end
@@ -7,8 +7,10 @@ class Pagy
7
7
  # returns an array used to delay the call of #search
8
8
  # after the pagination variables are merged to the options
9
9
  # it also pushes to the same array an eventually called method and arguments
10
- def pagy_search(arg, options={}, &block)
11
- [self, arg, options, block].tap do |args|
10
+ # the last search argument must be a hash option
11
+ def pagy_search(*search_args, &block)
12
+ search_args << {} unless search_args[-1].is_a?(Hash)
13
+ [self, search_args, block].tap do |args|
12
14
  args.define_singleton_method(:method_missing){|*a| args += a}
13
15
  end
14
16
  end
@@ -21,17 +21,17 @@ class Pagy
21
21
  module Backend ; private
22
22
 
23
23
  # Return Pagy object and results
24
- def pagy_searchkick(search_args, vars={})
25
- model, term, options, block, *called = search_args
26
- vars = pagy_searchkick_get_vars(nil, vars)
27
- options[:per_page] = vars[:items]
28
- options[:page] = vars[:page]
29
- results = model.search(term, options, &block)
30
- vars[:count] = results.total_count
24
+ def pagy_searchkick(pagy_search_args, vars={})
25
+ model, search_args, block, *called = pagy_search_args
26
+ vars = pagy_searchkick_get_vars(nil, vars)
27
+ search_args[-1][:per_page] = vars[:items]
28
+ search_args[-1][:page] = vars[:page]
29
+ results = model.search(*search_args, &block)
30
+ vars[:count] = results.total_count
31
31
  pagy = Pagy.new(vars)
32
32
  # with :last_page overflow we need to re-run the method in order to get the hits
33
33
  if defined?(OVERFLOW) && pagy.overflow? && pagy.vars[:overflow] == :last_page
34
- return pagy_searchkick(search_args, vars.merge(page: pagy.page))
34
+ return pagy_searchkick(pagy_search_args, vars.merge(page: pagy.page))
35
35
  end
36
36
  return pagy, called.empty? ? results : results.send(*called)
37
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pagy
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Domizio Demichelis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-15 00:00:00.000000000 Z
11
+ date: 2019-07-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'Agnostic pagination in plain ruby: it works with any framework, ORM
14
14
  and DB type, with all kinds of collections, even pre-paginated, scopes, Arrays,