servi-craft 0.1.6 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/servi_craft/templates/query.template +1 -1
- data/lib/servi_craft/query.rb +12 -0
- data/lib/servi_craft/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc81e09d6184e65a1fbd9e8da0bd92756629fa6d535ed51fca88744382f72ef0
|
4
|
+
data.tar.gz: b1c17e906da26afdd6fd803cc383302963cc88a463ee53943c236b6351f73f4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e12b5d3b4e2a3f2436d2b2435d21c0fb91b151c6d0f388cc21de0083cb0d9ebc99eeab57c50207ccf2328420a4f2406d77650acbc8110cc8eff4df8ab0627c9c
|
7
|
+
data.tar.gz: c481a5f5b9dc33303e2cc5a7cfaceca9836a27d7c73cdc2a71cf1cf5b2e0ec57ae9daa169b47c5fc60dcc600c0e6a720069a7178ff977d627981e30b6055181e
|
@@ -8,7 +8,7 @@ module <%= @service_module %>
|
|
8
8
|
# [Last modified] <%= Date.today.to_s %>
|
9
9
|
class <%= @service_class_name %> < ServiCraft::Query
|
10
10
|
def initialize(base = <%= @service_model %>.all, page: 1, rows: nil)
|
11
|
-
super(base, page: page, rows:
|
11
|
+
super(base, page: page, rows: rows)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
end
|
data/lib/servi_craft/query.rb
CHANGED
@@ -22,9 +22,21 @@ module ServiCraft
|
|
22
22
|
def paginate(query)
|
23
23
|
return query if @rows.nil?
|
24
24
|
|
25
|
+
return paginate_array(query) if query.instance_of? Array
|
26
|
+
|
27
|
+
paginate_active_record(query)
|
28
|
+
end
|
29
|
+
|
30
|
+
def paginate_active_record(query)
|
25
31
|
rows = @rows.to_i
|
26
32
|
page = @page.to_i
|
27
33
|
query.limit(rows).offset(rows * (page - 1))
|
28
34
|
end
|
35
|
+
|
36
|
+
def paginate_array(query)
|
37
|
+
rows = @rows.to_i
|
38
|
+
page = @page.to_i
|
39
|
+
query.drop(rows * (page - 1)).take(rows)
|
40
|
+
end
|
29
41
|
end
|
30
42
|
end
|
data/lib/servi_craft/version.rb
CHANGED