generic_controller 0.0.1 → 0.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/lib/generic_controller.rb +23 -7
- metadata +15 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8316f347388ea0e165f7d16de4f477e2b45908e3
|
|
4
|
+
data.tar.gz: 804166ffc45278ee8e4856dc82faf68678804b80
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3fc95df1f58a9c956dfce64c1bebcefe0d75114ace1890a9f59d9195f5e6623094990d30253fd0e42f1d08cef35679715118290f651631db921d88c67b2645d3
|
|
7
|
+
data.tar.gz: a17a154ad4e2c365a983a8fa4f23f1c331d0e208ca285a5b9f6d8383bb3dffa758f6b7ce40d2daf12d6e2742480bb19c0c0c847a88bd7e7d0c76a6c59e88497f
|
data/lib/generic_controller.rb
CHANGED
|
@@ -57,17 +57,22 @@ class GenericController < ActionController::Base
|
|
|
57
57
|
l = limit.to_i
|
|
58
58
|
p = page.to_i
|
|
59
59
|
o = order_by.to_sym
|
|
60
|
+
off = offset.to_sym
|
|
60
61
|
s = sort.to_sym
|
|
61
62
|
respond_to do |f|
|
|
62
63
|
f.any do
|
|
63
64
|
render({
|
|
64
|
-
json: query.order(o => s)
|
|
65
|
+
json: query.order(o => s)
|
|
66
|
+
.page(p)
|
|
67
|
+
.per(l)
|
|
68
|
+
.offset(off),
|
|
65
69
|
meta: {
|
|
66
70
|
total: query.count(:all),
|
|
67
71
|
page: p,
|
|
68
72
|
limit: l,
|
|
69
73
|
order_by: o,
|
|
70
|
-
sort: s
|
|
74
|
+
sort: s,
|
|
75
|
+
offset: off
|
|
71
76
|
},
|
|
72
77
|
each_serializer: each_sez,
|
|
73
78
|
status: :ok
|
|
@@ -86,20 +91,24 @@ class GenericController < ActionController::Base
|
|
|
86
91
|
"#{norm_controller_name}Serializer".constantize
|
|
87
92
|
end
|
|
88
93
|
|
|
89
|
-
def page
|
|
90
|
-
params[:page] ||= 1
|
|
91
|
-
end
|
|
92
|
-
|
|
93
94
|
def limit
|
|
94
95
|
params[:limit] ||= 20
|
|
95
96
|
end
|
|
96
97
|
|
|
98
|
+
def offset
|
|
99
|
+
params[:offset] ||= 0
|
|
100
|
+
end
|
|
101
|
+
|
|
97
102
|
def order_by
|
|
98
103
|
return params[:order_by] if model.column_names.include?(params[:order_by])
|
|
99
104
|
|
|
100
105
|
'id'
|
|
101
106
|
end
|
|
102
107
|
|
|
108
|
+
def page
|
|
109
|
+
params[:page] ||= 1
|
|
110
|
+
end
|
|
111
|
+
|
|
103
112
|
def sort
|
|
104
113
|
params[:sort].in?(VALID_SORT) ? params[:sort] : VALID_SORT[0]
|
|
105
114
|
end
|
|
@@ -117,7 +126,14 @@ class GenericController < ActionController::Base
|
|
|
117
126
|
end
|
|
118
127
|
|
|
119
128
|
def cscope
|
|
120
|
-
model
|
|
129
|
+
cs = model
|
|
130
|
+
cs = cs.where(['updated_at >= ?', parse_time(params[:updated_since])]) if params[:updated_since]
|
|
131
|
+
cs = cs.where(['created_at >= ?', parse_time(params[:created_since])]) if params[:created_since]
|
|
132
|
+
cs
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def parse_time(s)
|
|
136
|
+
Time.zone.parse(s)
|
|
121
137
|
end
|
|
122
138
|
|
|
123
139
|
def attach_resource
|
metadata
CHANGED
|
@@ -1,69 +1,69 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: generic_controller
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Meldrum
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-09-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - '>='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '4.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
26
|
version: '4.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: actionpack
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- -
|
|
31
|
+
- - '>='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
33
|
version: '0'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- -
|
|
38
|
+
- - '>='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- -
|
|
45
|
+
- - '>='
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
47
|
version: '0'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- -
|
|
52
|
+
- - '>='
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rspec-rails
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
|
-
- -
|
|
59
|
+
- - '>='
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
61
|
version: '0'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
|
-
- -
|
|
66
|
+
- - '>='
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
69
|
description: An opinionated generic resource-oriented controller for rails.
|
|
@@ -77,7 +77,8 @@ files:
|
|
|
77
77
|
- spec/lib/generic_controller_spec.rb
|
|
78
78
|
- spec/spec_helper.rb
|
|
79
79
|
homepage: https://github.com/htmldrum/generic_controller
|
|
80
|
-
licenses:
|
|
80
|
+
licenses:
|
|
81
|
+
- MIT
|
|
81
82
|
metadata: {}
|
|
82
83
|
post_install_message:
|
|
83
84
|
rdoc_options: []
|
|
@@ -85,19 +86,18 @@ require_paths:
|
|
|
85
86
|
- lib
|
|
86
87
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
87
88
|
requirements:
|
|
88
|
-
- -
|
|
89
|
+
- - '>='
|
|
89
90
|
- !ruby/object:Gem::Version
|
|
90
91
|
version: '0'
|
|
91
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
93
|
requirements:
|
|
93
|
-
- -
|
|
94
|
+
- - '>='
|
|
94
95
|
- !ruby/object:Gem::Version
|
|
95
96
|
version: '0'
|
|
96
97
|
requirements: []
|
|
97
98
|
rubyforge_project: generic_controller
|
|
98
|
-
rubygems_version: 2.
|
|
99
|
+
rubygems_version: 2.0.14.1
|
|
99
100
|
signing_key:
|
|
100
101
|
specification_version: 4
|
|
101
102
|
summary: ActionController subclass with conveience
|
|
102
103
|
test_files: []
|
|
103
|
-
has_rdoc:
|