paginated 1.0.0 → 1.0.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/README.md +1 -1
- data/lib/paginated/serialization.rb +5 -5
- data/lib/paginated.rb +2 -1
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ae94c2ae8e872f233996072ec628db19b885a8538cafcf7ff3b75a2af99b933
|
4
|
+
data.tar.gz: 2fd627408f5ad65ae5da8e72fd9b393db0e8cdaf7f2d1b073f02135ce37ea474
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f73355fbbeda03857a8948618625392f69749f4bb968d9c4248662c31703db94cadb3a115013419d24b9fce418edf6db4db8c91dcbd6de855fae22a77a473ce0
|
7
|
+
data.tar.gz: 1297773a18228ed479111c7cc84fad0a500cfd4af7c87d456e9abe5cc825bdd161716b31b5ffa8ec53c352e0a2b81c8bd94e959c15e552f8ac733a346991e702
|
data/README.md
CHANGED
@@ -29,7 +29,7 @@ Paginated.new.collection()
|
|
29
29
|
|
30
30
|
`fields: %i[...]` - список полей, которые должны присутствовать в списке записей (передается вместо `serializer`).
|
31
31
|
|
32
|
-
`
|
32
|
+
`entity: 'UserEntity'` - название класса Grape Entity, который обработает каждую запись (передается вместо `fields`).
|
33
33
|
|
34
34
|
`params:` - передаваемые параметры для фильтрации записей.
|
35
35
|
|
@@ -19,8 +19,8 @@ module Serialization
|
|
19
19
|
# сериализация с помощью переданных полей или сериалайзера
|
20
20
|
if @fields
|
21
21
|
serialize_with_fields
|
22
|
-
elsif @attrs[:
|
23
|
-
|
22
|
+
elsif @attrs[:entity]
|
23
|
+
serialize_with_entity
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -35,9 +35,9 @@ module Serialization
|
|
35
35
|
@objects = @objects.map { |i| @fields.zip(i).to_h }
|
36
36
|
end
|
37
37
|
|
38
|
-
def
|
39
|
-
|
40
|
-
@objects = @objects.map { |i|
|
38
|
+
def serialize_with_entity
|
39
|
+
entity = @attrs[:entity].constantize
|
40
|
+
@objects = @objects.map { |i| entity.represent(i, current_user: @current_user).as_json }
|
41
41
|
end
|
42
42
|
|
43
43
|
def sort_proc
|
data/lib/paginated.rb
CHANGED
@@ -8,9 +8,10 @@ class Paginated
|
|
8
8
|
|
9
9
|
def collection(**attrs)
|
10
10
|
@attrs = attrs
|
11
|
+
@params = attrs[:serialization_scope].params.stringify_keys
|
12
|
+
@current_user = attrs[:serialization_scope].current_user
|
11
13
|
@fields = attrs[:fields]
|
12
14
|
@scopes = attrs[:scopes] || {}
|
13
|
-
@params = attrs[:params].stringify_keys
|
14
15
|
@offset = @params['offset'].to_i
|
15
16
|
@limit = @params['limit'] || 20
|
16
17
|
@order = attrs[:order] || :id
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paginated
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Павел Бабин
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -24,6 +24,34 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '6.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: grape
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.7.0
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.7.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: grape-entity
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.0.0
|
27
55
|
description: Простая пагинация записей и поиск для Rails-приложений
|
28
56
|
email: babin359@gmail.com
|
29
57
|
executables: []
|