yap 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/yap/filter.rb +4 -1
- data/lib/yap.rb +6 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25cfbc9977c71d10fc1a33ab813eff876c633401
|
4
|
+
data.tar.gz: ab538d4945cd053de7db5072e5238a6e9655cf48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94eb394ae4b57e7fd28adcc819501095337be522cec96b9982f909c6c1d79e30cfe538e8b134cf0fb90ee6e8eab366a23df3010222a7ed57a16bb27ed2ac0661
|
7
|
+
data.tar.gz: 0f6a6fe7afd9e646253809a99de8b926804f2550c40ee4236631dbcc2bafc4560866f8ca87c481323029b643b9a69046fbe38a505d762aceadfe689e6457200a
|
data/README.md
CHANGED
data/lib/yap/filter.rb
CHANGED
data/lib/yap.rb
CHANGED
@@ -26,7 +26,7 @@ module Yap
|
|
26
26
|
include Filterable
|
27
27
|
|
28
28
|
DEFAULTS = Struct.new(:page, :per_page, :sort, :direction, :disable_warnings)
|
29
|
-
.new(1, 10,
|
29
|
+
.new(1, 10, :id, :asc, false)
|
30
30
|
|
31
31
|
def self.configure
|
32
32
|
raise ArgumentError, 'No block given.' unless block_given?
|
@@ -50,8 +50,8 @@ module Yap
|
|
50
50
|
# @param [Hash] The parameters used for pagination (:page, :per_page, :sort, :direction)
|
51
51
|
#
|
52
52
|
scope :paginate, -> (params = {}) {
|
53
|
-
page, per_page,
|
54
|
-
filter(params[:filter]).limit(per_page).offset((page-1)*per_page).order(
|
53
|
+
page, per_page, order_by = extract_pagination_params(params)
|
54
|
+
filter(params[:filter]).limit(per_page).offset((page-1)*per_page).order(order_by)
|
55
55
|
}
|
56
56
|
|
57
57
|
private
|
@@ -62,7 +62,7 @@ module Yap
|
|
62
62
|
sort = extract_column(params[:sort])
|
63
63
|
direction = extract_direction(params[:direction])
|
64
64
|
|
65
|
-
return page, per_page, sort
|
65
|
+
return page, per_page, (sort =~ /\./ ? "#{sort} #{direction}" : { sort => direction })
|
66
66
|
end
|
67
67
|
|
68
68
|
def self.extract_number(number, default)
|
@@ -86,8 +86,8 @@ module Yap
|
|
86
86
|
|
87
87
|
def self.extract_direction(direction)
|
88
88
|
direction ||= DEFAULTS.direction
|
89
|
-
dir = (direction).
|
90
|
-
raise PaginationError.new("'#{direction}' is not a valid direction. Use 'asc' or 'desc'.") unless
|
89
|
+
dir = (direction).to_sym.downcase
|
90
|
+
raise PaginationError.new("'#{direction}' is not a valid direction. Use 'asc' or 'desc'.") unless [:asc, :desc].include? dir
|
91
91
|
dir
|
92
92
|
end
|
93
93
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Finn Glöe
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.1.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.1.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sqlite3
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|