graphql_rails 1.0.0 → 1.2.3
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/.hound.yml +1 -0
- data/.rubocop.yml +3 -3
- data/.ruby-version +1 -1
- data/.travis.yml +2 -2
- data/CHANGELOG.md +22 -0
- data/Gemfile +3 -2
- data/Gemfile.lock +145 -119
- data/docs/README.md +3 -3
- data/docs/components/controller.md +23 -7
- data/docs/components/model.md +43 -3
- data/docs/getting_started/quick_start.md +1 -1
- data/docs/index.html +1 -1
- data/docs/other_tools/query_runner.md +1 -1
- data/docs/other_tools/schema_dump.md +1 -1
- data/graphql_rails.gemspec +5 -5
- data/lib/generators/graphql_rails/templates/graphql_router_spec.erb +10 -7
- data/lib/graphql_rails/attributes/attributable.rb +5 -9
- data/lib/graphql_rails/attributes/attribute.rb +26 -6
- data/lib/graphql_rails/attributes/attribute_name_parser.rb +4 -4
- data/lib/graphql_rails/attributes/input_attribute.rb +5 -1
- data/lib/graphql_rails/attributes/type_parseable.rb +17 -13
- data/lib/graphql_rails/concerns/service.rb +6 -2
- data/lib/graphql_rails/controller.rb +6 -6
- data/lib/graphql_rails/controller/action.rb +5 -1
- data/lib/graphql_rails/controller/build_controller_action_resolver.rb +2 -2
- data/lib/graphql_rails/controller/log_controller_action.rb +7 -2
- data/lib/graphql_rails/controller/request.rb +1 -1
- data/lib/graphql_rails/controller/request/format_errors.rb +1 -1
- data/lib/graphql_rails/decorator/relation_decorator.rb +0 -4
- data/lib/graphql_rails/model/add_fields_to_graphql_type.rb +45 -0
- data/lib/graphql_rails/model/build_connection_type.rb +5 -1
- data/lib/graphql_rails/model/build_connection_type/count_items.rb +2 -2
- data/lib/graphql_rails/model/build_graphql_input_type.rb +1 -1
- data/lib/graphql_rails/model/call_graphql_model_method.rb +14 -1
- data/lib/graphql_rails/model/configurable.rb +6 -2
- data/lib/graphql_rails/model/configuration.rb +9 -4
- data/lib/graphql_rails/model/find_or_build_graphql_type.rb +64 -0
- data/lib/graphql_rails/model/find_or_build_graphql_type_class.rb +46 -0
- data/lib/graphql_rails/router.rb +2 -2
- data/lib/graphql_rails/router/resource_routes_builder.rb +8 -8
- data/lib/graphql_rails/router/route.rb +3 -7
- data/lib/graphql_rails/router/schema_builder.rb +5 -1
- data/lib/graphql_rails/rspec_controller_helpers.rb +2 -2
- data/lib/graphql_rails/version.rb +1 -1
- metadata +25 -18
- data/lib/graphql_rails/model/build_graphql_type.rb +0 -53
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 95b29ebcb8c062456b3709134aca3184037fabc4d1f5dc6e8440f712065b8b9d
|
4
|
+
data.tar.gz: 7b177bb136a4bedffaf9c9836db393713d88d531de3cb302f89ec52c652dc56a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6aa73c56c429120d6d6aa534075bee9e36cf4d0fa18d2169e89afb81965eb06e90e3d595f214faf4af1ff91aadcb2fbea9be6ceaf569321be57a9ca654d7bb0f
|
7
|
+
data.tar.gz: 85fbd80f9a00833636e65941c78e14e0696d55a8b1a3b4530d1a143341d86a152ad3f5879dcf2f9f2b308b297a31cdaa1ed144ad9e50533a9b5e244584a35b87
|
data/.hound.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -3,7 +3,7 @@ require: rubocop-rspec
|
|
3
3
|
RSpec/NestedGroups:
|
4
4
|
Enabled: false
|
5
5
|
|
6
|
-
|
6
|
+
Layout/LineLength:
|
7
7
|
Enabled: true
|
8
8
|
Max: 120
|
9
9
|
|
@@ -21,7 +21,7 @@ Lint/AmbiguousBlockAssociation:
|
|
21
21
|
Exclude:
|
22
22
|
- spec/**/*.rb
|
23
23
|
|
24
|
-
Naming/
|
24
|
+
Naming/MethodParameterName:
|
25
25
|
AllowedNames:
|
26
26
|
- 'to'
|
27
27
|
- 'at'
|
@@ -35,7 +35,7 @@ Style/ClassAndModuleChildren:
|
|
35
35
|
- spec/**/*_spec.rb
|
36
36
|
|
37
37
|
AllCops:
|
38
|
-
TargetRubyVersion: 2.
|
38
|
+
TargetRubyVersion: 2.7
|
39
39
|
Exclude:
|
40
40
|
- bin/*
|
41
41
|
- graphql_rails.gemspec
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.7.1
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -9,6 +9,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
9
9
|
|
10
10
|
* Added/Changed/Deprecated/Removed/Fixed/Security: YOUR CHANGE HERE
|
11
11
|
|
12
|
+
## [1.2.3](2021-04-12)
|
13
|
+
|
14
|
+
* Fixed: Total count on paginated resources
|
15
|
+
|
16
|
+
## [1.2.2](2021-02-19)
|
17
|
+
|
18
|
+
* Fixed: Incorrect type resolution for required list type fields in model declaration.
|
19
|
+
|
20
|
+
## [1.2.1](2021-02-17)
|
21
|
+
|
22
|
+
* Fixed: Incorrect scalar types resolution is fixed. No more `type mismatch between ID / ID`
|
23
|
+
|
24
|
+
## [1.2.0](2021-02-15)
|
25
|
+
|
26
|
+
* Added: `options` argument to model level attribute. Allows disabling automatic camelCase
|
27
|
+
* Fixed: methods with complex input arguments receives `Hash` instances instead of `GraphQL::Schema::InputObject`
|
28
|
+
* Fixed: Using `ActiveSupport::ParameterFilter` (Rails 6.1), if it is defined, instead of `ActionDispatch::Http::ParameterFilter`
|
29
|
+
* Changed: graphql version is now `1.12` which may require system-wide changes.
|
30
|
+
* Fixed: improved connection wrapper for pagination to work.
|
31
|
+
* Fixed: implementation of `total` field is no longer missing when using pagination.
|
32
|
+
|
33
|
+
|
12
34
|
## [1.0.0](2020-02-07)
|
13
35
|
|
14
36
|
* Added: "required" and "optional" flags for attribute
|
data/Gemfile
CHANGED
@@ -5,8 +5,9 @@ source 'https://rubygems.org'
|
|
5
5
|
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
6
6
|
|
7
7
|
group :development do
|
8
|
-
gem 'rubocop'
|
9
|
-
gem 'rubocop-
|
8
|
+
gem 'rubocop', '0.91.0'
|
9
|
+
gem 'rubocop-performance', '~> 1.8', '>= 1.8.1'
|
10
|
+
gem 'rubocop-rspec', '~> 1.44', '>= 1.44.1'
|
10
11
|
end
|
11
12
|
|
12
13
|
group :test do
|
data/Gemfile.lock
CHANGED
@@ -1,194 +1,220 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
graphql_rails (1.
|
4
|
+
graphql_rails (1.2.3)
|
5
5
|
activesupport (>= 4)
|
6
|
-
graphql (>= 1.
|
6
|
+
graphql (~> 1.12, >= 1.12.4)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
actioncable (
|
12
|
-
actionpack (=
|
11
|
+
actioncable (6.0.3.4)
|
12
|
+
actionpack (= 6.0.3.4)
|
13
13
|
nio4r (~> 2.0)
|
14
14
|
websocket-driver (>= 0.6.1)
|
15
|
-
|
16
|
-
actionpack (=
|
17
|
-
|
18
|
-
|
15
|
+
actionmailbox (6.0.3.4)
|
16
|
+
actionpack (= 6.0.3.4)
|
17
|
+
activejob (= 6.0.3.4)
|
18
|
+
activerecord (= 6.0.3.4)
|
19
|
+
activestorage (= 6.0.3.4)
|
20
|
+
activesupport (= 6.0.3.4)
|
21
|
+
mail (>= 2.7.1)
|
22
|
+
actionmailer (6.0.3.4)
|
23
|
+
actionpack (= 6.0.3.4)
|
24
|
+
actionview (= 6.0.3.4)
|
25
|
+
activejob (= 6.0.3.4)
|
19
26
|
mail (~> 2.5, >= 2.5.4)
|
20
27
|
rails-dom-testing (~> 2.0)
|
21
|
-
actionpack (
|
22
|
-
actionview (=
|
23
|
-
activesupport (=
|
24
|
-
rack (~> 2.0)
|
28
|
+
actionpack (6.0.3.4)
|
29
|
+
actionview (= 6.0.3.4)
|
30
|
+
activesupport (= 6.0.3.4)
|
31
|
+
rack (~> 2.0, >= 2.0.8)
|
25
32
|
rack-test (>= 0.6.3)
|
26
33
|
rails-dom-testing (~> 2.0)
|
27
|
-
rails-html-sanitizer (~> 1.0, >= 1.0
|
28
|
-
|
29
|
-
|
34
|
+
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
35
|
+
actiontext (6.0.3.4)
|
36
|
+
actionpack (= 6.0.3.4)
|
37
|
+
activerecord (= 6.0.3.4)
|
38
|
+
activestorage (= 6.0.3.4)
|
39
|
+
activesupport (= 6.0.3.4)
|
40
|
+
nokogiri (>= 1.8.5)
|
41
|
+
actionview (6.0.3.4)
|
42
|
+
activesupport (= 6.0.3.4)
|
30
43
|
builder (~> 3.1)
|
31
44
|
erubi (~> 1.4)
|
32
45
|
rails-dom-testing (~> 2.0)
|
33
|
-
rails-html-sanitizer (~> 1.
|
34
|
-
activejob (
|
35
|
-
activesupport (=
|
46
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
47
|
+
activejob (6.0.3.4)
|
48
|
+
activesupport (= 6.0.3.4)
|
36
49
|
globalid (>= 0.3.6)
|
37
|
-
activemodel (
|
38
|
-
activesupport (=
|
39
|
-
activerecord (
|
40
|
-
activemodel (=
|
41
|
-
activesupport (=
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
activerecord (=
|
50
|
+
activemodel (6.0.3.4)
|
51
|
+
activesupport (= 6.0.3.4)
|
52
|
+
activerecord (6.0.3.4)
|
53
|
+
activemodel (= 6.0.3.4)
|
54
|
+
activesupport (= 6.0.3.4)
|
55
|
+
activestorage (6.0.3.4)
|
56
|
+
actionpack (= 6.0.3.4)
|
57
|
+
activejob (= 6.0.3.4)
|
58
|
+
activerecord (= 6.0.3.4)
|
46
59
|
marcel (~> 0.3.1)
|
47
|
-
activesupport (
|
60
|
+
activesupport (6.0.3.4)
|
48
61
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
49
62
|
i18n (>= 0.7, < 2)
|
50
63
|
minitest (~> 5.1)
|
51
64
|
tzinfo (~> 1.1)
|
52
|
-
|
53
|
-
ast (2.4.
|
54
|
-
bson (4.
|
55
|
-
builder (3.2.
|
56
|
-
byebug (11.
|
57
|
-
codecov (0.
|
65
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
66
|
+
ast (2.4.1)
|
67
|
+
bson (4.11.0)
|
68
|
+
builder (3.2.4)
|
69
|
+
byebug (11.1.3)
|
70
|
+
codecov (0.2.12)
|
58
71
|
json
|
59
72
|
simplecov
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
diff-lcs (1.3)
|
73
|
+
coderay (1.1.3)
|
74
|
+
concurrent-ruby (1.1.7)
|
75
|
+
crass (1.0.6)
|
76
|
+
diff-lcs (1.4.4)
|
65
77
|
docile (1.3.2)
|
66
|
-
erubi (1.
|
78
|
+
erubi (1.9.0)
|
67
79
|
globalid (0.4.2)
|
68
80
|
activesupport (>= 4.2.0)
|
69
|
-
graphql (1.
|
70
|
-
i18n (1.
|
81
|
+
graphql (1.12.4)
|
82
|
+
i18n (1.8.5)
|
71
83
|
concurrent-ruby (~> 1.0)
|
72
|
-
|
73
|
-
|
74
|
-
loofah (2.3.1)
|
84
|
+
json (2.3.1)
|
85
|
+
loofah (2.7.0)
|
75
86
|
crass (~> 1.0.2)
|
76
87
|
nokogiri (>= 1.5.9)
|
77
88
|
mail (2.7.1)
|
78
89
|
mini_mime (>= 0.1.1)
|
79
90
|
marcel (0.3.3)
|
80
91
|
mimemagic (~> 0.3.2)
|
81
|
-
method_source (0.
|
82
|
-
mimemagic (0.3.
|
83
|
-
mini_mime (1.0.
|
84
|
-
mini_portile2 (2.
|
85
|
-
minitest (5.
|
86
|
-
mongo (2.
|
87
|
-
bson (>= 4.
|
88
|
-
mongoid (7.
|
89
|
-
activemodel (>= 5.1, < 6.
|
90
|
-
mongo (>= 2.
|
91
|
-
nio4r (2.
|
92
|
-
nokogiri (1.
|
93
|
-
mini_portile2 (~> 2.
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
92
|
+
method_source (1.0.0)
|
93
|
+
mimemagic (0.3.5)
|
94
|
+
mini_mime (1.0.2)
|
95
|
+
mini_portile2 (2.5.0)
|
96
|
+
minitest (5.14.2)
|
97
|
+
mongo (2.13.1)
|
98
|
+
bson (>= 4.8.2, < 5.0.0)
|
99
|
+
mongoid (7.1.4)
|
100
|
+
activemodel (>= 5.1, < 6.1)
|
101
|
+
mongo (>= 2.7.0, < 3.0.0)
|
102
|
+
nio4r (2.5.4)
|
103
|
+
nokogiri (1.11.1)
|
104
|
+
mini_portile2 (~> 2.5.0)
|
105
|
+
racc (~> 1.4)
|
106
|
+
parallel (1.19.2)
|
107
|
+
parser (2.7.2.0)
|
108
|
+
ast (~> 2.4.1)
|
109
|
+
pry (0.13.1)
|
110
|
+
coderay (~> 1.1)
|
111
|
+
method_source (~> 1.0)
|
112
|
+
pry-byebug (3.9.0)
|
101
113
|
byebug (~> 11.0)
|
102
|
-
pry (~> 0.
|
103
|
-
|
114
|
+
pry (~> 0.13.0)
|
115
|
+
racc (1.5.2)
|
116
|
+
rack (2.2.3)
|
104
117
|
rack-test (1.1.0)
|
105
118
|
rack (>= 1.0, < 3)
|
106
|
-
rails (
|
107
|
-
actioncable (=
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
119
|
+
rails (6.0.3.4)
|
120
|
+
actioncable (= 6.0.3.4)
|
121
|
+
actionmailbox (= 6.0.3.4)
|
122
|
+
actionmailer (= 6.0.3.4)
|
123
|
+
actionpack (= 6.0.3.4)
|
124
|
+
actiontext (= 6.0.3.4)
|
125
|
+
actionview (= 6.0.3.4)
|
126
|
+
activejob (= 6.0.3.4)
|
127
|
+
activemodel (= 6.0.3.4)
|
128
|
+
activerecord (= 6.0.3.4)
|
129
|
+
activestorage (= 6.0.3.4)
|
130
|
+
activesupport (= 6.0.3.4)
|
116
131
|
bundler (>= 1.3.0)
|
117
|
-
railties (=
|
132
|
+
railties (= 6.0.3.4)
|
118
133
|
sprockets-rails (>= 2.0.0)
|
119
134
|
rails-dom-testing (2.0.3)
|
120
135
|
activesupport (>= 4.2.0)
|
121
136
|
nokogiri (>= 1.6)
|
122
|
-
rails-html-sanitizer (1.0
|
123
|
-
loofah (~> 2.
|
124
|
-
railties (
|
125
|
-
actionpack (=
|
126
|
-
activesupport (=
|
137
|
+
rails-html-sanitizer (1.3.0)
|
138
|
+
loofah (~> 2.3)
|
139
|
+
railties (6.0.3.4)
|
140
|
+
actionpack (= 6.0.3.4)
|
141
|
+
activesupport (= 6.0.3.4)
|
127
142
|
method_source
|
128
143
|
rake (>= 0.8.7)
|
129
|
-
thor (>= 0.
|
144
|
+
thor (>= 0.20.3, < 2.0)
|
130
145
|
rainbow (3.0.0)
|
131
|
-
rake (
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
rspec-
|
136
|
-
|
137
|
-
rspec-
|
138
|
-
rspec-
|
146
|
+
rake (13.0.1)
|
147
|
+
regexp_parser (1.8.2)
|
148
|
+
rexml (3.2.4)
|
149
|
+
rspec (3.10.0)
|
150
|
+
rspec-core (~> 3.10.0)
|
151
|
+
rspec-expectations (~> 3.10.0)
|
152
|
+
rspec-mocks (~> 3.10.0)
|
153
|
+
rspec-core (3.10.0)
|
154
|
+
rspec-support (~> 3.10.0)
|
155
|
+
rspec-expectations (3.10.0)
|
139
156
|
diff-lcs (>= 1.2.0, < 2.0)
|
140
|
-
rspec-support (~> 3.
|
141
|
-
rspec-mocks (3.
|
157
|
+
rspec-support (~> 3.10.0)
|
158
|
+
rspec-mocks (3.10.0)
|
142
159
|
diff-lcs (>= 1.2.0, < 2.0)
|
143
|
-
rspec-support (~> 3.
|
144
|
-
rspec-support (3.
|
145
|
-
rubocop (0.
|
146
|
-
jaro_winkler (~> 1.5.1)
|
160
|
+
rspec-support (~> 3.10.0)
|
161
|
+
rspec-support (3.10.0)
|
162
|
+
rubocop (0.91.0)
|
147
163
|
parallel (~> 1.10)
|
148
|
-
parser (>= 2.7.
|
164
|
+
parser (>= 2.7.1.1)
|
149
165
|
rainbow (>= 2.2.2, < 4.0)
|
166
|
+
regexp_parser (>= 1.7)
|
167
|
+
rexml
|
168
|
+
rubocop-ast (>= 0.4.0, < 1.0)
|
150
169
|
ruby-progressbar (~> 1.7)
|
151
|
-
unicode-display_width (>= 1.4.0, <
|
152
|
-
rubocop-
|
153
|
-
|
170
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
171
|
+
rubocop-ast (0.8.0)
|
172
|
+
parser (>= 2.7.1.5)
|
173
|
+
rubocop-performance (1.8.1)
|
174
|
+
rubocop (>= 0.87.0)
|
175
|
+
rubocop-ast (>= 0.4.0)
|
176
|
+
rubocop-rspec (1.44.1)
|
177
|
+
rubocop (~> 0.87)
|
178
|
+
rubocop-ast (>= 0.7.1)
|
154
179
|
ruby-progressbar (1.10.1)
|
155
|
-
simplecov (0.
|
180
|
+
simplecov (0.19.1)
|
156
181
|
docile (~> 1.1)
|
157
|
-
simplecov-html (~> 0.11
|
158
|
-
simplecov-html (0.
|
159
|
-
sprockets (
|
182
|
+
simplecov-html (~> 0.11)
|
183
|
+
simplecov-html (0.12.3)
|
184
|
+
sprockets (4.0.2)
|
160
185
|
concurrent-ruby (~> 1.0)
|
161
186
|
rack (> 1, < 3)
|
162
|
-
sprockets-rails (3.2.
|
187
|
+
sprockets-rails (3.2.2)
|
163
188
|
actionpack (>= 4.0)
|
164
189
|
activesupport (>= 4.0)
|
165
190
|
sprockets (>= 3.0.0)
|
166
|
-
thor (0.
|
191
|
+
thor (1.0.1)
|
167
192
|
thread_safe (0.3.6)
|
168
|
-
tzinfo (1.2.
|
193
|
+
tzinfo (1.2.7)
|
169
194
|
thread_safe (~> 0.1)
|
170
|
-
unicode-display_width (1.
|
171
|
-
|
172
|
-
websocket-driver (0.7.1)
|
195
|
+
unicode-display_width (1.7.0)
|
196
|
+
websocket-driver (0.7.3)
|
173
197
|
websocket-extensions (>= 0.1.0)
|
174
|
-
websocket-extensions (0.1.
|
198
|
+
websocket-extensions (0.1.5)
|
199
|
+
zeitwerk (2.4.1)
|
175
200
|
|
176
201
|
PLATFORMS
|
177
202
|
ruby
|
178
203
|
|
179
204
|
DEPENDENCIES
|
180
205
|
activerecord
|
181
|
-
bundler (~>
|
206
|
+
bundler (~> 2)
|
182
207
|
codecov
|
183
208
|
graphql_rails!
|
184
209
|
mongoid
|
185
210
|
pry-byebug
|
186
|
-
rails (~>
|
187
|
-
rake (~>
|
211
|
+
rails (~> 6)
|
212
|
+
rake (~> 13.0)
|
188
213
|
rspec (~> 3.0)
|
189
|
-
rubocop
|
190
|
-
rubocop-
|
214
|
+
rubocop (= 0.91.0)
|
215
|
+
rubocop-performance (~> 1.8, >= 1.8.1)
|
216
|
+
rubocop-rspec (~> 1.44, >= 1.44.1)
|
191
217
|
simplecov
|
192
218
|
|
193
219
|
BUNDLED WITH
|
194
|
-
1.
|
220
|
+
2.1.4
|
data/docs/README.md
CHANGED
@@ -37,7 +37,7 @@ This will generate code which will let you start your graphql faster
|
|
37
37
|
```ruby
|
38
38
|
# config/graphql/routes.rb
|
39
39
|
GraphqlRails::Router.draw do
|
40
|
-
# will create createUser, updateUser,
|
40
|
+
# will create createUser, updateUser, destroyUser mutations and user, users queries.
|
41
41
|
# expects that UsersController class exist
|
42
42
|
resources :users
|
43
43
|
|
@@ -109,10 +109,10 @@ GraphqlRails::Router.draw do
|
|
109
109
|
|
110
110
|
# you can use namespaced controllers too:
|
111
111
|
scope module: 'admin' do
|
112
|
-
# `updateTranslations` route will be
|
112
|
+
# `updateTranslations` route will be handled by `Admin::TranslationsController`
|
113
113
|
mutation :updateTranslations, to: 'translations#update'
|
114
114
|
|
115
|
-
# all :groups routes will be
|
115
|
+
# all :groups routes will be handled by `Admin::GroupsController`
|
116
116
|
resources :groups
|
117
117
|
end
|
118
118
|
end
|